Function at 0x46a620
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x5c]
cmp eax, dword [ecx + 8]
jbe 0x46bb1a
sub esp, 0xdc
mov eax, 0
lea edi, [esp + 0xc8]
call fcn.0044b77b
mov edi, esp
lea esi, [esp + 0xe0]
call fcn.0044bc5e
call fcn.00470d70
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x6c], edx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], ebx
mov ebp, dword [esp + 0x14]
mov dword [esp + 0xb8], ebp
mov esi, dword [esp + 0x100]
mov edi, dword [esp + 0x104]
mov esi, 0xffffffff
mov dword [esp + 0x30], esi
mov edi, 0xffffffff
mov dword [esp + 0x60], edi
xor edi, edi
mov dword [esp + 0x54], edi
xor esi, esi
mov dword [esp + 0x64], esi
xor esi, esi
mov dword [esp + 0x58], esi
xor esi, esi
mov dword [esp + 0x44], esi
mov esi, dword [esp + 0x100]
mov edi, dword [esp + 0x104]
jmp 0x46a712
mov edx, dword [esp + 0x6c]
mov ebp, dword [esp + 0xb8]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x30], edx
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], esi
mov dword [esp + 0xf4], ecx
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0xac]
mov edx, dword [esp + 0x6c]
test edi, edi
je 0x46baba
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.00468f00
mov eax, dword [esp + 0x10]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x38], ebx
mov ebp, dword [esp + 0x14]
mov dword [esp + 0xac], ebp
test ecx, ecx
jne 0x46b9e4
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
test eax, eax
je 0x46b9c8
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xa8], edx
mov dword [esp + 0xa4], esi
mov edi, ebx
mov ebx, dword [esp + 0x30]
test ebx, ebx
jge 0x46a798
test eax, 0x100
jne 0x46b972
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x60]
test ebx, ebx
jge 0x46a7af
test eax, 0x200
jne 0x46b8e0
mov dword [esp + 0x60], ebx
and eax, 0xffff
cmp eax, 0x108
jg 0x46b3c0
cmp eax, 0x102
jg 0x46affe
cmp eax, 0x1f
jg 0x46adc6
cmp eax, 0x15
je 0x46ab82
lea ebx, [eax - 0x16]
cmp ebx, 9
ja 0x46ab77
mov ebx, dword [esp + 0x68]
test ebx, ebx
jne 0x46ab6c
mov eax, ebx
mov ebx, dword [esp + 0x3c]
cmp ebx, 0x16
jne 0x46a858
lea ebx, [edx + 1]
cmp ebx, esi
jg 0x46a813
mov byte [ecx + edx], 0x5a
jmp 0x46a6d7
lea eax, [0x5dfee0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00437c50
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0xa8]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x38]
jmp 0x46a80a
cmp ebx, 0x19
je 0x46a803
cmp ebx, 0x17
je 0x46a803
cmp ebx, 0x18
je 0x46a803
cmp ebx, 0x1a
je 0x46a803
mov eax, 0x88888889
mov ebp, dword [esp + 0x68]
imul ebp
add edx, ebp
mov eax, ebp
sar ebp, 0x1f
sar edx, 5
mov dword [esp + 0xa0], edx
sub edx, ebp
test edx, edx
jge 0x46ab07
mov edx, dword [esp + 0xa8]
lea edi, [edx + 1]
cmp edi, esi
jg 0x46aab8
mov byte [ecx + edx], 0x2d
mov edx, dword [esp + 0xa0]
sub ebp, edx
neg eax
mov dword [esp + 0x28], ebp
mov dword [esp + 0xa0], eax
mov eax, 0x88888889
imul ebp
add edx, ebp
sar edx, 5
sar ebp, 0x1f
sub edx, ebp
mov dword [esp + 0x9c], edx
mov dword [esp + 0xc], edx
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0x10], 2
call fcn.00469c90
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x3c]
cmp ebp, 0x19
jne 0x46aa96
lea esi, [edx + 1]
cmp esi, ecx
jg 0x46aa52
mov byte [ebx + edx], 0x3a
cmp ebp, 0x1d
je 0x46a928
cmp ebp, 0x18
jne 0x46aa11
cmp ebp, 0x17
je 0x46a958
cmp ebp, 0x1c
je 0x46a958
cmp ebp, 0x1f
je 0x46a958
cmp ebp, 0x1a
je 0x46a958
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x38]
mov edx, ecx
mov ecx, ebx
mov ebx, esi
mov esi, edx
jmp 0x46a6d7
cmp ebp, 0x1f
jne 0x46aa01
lea edx, [esi + 1]
cmp edx, ecx
jg 0x46a9c1
mov byte [ebx + esi], 0x3a
mov eax, dword [esp + 0xa0]
mov ebp, 0x88888889
mov esi, edx
imul ebp
mov edi, dword [esp + 0xa0]
add edx, edi
mov eax, edi
sar edi, 0x1f
sar edx, 5
sub edx, edi
imul edx, edx, 0x3c
sub eax, edx
mov dword [esp + 0xc], eax
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0x10], 2
call fcn.00469c90
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
jmp 0x46a93c
mov dword [esp + 0x98], esi
lea eax, [0x5dfee0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.00437c50
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov esi, dword [esp + 0x98]
jmp 0x46a968
cmp ebp, 0x1a
je 0x46a961
mov edx, esi
jmp 0x46a96c
mov eax, dword [esp + 0x9c]
imul eax, eax, 0x3c
mov edx, dword [esp + 0x28]
sub edx, eax
mov dword [esp + 0xc], edx
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0x10], 2
call fcn.00469c90
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x3c]
jmp 0x46a928
mov dword [esp + 0x94], edx
lea eax, [0x5dfee0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
call fcn.00437c50
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea esi, [eax + 1]
mov edx, dword [esp + 0x94]
mov ebp, dword [esp + 0x3c]
jmp 0x46a916
cmp ebp, 0x1e
je 0x46a90b
cmp ebp, 0x1a
je 0x46a90b
cmp ebp, 0x1f
je 0x46a90b
mov esi, edx
jmp 0x46a91a
mov dword [esp + 0x9c], ebp
lea eax, [0x5dfee0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
call fcn.00437c50
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea edi, [eax + 1]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x9c]
jmp 0x46a8a4
mov ebp, dword [esp + 0xa8]
lea edi, [ebp + 1]
cmp edi, esi
jg 0x46ab20
mov byte [ecx + ebp], 0x2b
mov ebp, edx
jmp 0x46a8b3
mov dword [esp + 0x90], edx
lea eax, [0x5dfee0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
call fcn.00437c50
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea edi, [eax + 1]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0xa8]
jmp 0x46ab15
mov eax, ebx
mov ebx, dword [esp + 0x3c]
jmp 0x46a86c
mov eax, dword [esp + 0x68]
mov ebx, edx
jmp 0x46a6d7
mov ebx, dword [esp + 0x50]
test ebx, ebx
je 0x46ac3d
lea eax, [ebx + edx]
mov dword [esp + 0xf8], eax
cmp eax, esi
ja 0x46abf5
cmp eax, esi
ja 0x46bad4
mov dword [esp + 0xfc], esi
mov dword [esp + 0xf4], ecx
lea eax, [ecx + edx]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.0044be80
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0xf4]
mov ebx, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
jmp 0x46a6d7
lea ebx, [0x5dfee0]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], eax
call fcn.00437c50
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xf8]
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x38]
jmp 0x46ab9c
mov eax, 0x88888889
mov ebx, dword [esp + 0x68]
imul ebx
add edx, ebx
mov eax, ebx
sar ebx, 0x1f
sar edx, 5
mov dword [esp + 0xa0], edx
sub edx, ebx
test edx, edx
jge 0x46ad61
mov edx, dword [esp + 0xa8]
lea ebp, [edx + 1]
cmp ebp, esi
jg 0x46ad12
mov byte [ecx + edx], 0x2d
mov edx, dword [esp + 0xa0]
sub ebx, edx
mov dword [esp + 0x2c], ebx
mov eax, 0x88888889
imul ebx
add edx, ebx
sar ebx, 0x1f
sar edx, 5
sub edx, ebx
mov dword [esp + 0xa0], edx
mov dword [esp + 0xc], edx
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0x10], 2
call fcn.00469c90
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0xa0]
imul ebp, ebp, 0x3c
mov esi, dword [esp + 0x2c]
sub esi, ebp
mov dword [esp + 0xc], esi
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0x10], 2
call fcn.00469c90
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x38]
jmp 0x46a6d7
mov dword [esp + 0x9c], ebx
lea eax, [0x5dfee0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00437c50
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x9c]
mov edi, dword [esp + 0x38]
jmp 0x46ac75
mov ebx, dword [esp + 0xa8]
lea ebp, [ebx + 1]
cmp ebp, esi
jg 0x46ad7a
mov byte [ecx + ebx], 0x2b
mov ebx, edx
jmp 0x46ac82
mov dword [esp + 0x8c], edx
lea eax, [0x5dfee0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00437c50
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0xa8]
mov edi, dword [esp + 0x38]
jmp 0x46ad6f
lea ebx, [eax - 0x20]
cmp ebx, 1
jbe 0x46af8c
cmp eax, 0x101
je 0x46aeae
cmp eax, 0x102
jne 0x46ab77
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.004709f0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
cmp eax, 3
jb 0x46bb0c
mov eax, dword [esp + 0xa8]
lea edx, [eax + 3]
mov ebx, dword [esp + 0xa4]
cmp edx, ebx
ja 0x46ae59
mov ebp, dword [esp + 0xc4]
cmp edx, ebx
ja 0x46bb0c
mov esi, edx
movzx edx, word [ecx]
mov edi, edx
movzx edx, byte [ecx + 2]
mov word [ebp + eax], di
mov byte [ebp + eax + 2], dl
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x38]
mov ecx, ebp
mov ebp, dword [esp + 0xac]
mov edx, ebx
mov ebx, esi
mov esi, edx
jmp 0x46a6d7
mov dword [esp + 0x88], edx
mov dword [esp + 0xc0], ecx
lea ecx, [0x5dfee0]
mov dword [esp], ecx
mov ebp, dword [esp + 0xc4]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00437c50
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x88]
jmp 0x46ae21
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.004709f0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xa8]
lea ebx, [edx + eax]
mov dword [esp + 0xf8], ebx
mov ebp, dword [esp + 0xa4]
cmp ebx, ebp
ja 0x46af36
mov esi, dword [esp + 0xc4]
cmp ebx, ebp
ja 0x46bb05
mov dword [esp + 0xfc], ebp
mov dword [esp + 0xf4], esi
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044be80
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0xf4]
mov ebx, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
jmp 0x46a6d7
mov dword [esp + 0x5c], eax
mov dword [esp + 0xbc], ecx
lea eax, [0x5dfee0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00437c50
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0xf8]
jmp 0x46aee5
lea edi, [esp + 0xc8]
mov ebx, esi
lea esi, [esp + 0xe0]
call fcn.0044bc5e
mov ecx, dword [esp + 0xc8]
mov ebp, dword [esp + 0xc4]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
and ecx, 0x3fffffff
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x3c]
sar ecx, 0x10
mov dword [esp + 0x10], ecx
cmp eax, 0x21
sete al
mov byte [esp + 0x14], al
call fcn.00469fb0
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x38]
jmp 0x46a6d7
cmp eax, 0x105
jg 0x46b1c0
cmp eax, 0x103
je 0x46b180
cmp eax, 0x104
jne 0x46b05b
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.00469c90
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x38]
jmp 0x46a6d7
mov eax, dword [esp + 0x6c]
add eax, 0x15180
mov dword [esp], eax
mov eax, dword [esp + 0x70]
adc eax, 0
mov dword [esp + 4], eax
mov dword [esp + 8], 0x93a80
mov dword [esp + 0xc], 0
call fcn.00447220
mov eax, dword [esp + 0x10]
mov dword [esp + 0x40], eax
mov ecx, 0xc22e4507
imul ecx
mov eax, dword [esp + 0x40]
mov ebx, eax
sar eax, 0x1f
add edx, ebx
sar edx, 0x10
sub edx, eax
mov dword [esp], edx
call fcn.00470af0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xa8]
lea ebx, [eax + edx]
mov dword [esp + 0xf8], ebx
mov ebp, dword [esp + 0xa4]
cmp ebx, ebp
ja 0x46b12a
mov esi, dword [esp + 0xc4]
cmp ebx, ebp
ja 0x46baf7
mov dword [esp + 0xfc], ebp
mov dword [esp + 0xf4], esi
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044be80
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0xf4]
mov ebx, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
jmp 0x46a6d7
mov dword [esp + 0x48], eax
mov dword [esp + 0xb0], ecx
lea eax, [0x5dfee0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00437c50
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0xf8]
jmp 0x46b0d9
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.00469c90
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x38]
jmp 0x46a6d7
cmp eax, 0x106
je 0x46b2b9
cmp eax, 0x107
je 0x46b279
mov eax, dword [esp + 0x64]
cmp eax, 0xa
jge 0x46b272
lea ebx, [edx + 1]
cmp ebx, esi
jg 0x46b22a
mov byte [ecx + edx], 0x20
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.00469c90
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x38]
jmp 0x46a6d7
lea eax, [0x5dfee0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00437c50
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0xa8]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x38]
jmp 0x46b1ea
mov ebx, edx
jmp 0x46b1ee
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.00469c90
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x38]
jmp 0x46a6d7
mov eax, dword [esp + 0x6c]
add eax, 0x15180
mov dword [esp], eax
mov eax, dword [esp + 0x70]
adc eax, 0
mov dword [esp + 4], eax
mov dword [esp + 8], 0x93a80
mov dword [esp + 0xc], 0
call fcn.00447220
mov eax, dword [esp + 0x10]
mov ecx, eax
mov eax, 0xc22e4507
imul ecx
mov eax, ecx
sar ecx, 0x1f
add eax, edx
sar eax, 0x10
sub eax, ecx
mov dword [esp], eax
call fcn.00470af0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
cmp eax, 3
jb 0x46bafe
mov eax, dword [esp + 0xa8]
lea edx, [eax + 3]
mov ebx, dword [esp + 0xa4]
cmp edx, ebx
ja 0x46b36b
mov ebp, dword [esp + 0xc4]
cmp edx, ebx
ja 0x46bafe
mov esi, edx
movzx edx, word [ecx]
mov edi, edx
movzx edx, byte [ecx + 2]
mov word [ebp + eax], di
mov byte [ebp + eax + 2], dl
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x38]
mov ecx, ebp
mov ebp, dword [esp + 0xac]
mov edx, ebx
mov ebx, esi
mov esi, edx
jmp 0x46a6d7
mov dword [esp + 0x84], edx
mov dword [esp + 0xc0], ecx
lea ecx, [0x5dfee0]
mov dword [esp], ecx
mov ebp, dword [esp + 0xc4]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00437c50
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x84]
jmp 0x46b333
cmp eax, 0x20c
jg 0x46b5f8
cmp eax, 0x112
jg 0x46b4d1
cmp eax, 0x109
je 0x46b491
cmp eax, 0x111
je 0x46b451
cmp eax, 0x112
jne 0x46ab77
mov ebx, dword [esp + 0x34]
test ebx, ebx
jge 0x46b3fd
neg ebx
mov eax, 0x51eb851f
mov ebp, edx
imul ebx
mov edi, ebx
sar ebx, 0x1f
sar edx, 5
sub edx, ebx
imul edx, edx, 0x64
sub edi, edx
mov dword [esp + 0xc], edi
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0x10], 2
call fcn.00469c90
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x38]
jmp 0x46a6d7
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 4
call fcn.00469c90
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x38]
jmp 0x46a6d7
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.00469c90
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x38]
jmp 0x46a6d7
cmp eax, 0x20a
je 0x46b5bc
cmp eax, 0x20b
je 0x46b555
cmp eax, 0x20c
jne 0x46ab77
mov eax, 0xaaaaaaab
imul ebx
add edx, ebx
sar edx, 3
mov eax, ebx
sar ebx, 0x1f
sub edx, ebx
lea edx, [edx + edx*2]
shl edx, 2
sub eax, edx
test eax, eax
jne 0x46b512
mov eax, 0xc
mov dword [esp], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.00469c90
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x38]
jmp 0x46a6d7
mov eax, 0xaaaaaaab
imul ebx
add edx, ebx
mov eax, ebx
sar ebx, 0x1f
sar edx, 3
sub edx, ebx
lea edx, [edx + edx*2]
shl edx, 2
sub eax, edx
test eax, eax
jne 0x46b579
mov eax, 0xc
mov dword [esp], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.00469c90
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x38]
jmp 0x46a6d7
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 2
call fcn.00469c90
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x38]
jmp 0x46a6d7
cmp eax, 0x20f
jle 0x46b80e
cmp eax, 0x210
je 0x46b7ce
cmp eax, 0x213
jne 0x46b6f1
cmp ebx, 0xc
jl 0x46b68f
lea eax, [edx + 2]
cmp eax, esi
ja 0x46b643
cmp eax, esi
ja 0x46baf0
movzx ebx, word [0x61c224]
mov word [ecx + edx], bx
mov ebx, eax
mov eax, dword [esp + 0x68]
jmp 0x46a6d7
mov dword [esp + 0x80], eax
lea ebx, [0x5dfee0]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], eax
call fcn.00437c50
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x38]
jmp 0x46b625
lea eax, [edx + 2]
cmp eax, esi
ja 0x46b6ab
cmp eax, esi
ja 0x46bae9
movzx ebx, word [0x61c1fe]
mov word [ecx + edx], bx
jmp 0x46b638
mov dword [esp + 0x7c], eax
lea ebx, [0x5dfee0]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], eax
call fcn.00437c50
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x38]
jmp 0x46b696
cmp eax, 0x214
jne 0x46ab77
cmp ebx, 0xc
jl 0x46b76c
lea eax, [edx + 2]
cmp eax, esi
ja 0x46b726
cmp eax, esi
ja 0x46bae2
movzx ebx, word [0x61c282]
mov word [ecx + edx], bx
mov ebx, eax
mov eax, dword [esp + 0x68]
jmp 0x46a6d7
mov dword [esp + 0x78], eax
lea ebx, [0x5dfee0]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], eax
call fcn.00437c50
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x38]
jmp 0x46b708
lea eax, [edx + 2]
cmp eax, esi
ja 0x46b788
cmp eax, esi
ja 0x46badb
movzx ebx, word [0x61c276]
mov word [ecx + edx], bx
jmp 0x46b71b
mov dword [esp + 0x74], eax
lea ebx, [0x5dfee0]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], eax
call fcn.00437c50
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x38]
jmp 0x46b773
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.00469c90
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x38]
jmp 0x46a6d7
cmp eax, 0x20d
je 0x46b8a0
cmp eax, 0x20e
jne 0x46b860
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.00469c90
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x38]
jmp 0x46a6d7
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.00469c90
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x38]
jmp 0x46a6d7
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.00469c90
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x38]
jmp 0x46a6d7
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x15180
mov dword [esp + 0xc], 0
call fcn.00447220
mov eax, dword [esp + 0x10]
mov ecx, eax
mov eax, 0x91a2b3c5
imul ecx
lea ebx, [edx + ecx]
mov eax, ecx
sar ecx, 0x1f
sar ebx, 0xb
sub ebx, ecx
imul ecx, ebx, 0xe10
sub eax, ecx
mov ecx, eax
mov eax, 0x88888889
imul ecx
lea eax, [ecx + edx]
mov edx, ecx
sar ecx, 0x1f
sar eax, 5
sub eax, ecx
imul ecx, eax, 0x3c
sub edx, ecx
mov ecx, dword [esp + 0xc4]
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0xa4]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x58], eax
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0xa8]
jmp 0x46a7af
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov byte [esp + 8], 1
call fcn.00471ef0
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xa8]
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0xa4]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x54], eax
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0xc4]
jmp 0x46a798
mov dword [esp + 0x108], ecx
mov dword [esp + 0x10c], edx
mov dword [esp + 0x110], esi
add esp, 0xdc
ret
mov esi, dword [esp + 0xf8]
lea edi, [ecx + esi]
mov dword [esp + 0xa0], edi
mov ebx, dword [esp + 0xfc]
cmp edi, ebx
ja 0x46ba52
cmp edi, ebx
ja 0x46bb13
mov dword [esp + 0xfc], ebx
mov eax, dword [esp + 0xf4]
lea ebx, [eax + esi]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0044be80
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0xac]
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0xa0]
mov esi, dword [esp + 0xfc]
jmp 0x46a766
mov dword [esp + 0x4c], ecx
mov dword [esp + 0xb4], edx
lea eax, [0x5dfee0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edi
call fcn.00437c50
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0xa0]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x3c]
jmp 0x46ba00
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
jmp 0x46b9c8
call fcn.004259a0
ud2
call fcn.004259a0
ud2
call fcn.004259a0
ud2
call fcn.004259a0
ud2
call fcn.004259a0
ud2
call fcn.004259a0
ud2
call fcn.004259a0
ud2
call fcn.004259a0
ud2
call fcn.004259a0
ud2
call fcn.004259a0
ud2
call fcn.00449f20
jmp fcn.0046a620