Function at 0x46c6e0
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 0x46dca3
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.00472c60
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 0x46c8e2
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.0046b090
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 0x46dbdf
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 0x46c8f7
mov edi, dword [esp + 0x2c]
test edi, edi
jge 0x46c82f
test eax, 0x100
jne 0x46db89
mov dword [esp + 0x2c], edi
mov ecx, dword [esp + 0x58]
test ecx, ecx
jge 0x46c846
test eax, 0x200
jne 0x46dae2
mov dword [esp + 0x58], ecx
and eax, 0xffff
cmp eax, 0x108
jg 0x46d4cb
cmp eax, 0x102
jg 0x46d0b2
cmp eax, 0x1f
jg 0x46ce8e
cmp eax, 0x15
je 0x46cc6c
lea ecx, [eax - 0x16]
cmp ecx, 9
ja 0x46cc61
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x46cc58
mov ecx, dword [esp + 0x34]
cmp ecx, 0x16
jne 0x46c95b
lea ecx, [ebx + 1]
cmp ecx, ebp
jg 0x46c913
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 0x46c7a8
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, [0x6b4b60]
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.00437660
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 0x46c8a3
cmp ecx, 0x19
je 0x46c89c
cmp ecx, 0x17
je 0x46c89c
cmp ecx, 0x18
je 0x46c89c
cmp ecx, 0x1a
jne 0x46c980
jmp 0x46c89c
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 0x46cbfc
lea edx, [ebx + 1]
cmp edx, ebp
jg 0x46cbb7
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.0046c080
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 0x46cb95
lea esi, [edx + 1]
cmp esi, ecx
jg 0x46cb58
mov byte [ebx + edx], 0x3a
cmp ebp, 0x1d
je 0x46ca3e
cmp ebp, 0x18
jne 0x46cb1a
mov dword [esp + 0xb4], esi
cmp ebp, 0x17
je 0x46ca73
cmp ebp, 0x1c
je 0x46ca73
cmp ebp, 0x1f
je 0x46ca73
cmp ebp, 0x1a
je 0x46ca73
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 0x46c8a7
cmp ebp, 0x1f
jne 0x46cb0a
lea edx, [esi + 1]
cmp edx, ecx
jg 0x46cad1
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.0046c080
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
jmp 0x46ca59
lea eax, [0x6b4b60]
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.00437660
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 0x46ca83
cmp ebp, 0x1a
je 0x46ca7c
mov edx, esi
jmp 0x46ca87
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.0046c080
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x34]
jmp 0x46ca3e
lea eax, [0x6b4b60]
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.00437660
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 0x46ca2c
cmp ebp, 0x1e
je 0x46ca21
cmp ebp, 0x1a
je 0x46ca21
cmp ebp, 0x1f
je 0x46ca21
mov esi, edx
jmp 0x46ca30
lea eax, [0x6b4b60]
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.00437660
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 0x46c9b6
lea edi, [ebx + 1]
cmp edi, ebp
jg 0x46cc16
mov byte [esi + ebx], 0x2b
mov edx, edi
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x44]
jmp 0x46c9c6
lea eax, [0x6b4b60]
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.00437660
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 0x46cc03
mov ecx, dword [esp + 0x34]
jmp 0x46c980
mov eax, dword [esp + 0x44]
mov ecx, ebx
jmp 0x46c8a7
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x46cd20
lea eax, [ebx + ecx]
mov dword [esp + 0x74], eax
cmp eax, ebp
ja 0x46ccdb
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb8], ebp
cmp eax, ebp
ja 0x46ccd4
add ebx, esi
mov dword [esp], ebx
mov ebx, dword [esp + 0x90]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.0044aa80
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 0x46c8a7
call fcn.004246e0
ud2
lea edx, [0x6b4b60]
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.00437660
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 0x46cc83
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 0x46ce35
lea edx, [ebx + 1]
cmp edx, ebp
jg 0x46cdef
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.0046c080
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.0046c080
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 0x46c8a7
lea eax, [0x6b4b60]
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.00437660
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 0x46cd5a
lea edi, [ebx + 1]
cmp edi, ebp
jg 0x46ce4b
mov byte [esi + ebx], 0x2b
mov edx, edi
mov edi, dword [esp + 0x24]
jmp 0x46cd64
lea eax, [0x6b4b60]
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.00437660
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 0x46ce3c
lea ecx, [eax - 0x20]
cmp ecx, 1
jbe 0x46d062
cmp eax, 0x101
je 0x46cf8a
cmp eax, 0x102
je 0x46ceb1
jmp 0x46cc61
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.004729e0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp + 0x98], ecx
cmp eax, 3
jb 0x46cf3f
mov eax, dword [esp + 0xb4]
lea edx, [eax + 3]
mov dword [esp + 0x74], edx
mov ebx, dword [esp + 0xb8]
cmp edx, ebx
ja 0x46cf46
mov ebp, dword [esp + 0xb0]
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xb0], ebp
cmp edx, ebx
ja 0x46cf3f
add eax, ebp
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
call fcn.0044aa80
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 0x46c8a7
call fcn.004246e0
ud2
lea ebp, [0x6b4b60]
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.00437660
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 0x46cef1
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.004729e0
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 0x46d01a
mov esi, dword [esp + 0xb0]
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xb0], esi
cmp ebx, ebp
ja 0x46d013
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044aa80
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 0x46c8a7
call fcn.004246e0
ud2
lea esi, [0x6b4b60]
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.00437660
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 0x46cfc9
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.0046c390
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 0x46c8a7
cmp eax, 0x105
jg 0x46d290
cmp eax, 0x103
je 0x46d250
cmp eax, 0x104
jne 0x46d10f
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.0046c080
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 0x46c8a7
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.004453b0
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 0x46d249
shl eax, 3
lea ecx, [0x870ea0]
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 0x46d1fb
mov edi, dword [esp + 0xb0]
mov dword [esp + 0xb0], edi
mov dword [esp + 0xb8], esi
cmp ebp, esi
ja 0x46d1f4
add ebx, edi
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0044aa80
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 0x46c8a7
call fcn.004246e0
ud2
lea edi, [0x6b4b60]
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.00437660
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x88]
lea ecx, [0x870ea0]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0x74]
jmp 0x46d1aa
call fcn.00424680
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.0046c080
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 0x46c8a7
cmp eax, 0x106
je 0x46d389
cmp eax, 0x107
je 0x46d349
mov eax, dword [esp + 0x5c]
cmp eax, 0xa
jge 0x46d342
lea ecx, [ebx + 1]
cmp ecx, ebp
jg 0x46d2fa
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.0046c080
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 0x46c8a7
lea edx, [0x6b4b60]
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.00437660
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 0x46d2ba
mov ecx, ebx
jmp 0x46d2be
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.0046c080
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 0x46c8a7
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.004453b0
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 0x46d4c4
shl eax, 3
lea ecx, [0x870ea0]
mov edx, dword [ecx + eax + 4]
mov eax, dword [ecx + eax]
mov dword [esp + 0x80], eax
cmp edx, 3
jb 0x46d473
mov edx, dword [esp + 0xb4]
lea ebx, [edx + 3]
mov dword [esp + 0x74], ebx
mov ebp, dword [esp + 0xb8]
cmp ebx, ebp
ja 0x46d47a
mov esi, dword [esp + 0xb0]
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb8], ebp
cmp ebx, ebp
ja 0x46d473
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 3
call fcn.0044aa80
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 0x46c8a7
call fcn.004246e0
ud2
lea esi, [0x6b4b60]
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.00437660
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x80]
lea ecx, [0x870ea0]
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0x74]
jmp 0x46d425
call fcn.00424680
ud2
cmp eax, 0x20c
jg 0x46d6fb
cmp eax, 0x112
jg 0x46d5df
cmp eax, 0x109
je 0x46d59f
cmp eax, 0x111
je 0x46d563
cmp eax, 0x112
je 0x46d4ff
jmp 0x46cc61
test edi, edi
jge 0x46d55f
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.0046c080
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 0x46c8a7
mov eax, edi
jmp 0x46d50b
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.0046c080
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 0x46c8a7
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.0046c080
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 0x46c8a7
cmp eax, 0x20a
je 0x46d6bf
cmp eax, 0x20b
je 0x46d65e
cmp eax, 0x20c
je 0x46d5fd
jmp 0x46cc61
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 0x46d622
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.0046c080
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 0x46c8a7
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 0x46d683
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.0046c080
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 0x46c8a7
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.0046c080
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 0x46c8a7
cmp eax, 0x20f
jle 0x46da10
cmp eax, 0x210
je 0x46d9d0
cmp eax, 0x213
je 0x46d87c
cmp eax, 0x214
je 0x46d728
jmp 0x46cc61
cmp ecx, 0xc
jl 0x46d7e0
lea eax, [ebx + 2]
mov dword [esp + 0x74], eax
cmp eax, ebp
ja 0x46d79b
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xb0], esi
cmp eax, ebp
ja 0x46d794
add ebx, esi
mov dword [esp], ebx
lea ebx, [0x70416b]
mov dword [esp + 4], ebx
mov dword [esp + 8], 2
call fcn.0044aa80
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 0x46c8a7
call fcn.004246e0
ud2
lea ecx, [0x6b4b60]
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.00437660
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 0x46d73c
lea eax, [ebx + 2]
mov dword [esp + 0x74], eax
cmp eax, ebp
ja 0x46d837
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb8], ebp
cmp eax, ebp
ja 0x46d830
add ebx, esi
mov dword [esp], ebx
lea ebx, [0x704135]
mov dword [esp + 4], ebx
mov dword [esp + 8], 2
call fcn.0044aa80
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0xb0]
jmp 0x46d77c
call fcn.004246e0
ud2
lea ecx, [0x6b4b60]
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.00437660
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 0x46d7eb
cmp ecx, 0xc
jl 0x46d934
lea eax, [ebx + 2]
mov dword [esp + 0x74], eax
cmp eax, ebp
ja 0x46d8ef
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb8], ebp
cmp eax, ebp
ja 0x46d8e8
add ebx, esi
mov dword [esp], ebx
lea ebx, [0x7040cb]
mov dword [esp + 4], ebx
mov dword [esp + 8], 2
call fcn.0044aa80
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 0x46c8a7
call fcn.004246e0
ud2
lea ecx, [0x6b4b60]
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.00437660
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 0x46d890
lea eax, [ebx + 2]
mov dword [esp + 0x74], eax
cmp eax, ebp
ja 0x46d98b
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xb0], esi
cmp eax, ebp
ja 0x46d984
add ebx, esi
mov dword [esp], ebx
lea ebx, [0x704097]
mov dword [esp + 4], ebx
mov dword [esp + 8], 2
call fcn.0044aa80
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0xb8]
jmp 0x46d8d0
call fcn.004246e0
ud2
lea ecx, [0x6b4b60]
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.00437660
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 0x46d93f
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.0046c080
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 0x46c8a7
cmp eax, 0x20d
je 0x46daa2
cmp eax, 0x20e
jne 0x46da62
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.0046c080
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 0x46c8a7
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.0046c080
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 0x46c8a7
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.0046c080
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 0x46c8a7
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.004453b0
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 0x46c846
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.00473bf0
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 0x46c82f
mov esi, dword [esp + 0xb4]
lea edi, [ebx + esi]
mov dword [esp + 0x74], edi
mov ecx, dword [esp + 0xb8]
cmp edi, ecx
ja 0x46dc49
mov dword [esp + 0xb8], ecx
cmp edi, ecx
ja 0x46dc42
mov edx, dword [esp + 0xb0]
add esi, edx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.0044aa80
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 0x46c7ff
call fcn.004246e0
ud2
lea edx, [0x6b4b60]
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.00437660
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 0x46dbf8
call fcn.004486b0
jmp fcn.0046c6e0