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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x6c]
cmp eax, dword [ecx + 8]
jbe 0x466aa7
sub esp, 0xec
mov eax, 0
lea edi, [esp + 0xd8]
call fcn.004485cb
mov edi, esp
lea esi, [esp + 0xf0]
call fcn.00448aae
call fcn.0046a9f0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x54], edx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x70], ebx
mov ebp, dword [esp + 0x14]
mov dword [esp + 0xc8], ebp
mov esi, dword [esp + 0x110]
mov edi, dword [esp + 0x114]
mov esi, 0xffffffff
mov dword [esp + 0x34], esi
mov dword [esp + 0x64], esi
xor edi, edi
mov dword [esp + 0x58], edi
mov dword [esp + 0xb0], eax
xor eax, eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x48], eax
mov esi, dword [esp + 0x110]
mov edi, dword [esp + 0x114]
mov eax, dword [esp + 0xb0]
jmp 0x465659
mov ebp, dword [esp + 0xc8]
mov esi, edi
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x34], esi
mov dword [esp + 0x104], ebx
mov dword [esp + 0x108], edx
mov dword [esp + 0x10c], ecx
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0xbc]
test edi, edi
je 0x466a39
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.00463df0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x14]
mov dword [esp + 0xbc], edx
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x3c], ebp
test ebx, ebx
jne 0x466966
mov ecx, dword [esp + 0x10c]
mov ebx, dword [esp + 0x104]
mov esi, dword [esp + 0x108]
test eax, eax
je 0x46694a
mov dword [esp + 0xac], ecx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xa8], esi
mov edi, edx
mov edx, dword [esp + 0x34]
test edx, edx
jge 0x4656df
test eax, 0x100
jne 0x4668f4
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x64]
test edx, edx
jge 0x4656f6
test eax, 0x200
jne 0x46685b
mov dword [esp + 0x64], edx
and eax, 0xffff
cmp eax, 0x108
jg 0x466337
cmp eax, 0x102
jg 0x465f3c
cmp eax, 0x1f
jg 0x465d06
cmp eax, 0x15
je 0x465abe
lea edx, [eax - 0x16]
cmp edx, 9
ja 0x465ab3
mov edx, dword [esp + 0x6c]
test edx, edx
jne 0x465aa8
mov eax, edx
mov edx, dword [esp + 0x40]
cmp edx, 0x16
jne 0x46579f
lea edx, [esi + 1]
cmp edx, ecx
jg 0x46575a
mov byte [ebx + esi], 0x5a
jmp 0x46561c
lea eax, [0x5cdaa0]
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.004350a0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0xbc]
jmp 0x465751
cmp edx, 0x19
je 0x46574a
cmp edx, 0x17
je 0x46574a
cmp edx, 0x18
je 0x46574a
cmp edx, 0x1a
je 0x46574a
mov eax, 0x88888889
mov ebp, dword [esp + 0x6c]
imul ebp
add edx, ebp
mov eax, ebp
sar ebp, 0x1f
sar edx, 5
mov dword [esp + 0xa4], edx
sub edx, ebp
test edx, edx
jge 0x465a43
lea edx, [esi + 1]
cmp edx, ecx
jg 0x4659f1
mov byte [ebx + esi], 0x2d
mov esi, dword [esp + 0xa4]
sub ebp, esi
neg eax
mov dword [esp + 0x30], ebp
mov dword [esp + 0xa4], eax
mov eax, 0x88888889
mov edi, edx
imul ebp
add edx, ebp
sar ebp, 0x1f
sar edx, 5
sub edx, ebp
mov dword [esp + 0xa0], edx
mov dword [esp + 0xc], edx
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0x10], 2
call fcn.00464bf0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x40]
cmp ebp, 0x19
jne 0x4659cf
lea esi, [edx + 1]
cmp esi, ecx
jg 0x46598b
mov byte [ebx + edx], 0x3a
cmp ebp, 0x1d
je 0x46586a
cmp ebp, 0x18
jne 0x46594a
cmp ebp, 0x17
je 0x465894
cmp ebp, 0x1c
je 0x465894
cmp ebp, 0x1f
je 0x465894
cmp ebp, 0x1a
je 0x465894
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xbc]
mov edx, esi
jmp 0x46561c
cmp ebp, 0x1f
jne 0x46593a
lea edx, [esi + 1]
cmp edx, ecx
jg 0x4658fa
mov byte [ebx + esi], 0x3a
mov eax, dword [esp + 0xa4]
mov ebp, 0x88888889
mov esi, edx
imul ebp
mov edi, dword [esp + 0xa4]
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.00464bf0
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
jmp 0x46587e
mov dword [esp + 0x9c], esi
lea eax, [0x5cdaa0]
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.004350a0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov esi, dword [esp + 0x9c]
jmp 0x4658a4
cmp ebp, 0x1a
je 0x46589d
mov edx, esi
jmp 0x4658a8
mov eax, dword [esp + 0xa0]
imul eax, eax, 0x3c
mov edx, dword [esp + 0x30]
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.00464bf0
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x40]
jmp 0x46586a
mov dword [esp + 0x98], edx
lea eax, [0x5cdaa0]
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.004350a0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea esi, [eax + 1]
mov edx, dword [esp + 0x98]
mov ebp, dword [esp + 0x40]
jmp 0x465858
cmp ebp, 0x1e
je 0x46584d
cmp ebp, 0x1a
je 0x46584d
cmp ebp, 0x1f
je 0x46584d
mov esi, edx
jmp 0x46585c
mov dword [esp + 0xa0], ebp
lea eax, [0x5cdaa0]
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.004350a0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0xa0]
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0xbc]
jmp 0x4657e4
lea ebp, [esi + 1]
cmp ebp, ecx
jg 0x465a59
mov byte [ebx + esi], 0x2b
mov esi, edx
mov edx, ebp
mov ebp, esi
jmp 0x4657f3
mov dword [esp + 0x94], edx
lea eax, [0x5cdaa0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.004350a0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x94]
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0xbc]
jmp 0x465a4a
mov eax, edx
mov edx, dword [esp + 0x40]
jmp 0x4657b3
mov eax, dword [esp + 0x6c]
mov edx, esi
jmp 0x46561c
mov edx, dword [esp + 0x54]
test edx, edx
je 0x465b79
lea eax, [edx + esi]
mov dword [esp + 0x108], eax
cmp eax, ecx
ja 0x465b31
cmp eax, ecx
ja 0x466a53
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x104], ebx
lea eax, [ebx + esi]
mov dword [esp], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00448cd0
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xbc]
mov ecx, dword [esp + 0x10c]
mov ebx, dword [esp + 0x104]
mov edx, dword [esp + 0x108]
jmp 0x46561c
lea edx, [0x5cdaa0]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.004350a0
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x108]
mov edx, dword [esp + 0x54]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0xbc]
jmp 0x465ad8
mov eax, 0x88888889
mov edx, dword [esp + 0x6c]
imul edx
mov eax, ebp
mov ebp, dword [esp + 0x6c]
add edx, ebp
sar ebp, 0x1f
sar edx, 5
mov dword [esp + 0xa4], edx
sub edx, ebp
test edx, edx
jge 0x465ca1
lea edx, [esi + 1]
cmp edx, ecx
jg 0x465c4f
mov byte [ebx + esi], 0x2d
mov esi, dword [esp + 0xa4]
sub ebp, esi
mov dword [esp + 0x2c], ebp
mov eax, 0x88888889
mov esi, edx
imul ebp
mov edi, ebp
sar ebp, 0x1f
add edx, edi
sar edx, 5
sub edx, ebp
mov dword [esp + 0xa4], edx
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.00464bf0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0xa4]
imul ebp, ebp, 0x3c
mov esi, dword [esp + 0x2c]
sub esi, ebp
mov dword [esp + 0xc], esi
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0x10], 2
call fcn.00464bf0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xbc]
jmp 0x46561c
mov dword [esp + 0xa0], ebp
lea eax, [0x5cdaa0]
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.004350a0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x3c]
mov ebp, dword [esp + 0xa0]
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0xbc]
jmp 0x465bae
lea ebp, [esi + 1]
cmp ebp, ecx
jg 0x465cb7
mov byte [ebx + esi], 0x2b
mov esi, edx
mov edx, ebp
mov ebp, esi
jmp 0x465bbb
mov dword [esp + 0x90], edx
lea eax, [0x5cdaa0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.004350a0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x90]
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0xbc]
jmp 0x465ca8
lea edx, [eax - 0x20]
cmp edx, 1
jbe 0x465eca
cmp eax, 0x101
je 0x465dec
cmp eax, 0x102
jne 0x465ab3
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call fcn.0046a720
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
cmp eax, 3
jb 0x466a99
mov eax, dword [esp + 0xa8]
lea edx, [eax + 3]
mov ebx, dword [esp + 0xac]
cmp edx, ebx
ja 0x465d97
mov ebp, dword [esp + 0xd4]
cmp edx, ebx
ja 0x466a99
movzx esi, word [ecx]
mov edi, esi
movzx esi, byte [ecx + 2]
mov word [ebp + eax], di
xchg esi, ebx
mov byte [ebp + eax + 2], bl
xchg esi, ebx
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0xbc]
mov ecx, ebx
mov ebx, ebp
mov ebp, dword [esp + 0x3c]
jmp 0x46561c
mov dword [esp + 0x8c], edx
mov dword [esp + 0xd0], ecx
lea ecx, [0x5cdaa0]
mov dword [esp], ecx
mov ebp, dword [esp + 0xd4]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.004350a0
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0x8c]
jmp 0x465d61
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call fcn.0046a720
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xa8]
lea ebx, [eax + edx]
mov dword [esp + 0x108], ebx
mov ebp, dword [esp + 0xac]
cmp ebx, ebp
ja 0x465e74
mov esi, dword [esp + 0xd4]
cmp ebx, ebp
ja 0x466a92
mov dword [esp + 0x104], esi
mov dword [esp + 0x10c], ebp
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00448cd0
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xbc]
mov ecx, dword [esp + 0x10c]
mov ebx, dword [esp + 0x104]
mov edx, dword [esp + 0x108]
jmp 0x46561c
mov dword [esp + 0x60], eax
mov dword [esp + 0xcc], ecx
lea eax, [0x5cdaa0]
mov dword [esp], eax
mov ecx, dword [esp + 0xd4]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004350a0
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x108]
jmp 0x465e23
lea edi, [esp + 0xd8]
mov edx, esi
lea esi, [esp + 0xf0]
call fcn.00448aae
mov ecx, dword [esp + 0xd8]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov edx, dword [esp + 0xac]
mov dword [esp + 8], edx
and ecx, 0x3fffffff
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x40]
sar ecx, 0x10
mov dword [esp + 0x10], ecx
cmp eax, 0x21
sete al
mov byte [esp + 0x14], al
call fcn.00464ef0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xbc]
jmp 0x46561c
cmp eax, 0x105
jg 0x466123
cmp eax, 0x103
je 0x4660e3
cmp eax, 0x104
jne 0x465f99
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.00464bf0
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xbc]
jmp 0x46561c
mov eax, dword [esp + 0x70]
add eax, 0x15180
mov dword [esp], eax
mov eax, dword [esp + 0x74]
adc eax, 0
mov dword [esp + 4], eax
mov dword [esp + 8], 0x93a80
mov dword [esp + 0xc], 0
call fcn.00443b00
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], eax
mov ecx, 0xc22e4507
imul ecx
mov eax, dword [esp + 0x44]
add edx, eax
sar eax, 0x1f
sar edx, 0x10
sub edx, eax
cmp edx, 7
jae 0x466a7d
lea eax, [0x78b520]
lea edx, [eax + edx*8]
mov ebx, dword [edx + 4]
mov ebp, dword [esp + 0xa8]
lea esi, [ebx + ebp]
mov dword [esp + 0x108], esi
mov edx, dword [edx]
mov edi, dword [esp + 0xac]
cmp esi, edi
ja 0x46607b
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x104], eax
lea eax, [0x78b520]
cmp esi, edi
ja 0x466a76
mov dword [esp + 0x10c], edi
mov eax, dword [esp + 0x104]
lea ecx, [eax + ebp]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00448cd0
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xbc]
mov ecx, dword [esp + 0x10c]
mov ebx, dword [esp + 0x104]
mov edx, dword [esp + 0x108]
jmp 0x46561c
mov dword [esp + 0x4c], ebx
mov dword [esp + 0xc0], edx
lea eax, [0x5cdaa0]
mov dword [esp], eax
mov ecx, dword [esp + 0xd4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], esi
call fcn.004350a0
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ecx, 0xc22e4507
mov edx, dword [esp + 0xc0]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0xa8]
mov esi, dword [esp + 0x108]
mov dword [esp + 0x104], eax
lea eax, [0x78b520]
jmp 0x466029
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.00464bf0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xbc]
jmp 0x46561c
cmp eax, 0x106
je 0x46621c
cmp eax, 0x107
je 0x4661dc
mov eax, dword [esp + 0x68]
cmp eax, 0xa
jge 0x4661d5
lea edx, [esi + 1]
cmp edx, ecx
jg 0x46618d
mov byte [ebx + esi], 0x20
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.00464bf0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xbc]
jmp 0x46561c
lea eax, [0x5cdaa0]
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.004350a0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0xbc]
jmp 0x46614d
mov edx, esi
jmp 0x466151
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.00464bf0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xbc]
jmp 0x46561c
mov eax, dword [esp + 0x70]
add eax, 0x15180
mov dword [esp], eax
mov eax, dword [esp + 0x74]
adc eax, 0
mov dword [esp + 4], eax
mov dword [esp + 8], 0x93a80
mov dword [esp + 0xc], 0
call fcn.00443b00
mov eax, dword [esp + 0x10]
mov ecx, eax
mov eax, 0xc22e4507
imul ecx
lea eax, [edx + ecx]
sar ecx, 0x1f
sar eax, 0x10
sub eax, ecx
cmp eax, 7
jae 0x466a8b
lea ecx, [0x78b520]
lea eax, [ecx + eax*8]
mov edx, dword [eax + 4]
mov eax, dword [eax]
cmp edx, 3
jb 0x466a84
mov edx, dword [esp + 0xa8]
lea ebx, [edx + 3]
mov ebp, dword [esp + 0xac]
cmp ebx, ebp
ja 0x4662dc
mov esi, dword [esp + 0xd4]
cmp ebx, ebp
ja 0x466a84
mov edi, esi
movzx esi, byte [eax + 2]
xchg esi, eax
mov byte [esp + 0x2b], al
xchg esi, eax
movzx esi, word [eax]
mov word [edi + edx], si
movzx esi, byte [esp + 0x2b]
xchg esi, eax
mov byte [edi + edx + 2], al
xchg esi, eax
mov eax, dword [esp + 0x6c]
mov ecx, ebp
mov edx, ebx
mov ebp, dword [esp + 0x3c]
mov ebx, edi
mov edi, dword [esp + 0xbc]
jmp 0x46561c
mov dword [esp + 0x88], ebx
mov dword [esp + 0xb8], eax
lea eax, [0x5cdaa0]
mov dword [esp], eax
mov ecx, dword [esp + 0xd4]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004350a0
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0xb8]
lea ecx, [0x78b520]
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x88]
jmp 0x46629c
cmp eax, 0x20c
jg 0x46656d
cmp eax, 0x112
jg 0x466448
cmp eax, 0x109
je 0x466408
cmp eax, 0x111
je 0x4663c8
cmp eax, 0x112
jne 0x465ab3
mov edx, dword [esp + 0x38]
test edx, edx
jge 0x466374
neg edx
mov eax, 0x51eb851f
mov ebp, edx
imul edx
mov edi, ebp
sar ebp, 0x1f
sar edx, 5
sub edx, ebp
imul edx, edx, 0x64
sub edi, edx
mov dword [esp + 0xc], edi
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0x10], 2
call fcn.00464bf0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xbc]
jmp 0x46561c
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 4
call fcn.00464bf0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xbc]
jmp 0x46561c
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.00464bf0
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xbc]
jmp 0x46561c
cmp eax, 0x20a
je 0x466531
cmp eax, 0x20b
je 0x4664cb
cmp eax, 0x20c
jne 0x465ab3
mov eax, edx
mov ebp, 0xaaaaaaab
imul ebp
mov ebp, dword [esp + 0x64]
add edx, ebp
mov eax, ebp
sar ebp, 0x1f
sar edx, 3
sub edx, ebp
lea edx, [edx + edx*2]
shl edx, 2
sub eax, edx
test eax, eax
jne 0x46648f
mov eax, 0xc
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.00464bf0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xbc]
jmp 0x46561c
mov eax, edx
mov ebp, 0xaaaaaaab
imul ebp
mov ebp, dword [esp + 0x64]
add edx, ebp
mov eax, ebp
sar ebp, 0x1f
sar edx, 3
sub edx, ebp
lea edx, [edx + edx*2]
shl edx, 2
sub eax, edx
test eax, eax
jne 0x4664f5
mov eax, 0xc
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.00464bf0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xbc]
jmp 0x46561c
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 2
call fcn.00464bf0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xbc]
jmp 0x46561c
cmp eax, 0x20f
jle 0x466789
cmp eax, 0x210
je 0x466749
cmp eax, 0x213
jne 0x46666c
cmp edx, 0xc
jl 0x466604
lea eax, [esi + 2]
cmp eax, ecx
ja 0x4665b8
cmp eax, ecx
ja 0x466a6f
movzx edx, word [0x5f0325]
mov word [ebx + esi], dx
mov edx, eax
mov eax, dword [esp + 0x6c]
jmp 0x46561c
mov dword [esp + 0x84], eax
lea edx, [0x5cdaa0]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.004350a0
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x64]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0xbc]
jmp 0x46659a
lea eax, [esi + 2]
cmp eax, ecx
ja 0x466620
cmp eax, ecx
ja 0x466a68
movzx edx, word [0x5f02fd]
mov word [ebx + esi], dx
jmp 0x4665ad
mov dword [esp + 0x80], eax
lea edx, [0x5cdaa0]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.004350a0
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x64]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0xbc]
jmp 0x46660b
cmp eax, 0x214
jne 0x465ab3
cmp edx, 0xc
jl 0x4666e7
lea eax, [esi + 2]
cmp eax, ecx
ja 0x4666a1
cmp eax, ecx
ja 0x466a61
movzx edx, word [0x5f0391]
mov word [ebx + esi], dx
mov edx, eax
mov eax, dword [esp + 0x6c]
jmp 0x46561c
mov dword [esp + 0x7c], eax
lea edx, [0x5cdaa0]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.004350a0
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x64]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0xbc]
jmp 0x466683
lea eax, [esi + 2]
cmp eax, ecx
ja 0x466703
cmp eax, ecx
ja 0x466a5a
movzx edx, word [0x5f0385]
mov word [ebx + esi], dx
jmp 0x466696
mov dword [esp + 0x78], eax
lea edx, [0x5cdaa0]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.004350a0
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x64]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0xbc]
jmp 0x4666ee
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.00464bf0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xbc]
jmp 0x46561c
cmp eax, 0x20d
je 0x46681b
cmp eax, 0x20e
jne 0x4667db
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.00464bf0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xbc]
jmp 0x46561c
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.00464bf0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xbc]
jmp 0x46561c
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.00464bf0
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0xbc]
jmp 0x46561c
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov ecx, dword [esp + 0x74]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x15180
mov dword [esp + 0xc], 0
call fcn.00443b00
mov eax, dword [esp + 0x10]
mov ecx, eax
mov eax, 0x91a2b3c5
imul ecx
add edx, ecx
mov eax, ecx
sar ecx, 0x1f
sar edx, 0xb
sub edx, ecx
mov ecx, edx
imul edx, edx, 0xe10
sub eax, edx
mov edx, eax
mov eax, 0x88888889
mov ebx, edx
imul edx
lea eax, [ebx + edx]
mov edx, ebx
sar ebx, 0x1f
sar eax, 5
sub eax, ebx
mov ebx, eax
imul eax, eax, 0x3c
sub edx, eax
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0xbc]
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x48], edx
mov edx, ecx
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0xd4]
jmp 0x4656f6
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov ecx, dword [esp + 0x74]
mov dword [esp + 4], ecx
mov byte [esp + 8], 1
call fcn.0046b7b0
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0xbc]
mov dword [esp + 0x58], eax
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0xac]
jmp 0x4656df
mov dword [esp + 0x118], ebx
mov dword [esp + 0x11c], esi
mov dword [esp + 0x120], ecx
add esp, 0xec
ret
mov esi, dword [esp + 0x108]
lea edi, [ebx + esi]
mov dword [esp + 0xa4], edi
mov edx, dword [esp + 0x10c]
cmp edi, edx
ja 0x4669d4
cmp edi, edx
ja 0x466aa0
mov dword [esp + 0x10c], edx
mov eax, dword [esp + 0x104]
lea edx, [eax + esi]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00448cd0
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x3c]
mov ecx, dword [esp + 0x10c]
mov ebx, dword [esp + 0x104]
mov esi, dword [esp + 0xa4]
jmp 0x4656ad
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x50], ebx
lea eax, [0x5cdaa0]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], edi
call fcn.004350a0
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc4]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x108]
mov edi, dword [esp + 0xa4]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x40]
jmp 0x466982
mov ebx, dword [esp + 0x104]
mov esi, dword [esp + 0x108]
mov ecx, dword [esp + 0x10c]
jmp 0x46694a
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.00424360
ud2
call fcn.004243c0
ud2
call fcn.00424360
ud2
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.00446b60
jmp fcn.00465560