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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x1c]
cmp eax, dword [ecx + 8]
jbe 0x46df13
sub esp, 0x9c
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xc], ecx
call fcn.004721c0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x90], edx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x64], ebx
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x68], ebp
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xc0]
mov esi, 0xffffffff
mov dword [esp + 0x2c], esi
mov dword [esp + 0x58], esi
xor edi, edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x78], eax
xor eax, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x38], eax
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xc0]
mov eax, dword [esp + 0x78]
test edi, edi
je 0x46cb52
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.0046b300
mov eax, dword [esp + 0x10]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x84], edx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x40], ebx
mov ebp, dword [esp + 8]
mov dword [esp + 0x8c], ebp
test ebx, ebx
jne 0x46de4f
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xb8]
mov esi, dword [esp + 0xb0]
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xb0], esi
test eax, eax
je 0x46cb67
mov edi, dword [esp + 0x2c]
test edi, edi
jge 0x46ca9f
test eax, 0x100
jne 0x46ddf9
mov dword [esp + 0x2c], edi
mov ecx, dword [esp + 0x58]
test ecx, ecx
jge 0x46cab6
test eax, 0x200
jne 0x46dd52
mov dword [esp + 0x58], ecx
and eax, 0xffff
cmp eax, 0x108
jg 0x46d73b
cmp eax, 0x102
jg 0x46d322
cmp eax, 0x1f
jg 0x46d0fe
cmp eax, 0x15
je 0x46cedc
lea ecx, [eax - 0x16]
cmp ecx, 9
ja 0x46ced1
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x46cec8
mov ecx, dword [esp + 0x34]
cmp ecx, 0x16
jne 0x46cbcb
lea ecx, [ebx + 1]
cmp ecx, ebp
jg 0x46cb83
mov byte [esi + ebx], 0x5a
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x64]
mov edi, dword [esp + 0x30]
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb4], ecx
mov ecx, dword [esp + 0x48]
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x84]
test edi, edi
jne 0x46ca18
mov esi, dword [esp + 0xb0]
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xb8]
mov dword [esp + 0xc4], esi
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], ebp
add esp, 0x9c
ret
lea eax, [0x60ce40]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00437350
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0xb4]
mov edi, dword [esp + 0x2c]
jmp 0x46cb13
cmp ecx, 0x19
je 0x46cb0c
cmp ecx, 0x17
je 0x46cb0c
cmp ecx, 0x18
je 0x46cb0c
cmp ecx, 0x1a
jne 0x46cbf0
jmp 0x46cb0c
mov edx, 0x88888889
imul edx
mov eax, edi
mov edi, dword [esp + 0x44]
add edx, edi
sar edx, 5
mov dword [esp + 0x74], edx
sar edi, 0x1f
mov dword [esp + 0x70], edi
sub edx, edi
mov dword [esp + 0x28], edx
test edx, edx
jge 0x46ce6c
lea edx, [ebx + 1]
cmp edx, ebp
jg 0x46ce27
mov byte [esi + ebx], 0x2d
mov ebx, dword [esp + 0x74]
sub edi, ebx
mov ebx, dword [esp + 0x44]
neg ebx
mov dword [esp + 0x28], edi
mov dword [esp + 0x60], ebx
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov eax, edi
mov ebp, 0x88888889
imul ebp
add edx, edi
sar edx, 5
sar edi, 0x1f
sub edx, edi
mov dword [esp + 0x74], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 2
call fcn.0046c2f0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov dword [esp + 0xb4], edx
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x34]
cmp ebp, 0x19
jne 0x46ce05
lea esi, [edx + 1]
cmp esi, ecx
jg 0x46cdc8
mov byte [ebx + edx], 0x3a
cmp ebp, 0x1d
je 0x46ccae
cmp ebp, 0x18
jne 0x46cd8a
mov dword [esp + 0xb4], esi
cmp ebp, 0x17
je 0x46cce3
cmp ebp, 0x1c
je 0x46cce3
cmp ebp, 0x1f
je 0x46cce3
cmp ebp, 0x1a
je 0x46cce3
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x2c]
mov ebp, ecx
mov ecx, esi
mov esi, ebx
jmp 0x46cb17
cmp ebp, 0x1f
jne 0x46cd7a
lea edx, [esi + 1]
cmp edx, ecx
jg 0x46cd41
mov byte [ebx + esi], 0x3a
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x60]
mov ecx, 0x88888889
imul ecx
mov ebx, dword [esp + 0x60]
add edx, ebx
sar edx, 5
mov ebp, ebx
sar ebx, 0x1f
sub edx, ebx
imul edx, edx, 0x3c
sub ebp, edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], 2
call fcn.0046c2f0
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
jmp 0x46ccc9
lea eax, [0x60ce40]
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.00437350
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov esi, dword [esp + 0xb4]
jmp 0x46ccf3
cmp ebp, 0x1a
je 0x46ccec
mov edx, esi
jmp 0x46ccf7
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x74]
imul eax, eax, 0x3c
mov ecx, dword [esp + 0x28]
sub ecx, eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
call fcn.0046c2f0
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x34]
jmp 0x46ccae
lea eax, [0x60ce40]
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.00437350
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea esi, [eax + 1]
mov edx, dword [esp + 0xb4]
mov ebp, dword [esp + 0x34]
jmp 0x46cc9c
cmp ebp, 0x1e
je 0x46cc91
cmp ebp, 0x1a
je 0x46cc91
cmp ebp, 0x1f
je 0x46cc91
mov esi, edx
jmp 0x46cca0
lea eax, [0x60ce40]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00437350
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0xb4]
mov edi, dword [esp + 0x70]
jmp 0x46cc26
lea edi, [ebx + 1]
cmp edi, ebp
jg 0x46ce86
mov byte [esi + ebx], 0x2b
mov edx, edi
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x44]
jmp 0x46cc36
lea eax, [0x60ce40]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edi
call fcn.00437350
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edi, [eax + 1]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0xb4]
jmp 0x46ce73
mov ecx, dword [esp + 0x34]
jmp 0x46cbf0
mov eax, dword [esp + 0x44]
mov ecx, ebx
jmp 0x46cb17
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x46cf90
lea eax, [ebx + ecx]
mov dword [esp + 0x74], eax
cmp eax, ebp
ja 0x46cf4b
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb8], ebp
cmp eax, ebp
ja 0x46cf44
add ebx, esi
mov dword [esp], ebx
mov ebx, dword [esp + 0x90]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.0044a7d0
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0xb0]
mov ecx, dword [esp + 0x74]
mov ebp, dword [esp + 0xb8]
jmp 0x46cb17
call fcn.004246c0
ud2
lea edx, [0x60ce40]
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
call fcn.00437350
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0xb4]
mov edi, dword [esp + 0x2c]
jmp 0x46cef3
mov eax, dword [esp + 0x44]
mov ecx, 0x88888889
imul ecx
mov eax, edi
mov edi, dword [esp + 0x44]
add edx, edi
sar edx, 5
mov dword [esp + 0x74], edx
sar edi, 0x1f
mov dword [esp + 0x70], edi
sub edx, edi
mov dword [esp + 0x24], edx
test edx, edx
jge 0x46d0a5
lea edx, [ebx + 1]
cmp edx, ebp
jg 0x46d05f
mov byte [esi + ebx], 0x2d
mov ebx, dword [esp + 0x74]
sub edi, ebx
mov dword [esp + 0x24], edi
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov edx, edi
sar edi, 0x1f
mov eax, edx
mov ebp, edx
imul ecx
add edx, ebp
sar edx, 5
sub edx, edi
mov dword [esp + 0x74], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 2
call fcn.0046c2f0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x74]
imul ecx, ecx, 0x3c
mov edx, dword [esp + 0x24]
sub edx, ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 2
call fcn.0046c2f0
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x2c]
jmp 0x46cb17
lea eax, [0x60ce40]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00437350
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x2c]
mov ecx, 0x88888889
mov ebx, dword [esp + 0xb4]
mov edi, dword [esp + 0x70]
jmp 0x46cfca
lea edi, [ebx + 1]
cmp edi, ebp
jg 0x46d0bb
mov byte [esi + ebx], 0x2b
mov edx, edi
mov edi, dword [esp + 0x24]
jmp 0x46cfd4
lea eax, [0x60ce40]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edi
call fcn.00437350
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edi, [eax + 1]
mov eax, dword [esp + 0x2c]
mov ecx, 0x88888889
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0xb4]
jmp 0x46d0ac
lea ecx, [eax - 0x20]
cmp ecx, 1
jbe 0x46d2d2
cmp eax, 0x101
je 0x46d1fa
cmp eax, 0x102
je 0x46d121
jmp 0x46ced1
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.00471f40
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp + 0x98], ecx
cmp eax, 3
jb 0x46d1af
mov eax, dword [esp + 0xb4]
lea edx, [eax + 3]
mov dword [esp + 0x74], edx
mov ebx, dword [esp + 0xb8]
cmp edx, ebx
ja 0x46d1b6
mov ebp, dword [esp + 0xb0]
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xb0], ebp
cmp edx, ebx
ja 0x46d1af
add eax, ebp
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
call fcn.0044a7d0
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0xb0]
mov ecx, dword [esp + 0x74]
mov ebp, dword [esp + 0xb8]
jmp 0x46cb17
call fcn.004246c0
ud2
lea ebp, [0x60ce40]
mov dword [esp], ebp
mov esi, dword [esp + 0xb0]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00437350
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x74]
jmp 0x46d161
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.00471f40
mov eax, dword [esp + 8]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x94], ecx
mov edx, dword [esp + 0xb4]
lea ebx, [eax + edx]
mov dword [esp + 0x74], ebx
mov ebp, dword [esp + 0xb8]
cmp ebx, ebp
ja 0x46d28a
mov esi, dword [esp + 0xb0]
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xb0], esi
cmp ebx, ebp
ja 0x46d283
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044a7d0
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0xb0]
mov ecx, dword [esp + 0x74]
mov ebp, dword [esp + 0xb8]
jmp 0x46cb17
call fcn.004246c0
ud2
lea esi, [0x60ce40]
mov dword [esp], esi
mov edi, dword [esp + 0xb0]
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00437350
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0x74]
jmp 0x46d239
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0xc], ecx
mov ebx, dword [esp + 0x34]
sar ebx, 0x10
mov dword [esp + 0x10], ebx
cmp eax, 0x21
sete al
mov byte [esp + 0x14], al
call fcn.0046c600
mov ebp, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x2c]
jmp 0x46cb17
cmp eax, 0x105
jg 0x46d500
cmp eax, 0x103
je 0x46d4c0
cmp eax, 0x104
jne 0x46d37f
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.0046c2f0
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x2c]
jmp 0x46cb17
mov eax, dword [esp + 0x64]
add eax, 0x15180
mov dword [esp + 0x6c], eax
mov dword [esp], eax
mov ecx, dword [esp + 0x68]
adc ecx, 0
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x93a80
mov dword [esp + 0xc], 0
call fcn.00445120
mov eax, dword [esp + 0x10]
mov ecx, eax
mov eax, 0x93a80
mul ecx
mov ecx, dword [esp + 0x6c]
sub ecx, eax
mov eax, ecx
mov edx, 0xc22e4507
imul edx
lea eax, [edx + ecx]
sar eax, 0x10
sar ecx, 0x1f
sub eax, ecx
cmp eax, 7
jae 0x46d4b9
shl eax, 3
lea ecx, [0x769160]
mov edx, dword [ecx + eax + 4]
mov dword [esp + 0x3c], edx
mov eax, dword [ecx + eax]
mov dword [esp + 0x88], eax
mov ebx, dword [esp + 0xb4]
lea ebp, [ebx + edx]
mov dword [esp + 0x74], ebp
mov esi, dword [esp + 0xb8]
cmp ebp, esi
ja 0x46d46b
mov edi, dword [esp + 0xb0]
mov dword [esp + 0xb0], edi
mov dword [esp + 0xb8], esi
cmp ebp, esi
ja 0x46d464
add ebx, edi
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0044a7d0
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0xb0]
mov ecx, dword [esp + 0x74]
mov ebp, dword [esp + 0xb8]
jmp 0x46cb17
call fcn.004246c0
ud2
lea edi, [0x60ce40]
mov dword [esp], edi
mov ecx, dword [esp + 0xb0]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00437350
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x88]
lea ecx, [0x769160]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0x74]
jmp 0x46d41a
call fcn.00424660
ud2
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.0046c2f0
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x2c]
jmp 0x46cb17
cmp eax, 0x106
je 0x46d5f9
cmp eax, 0x107
je 0x46d5b9
mov eax, dword [esp + 0x5c]
cmp eax, 0xa
jge 0x46d5b2
lea ecx, [ebx + 1]
cmp ecx, ebp
jg 0x46d56a
mov byte [esi + ebx], 0x20
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.0046c2f0
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x2c]
jmp 0x46cb17
lea edx, [0x60ce40]
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00437350
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0xb4]
mov edi, dword [esp + 0x2c]
jmp 0x46d52a
mov ecx, ebx
jmp 0x46d52e
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.0046c2f0
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x2c]
jmp 0x46cb17
mov eax, dword [esp + 0x64]
add eax, 0x15180
mov dword [esp + 0x6c], eax
mov dword [esp], eax
mov ecx, dword [esp + 0x68]
adc ecx, 0
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x93a80
mov dword [esp + 0xc], 0
call fcn.00445120
mov eax, dword [esp + 0x10]
mov ecx, eax
mov eax, 0x93a80
mul ecx
mov ecx, dword [esp + 0x6c]
sub ecx, eax
mov eax, ecx
mov edx, 0xc22e4507
imul edx
lea eax, [edx + ecx]
sar eax, 0x10
sar ecx, 0x1f
sub eax, ecx
cmp eax, 7
jae 0x46d734
shl eax, 3
lea ecx, [0x769160]
mov edx, dword [ecx + eax + 4]
mov eax, dword [ecx + eax]
mov dword [esp + 0x80], eax
cmp edx, 3
jb 0x46d6e3
mov edx, dword [esp + 0xb4]
lea ebx, [edx + 3]
mov dword [esp + 0x74], ebx
mov ebp, dword [esp + 0xb8]
cmp ebx, ebp
ja 0x46d6ea
mov esi, dword [esp + 0xb0]
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb8], ebp
cmp ebx, ebp
ja 0x46d6e3
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 3
call fcn.0044a7d0
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0xb0]
mov ecx, dword [esp + 0x74]
mov ebp, dword [esp + 0xb8]
jmp 0x46cb17
call fcn.004246c0
ud2
lea esi, [0x60ce40]
mov dword [esp], esi
mov edi, dword [esp + 0xb0]
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00437350
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x80]
lea ecx, [0x769160]
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0x74]
jmp 0x46d695
call fcn.00424660
ud2
cmp eax, 0x20c
jg 0x46d96b
cmp eax, 0x112
jg 0x46d84f
cmp eax, 0x109
je 0x46d80f
cmp eax, 0x111
je 0x46d7d3
cmp eax, 0x112
je 0x46d76f
jmp 0x46ced1
test edi, edi
jge 0x46d7cf
mov eax, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov eax, edi
mov ebp, 0x51eb851f
imul ebp
sar edx, 5
mov eax, edi
sar edi, 0x1f
sub edx, edi
imul edx, edx, 0x64
sub eax, edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.0046c2f0
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x2c]
jmp 0x46cb17
mov eax, edi
jmp 0x46d77b
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], 4
call fcn.0046c2f0
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x2c]
jmp 0x46cb17
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.0046c2f0
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x2c]
jmp 0x46cb17
cmp eax, 0x20a
je 0x46d92f
cmp eax, 0x20b
je 0x46d8ce
cmp eax, 0x20c
je 0x46d86d
jmp 0x46ced1
mov eax, ecx
mov edx, 0x2aaaaaab
imul edx
sar edx, 1
mov eax, ecx
sar ecx, 0x1f
sub edx, ecx
lea ecx, [edx + edx*2]
shl ecx, 2
mov edx, eax
sub eax, ecx
test eax, eax
jne 0x46d892
mov eax, 0xc
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.0046c2f0
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x2c]
jmp 0x46cb17
mov eax, ecx
mov edx, 0x2aaaaaab
imul edx
sar edx, 1
mov eax, ecx
sar ecx, 0x1f
sub edx, ecx
lea ecx, [edx + edx*2]
shl ecx, 2
mov edx, eax
sub eax, ecx
test eax, eax
jne 0x46d8f3
mov eax, 0xc
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.0046c2f0
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x2c]
jmp 0x46cb17
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
call fcn.0046c2f0
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x2c]
jmp 0x46cb17
cmp eax, 0x20f
jle 0x46dc80
cmp eax, 0x210
je 0x46dc40
cmp eax, 0x213
je 0x46daec
cmp eax, 0x214
je 0x46d998
jmp 0x46ced1
cmp ecx, 0xc
jl 0x46da50
lea eax, [ebx + 2]
mov dword [esp + 0x74], eax
cmp eax, ebp
ja 0x46da0b
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xb0], esi
cmp eax, ebp
ja 0x46da04
add ebx, esi
mov dword [esp], ebx
lea ebx, [0x64ad66]
mov dword [esp + 4], ebx
mov dword [esp + 8], 2
call fcn.0044a7d0
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0xb0]
mov edi, dword [esp + 0x2c]
mov esi, edx
mov ebp, eax
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
jmp 0x46cb17
call fcn.004246c0
ud2
lea ecx, [0x60ce40]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
call fcn.00437350
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0xb4]
mov edi, dword [esp + 0x2c]
jmp 0x46d9ac
lea eax, [ebx + 2]
mov dword [esp + 0x74], eax
cmp eax, ebp
ja 0x46daa7
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb8], ebp
cmp eax, ebp
ja 0x46daa0
add ebx, esi
mov dword [esp], ebx
lea ebx, [0x64ad44]
mov dword [esp + 4], ebx
mov dword [esp + 8], 2
call fcn.0044a7d0
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0xb0]
jmp 0x46d9ec
call fcn.004246c0
ud2
lea ecx, [0x60ce40]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
call fcn.00437350
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0xb4]
mov edi, dword [esp + 0x2c]
jmp 0x46da5b
cmp ecx, 0xc
jl 0x46dba4
lea eax, [ebx + 2]
mov dword [esp + 0x74], eax
cmp eax, ebp
ja 0x46db5f
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb8], ebp
cmp eax, ebp
ja 0x46db58
add ebx, esi
mov dword [esp], ebx
lea ebx, [0x64ace4]
mov dword [esp + 4], ebx
mov dword [esp + 8], 2
call fcn.0044a7d0
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0xb8]
mov edi, dword [esp + 0x2c]
mov esi, eax
mov ebp, edx
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
jmp 0x46cb17
call fcn.004246c0
ud2
lea ecx, [0x60ce40]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
call fcn.00437350
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0xb4]
mov edi, dword [esp + 0x2c]
jmp 0x46db00
lea eax, [ebx + 2]
mov dword [esp + 0x74], eax
cmp eax, ebp
ja 0x46dbfb
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xb0], esi
cmp eax, ebp
ja 0x46dbf4
add ebx, esi
mov dword [esp], ebx
lea ebx, [0x64acbc]
mov dword [esp + 4], ebx
mov dword [esp + 8], 2
call fcn.0044a7d0
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0xb8]
jmp 0x46db40
call fcn.004246c0
ud2
lea ecx, [0x60ce40]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
call fcn.00437350
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0xb4]
mov edi, dword [esp + 0x2c]
jmp 0x46dbaf
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.0046c2f0
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x2c]
jmp 0x46cb17
cmp eax, 0x20d
je 0x46dd12
cmp eax, 0x20e
jne 0x46dcd2
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.0046c2f0
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x2c]
jmp 0x46cb17
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.0046c2f0
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x2c]
jmp 0x46cb17
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.0046c2f0
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x2c]
jmp 0x46cb17
mov ecx, dword [esp + 0x64]
mov dword [esp], ecx
mov edx, dword [esp + 0x68]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x15180
mov dword [esp + 0xc], 0
call fcn.00445120
mov eax, dword [esp + 0x10]
mov ecx, eax
mov eax, 0x15180
mul ecx
mov ecx, dword [esp + 0x64]
sub ecx, eax
mov eax, ecx
mov ebx, 0x91a2b3c5
imul ebx
lea eax, [edx + ecx]
sar eax, 0xb
mov edx, ecx
sar ecx, 0x1f
sub eax, ecx
mov ecx, eax
imul eax, eax, 0xe10
sub edx, eax
mov eax, edx
mov esi, 0x88888889
mov edi, edx
imul esi
lea eax, [edi + edx]
sar eax, 5
mov edx, edi
sar edi, 0x1f
sub eax, edi
mov edi, eax
imul eax, eax, 0x3c
sub edx, eax
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xb8]
mov esi, dword [esp + 0xb0]
mov dword [esp + 0x50], edi
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x2c]
jmp 0x46cab6
mov edi, dword [esp + 0x64]
mov dword [esp], edi
mov edi, dword [esp + 0x68]
mov dword [esp + 4], edi
mov byte [esp + 8], 1
call fcn.004730f0
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xb8]
mov esi, dword [esp + 0xb0]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x5c], ecx
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
jmp 0x46ca9f
mov esi, dword [esp + 0xb4]
lea edi, [ebx + esi]
mov dword [esp + 0x74], edi
mov ecx, dword [esp + 0xb8]
cmp edi, ecx
ja 0x46deb9
mov dword [esp + 0xb8], ecx
cmp edi, ecx
ja 0x46deb2
mov edx, dword [esp + 0xb0]
add esi, edx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.0044a7d0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0xb8]
mov esi, dword [esp + 0xb0]
jmp 0x46ca6f
call fcn.004246c0
ud2
lea edx, [0x60ce40]
mov dword [esp], edx
mov edx, dword [esp + 0xb0]
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edi
call fcn.00437350
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0x74]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x34]
jmp 0x46de68
call fcn.00448420
jmp fcn.0046c950