Function at 0x46e540
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xd4]
cmp eax, dword [ecx + 8]
jbe 0x471178
sub esp, 0x154
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x15c]
xor edx, edx
mov ebx, dword [esp + 0x160]
mov ebp, edx
xor esi, esi
mov edi, dword [esp + 0x164]
xor eax, eax
mov byte [esp + 0x32], al
mov dword [esp + 0x10c], esi
mov ecx, 0xffffffff
mov dword [esp + 0x68], ecx
mov dword [esp + 0x8c], ebp
mov edx, 1
mov dword [esp + 0x90], edx
mov byte [esp + 0x33], al
xor ebx, ebx
mov dword [esp + 0xec], ebx
mov dword [esp + 0x9c], edx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x80], ebp
mov dword [esp + 0x50], ebp
mov dword [esp + 0x6c], ebp
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x15c]
mov edx, ebp
mov ebx, dword [esp + 0x160]
mov dword [esp + 0x130], eax
mov dword [esp + 0x98], ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x74], ebp
mov dword [esp + 0x104], esi
mov dword [esp + 0x94], edi
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0046b300
mov eax, dword [esp + 0x10]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x108], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x60], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xf0], ebx
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x44], ebp
mov esi, dword [esp + 0x98]
mov edi, esi
sub esi, ebp
mov dword [esp + 0x98], esi
cmp edx, esi
ja 0x471171
cmp esi, edi
ja 0x471171
mov edi, dword [esp + 0x12c]
mov dword [esp], edi
mov edi, dword [esp + 0x94]
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.0046e370
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x60]
sub eax, ecx
mov dword [esp + 0x48], eax
lea edx, [eax - 1]
sar edx, 0x1f
xor edx, 0xffffffff
and edx, ecx
mov ebx, dword [esp + 0x130]
add edx, ebx
mov dword [esp + 0xf4], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xf8], ebx
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x58], ebp
mov esi, dword [esp + 0x18]
mov dword [esp + 0x11c], esi
test esi, esi
jne 0x470fcf
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x470199
mov edi, ecx
and ecx, 0xffff
cmp ecx, 0x106
jg 0x46f762
cmp ecx, 0x21
jg 0x46f463
cmp ecx, 0x1f
jg 0x46f1f1
cmp ecx, 0x15
jne 0x46eca0
cmp ebp, 3
jl 0x46ebb0
movzx ecx, byte [ebx]
cmp cl, 0x55
jne 0x46ebb0
movzx ecx, byte [ebx + 1]
cmp cl, 0x54
jne 0x46ebb0
movzx ecx, byte [ebx + 2]
cmp cl, 0x43
jne 0x46ebb0
mov ecx, dword [0x766400]
lea edi, [ebp - 4]
sar edi, 0x1f
xor edi, 0xffffffff
and edi, 3
add ebx, edi
add ebp, 0xfffffffd
movzx edi, byte [esp + 0x32]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x9c]
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x10c]
mov dword [esp + 0xe8], edi
mov edi, dword [esp + 0x74]
mov dword [esp + 0x38], edi
movzx edi, byte [esp + 0x32]
mov dword [esp + 0x130], ebx
mov dword [esp + 0x9c], ebp
mov edx, dword [esp + 0x5c]
test edx, edx
jne 0x46e9c5
test esi, esi
jne 0x46e820
mov eax, dword [esp + 0xf0]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x104]
xchg edi, eax
mov byte [esp + 0x32], al
xchg edi, eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x68], eax
mov dword [esp + 0xec], ecx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x44]
mov edi, dword [esp + 0x9c]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xf0]
jmp 0x46e5ec
lea ecx, [0x62df40]
mov dword [esp], ecx
call fcn.0040cd50
mov eax, dword [esp + 4]
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 0x15c]
mov dword [eax + 4], ecx
mov ecx, dword [0x77c810]
test ecx, ecx
jne 0x46e9a6
mov ecx, dword [esp + 0x158]
mov dword [eax], ecx
mov ecx, dword [esp + 0x164]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x77c810]
lea edx, [eax + 8]
test ecx, ecx
jne 0x46e987
mov ecx, dword [esp + 0x160]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x14], ecx
mov ecx, dword [0x77c810]
lea edx, [eax + 0x10]
test ecx, ecx
jne 0x46e968
mov ecx, dword [esp + 0xf4]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x9c]
mov dword [eax + 0x1c], ecx
mov ecx, dword [0x77c810]
lea edx, [eax + 0x18]
test ecx, ecx
jne 0x46e949
mov ecx, dword [esp + 0x130]
mov dword [eax + 0x18], ecx
mov dword [eax + 0x24], 0
mov ecx, dword [0x77c810]
lea edx, [eax + 0x20]
test ecx, ecx
jne 0x46e930
mov dword [eax + 0x20], 0
mov ecx, dword [0x66d280]
mov edx, dword [0x66d288]
mov ebx, dword [0x66d284]
mov ebp, dword [0x66d28c]
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], ebx
mov dword [esp + 0x178], edx
mov dword [esp + 0x17c], ebp
lea ecx, [0x742100]
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], eax
add esp, 0x154
ret
mov dword [esp], edx
mov dword [esp + 4], 0
call fcn.0040d580
mov eax, dword [esp + 0x128]
jmp 0x46e8e1
mov dword [esp], edx
mov ecx, dword [esp + 0x130]
mov dword [esp + 4], ecx
call fcn.0040d580
mov eax, dword [esp + 0x128]
jmp 0x46e8c6
mov dword [esp], edx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
call fcn.0040d580
mov eax, dword [esp + 0x128]
jmp 0x46e8a1
mov dword [esp], edx
mov ecx, dword [esp + 0x160]
mov dword [esp + 4], ecx
call fcn.0040d580
mov eax, dword [esp + 0x128]
jmp 0x46e87f
mov dword [esp], eax
mov ecx, dword [esp + 0x158]
mov dword [esp + 4], ecx
call fcn.0040d580
mov eax, dword [esp + 0x128]
jmp 0x46e85a
lea ecx, [0x62df40]
mov dword [esp], ecx
call fcn.0040cd50
mov eax, dword [esp + 4]
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 0x15c]
mov dword [eax + 4], ecx
mov ecx, dword [0x77c810]
test ecx, ecx
jne 0x46eb91
mov ecx, dword [esp + 0x158]
mov dword [eax], ecx
mov ecx, dword [esp + 0x164]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x77c810]
lea edx, [eax + 8]
test ecx, ecx
jne 0x46eb72
mov ecx, dword [esp + 0x160]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x14], ecx
mov ecx, dword [0x77c810]
lea edx, [eax + 0x10]
test ecx, ecx
jne 0x46eb53
mov ecx, dword [esp + 0xf4]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x9c]
mov dword [eax + 0x1c], ecx
mov ecx, dword [0x77c810]
lea edx, [eax + 0x18]
test ecx, ecx
jne 0x46eb34
mov ecx, dword [esp + 0x130]
mov dword [eax + 0x18], ecx
mov dword [esp], 0
lea ecx, [0x64acb4]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
mov ecx, dword [esp + 0x104]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x10], ecx
lea ecx, [0x64d585]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], 0xd
call fcn.0043a590
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x128]
mov dword [edx + 0x24], ecx
mov ecx, dword [0x77c810]
lea ebx, [edx + 0x20]
test ecx, ecx
jne 0x46eb1f
mov dword [edx + 0x20], eax
mov eax, dword [0x66d27c]
mov ecx, dword [0x66d278]
mov ebx, dword [0x66d270]
mov ebp, dword [0x66d274]
mov dword [esp + 0x170], ebx
mov dword [esp + 0x174], ebp
mov dword [esp + 0x178], ecx
mov dword [esp + 0x17c], eax
lea eax, [0x742100]
mov dword [esp + 0x180], eax
mov dword [esp + 0x184], edx
add esp, 0x154
ret
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040d580
mov edx, dword [esp + 0x128]
jmp 0x46ead0
mov dword [esp], edx
mov ecx, dword [esp + 0x130]
mov dword [esp + 4], ecx
call fcn.0040d580
mov eax, dword [esp + 0x128]
jmp 0x46ea6b
mov dword [esp], edx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
call fcn.0040d580
mov eax, dword [esp + 0x128]
jmp 0x46ea46
mov dword [esp], edx
mov ecx, dword [esp + 0x160]
mov dword [esp + 4], ecx
call fcn.0040d580
mov eax, dword [esp + 0x128]
jmp 0x46ea24
mov dword [esp], eax
mov ecx, dword [esp + 0x158]
mov dword [esp + 4], ecx
call fcn.0040d580
mov eax, dword [esp + 0x128]
jmp 0x46e9ff
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.00471190
mov eax, dword [esp + 8]
movzx ecx, byte [esp + 0xc]
test cl, cl
je 0x46ec42
mov ecx, dword [esp + 0x58]
cmp eax, ecx
ja 0x46ec3b
sub ecx, eax
lea edx, [ecx - 1]
sar edx, 0x1f
xor edx, 0xffffffff
and edx, eax
mov ebx, dword [esp + 0xf8]
add edx, ebx
mov ebx, edx
mov ebp, ecx
movzx edi, byte [esp + 0x32]
mov esi, dword [esp + 0x68]
mov dword [esp + 0x34], esi
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0x38], eax
mov esi, dword [esp + 0x11c]
mov ecx, dword [esp + 0xec]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xf4]
jmp 0x46e7a3
call fcn.004246c0
ud2
mov esi, dword [0x76b088]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xf4]
mov ebx, dword [esp + 0xf8]
mov ebp, dword [esp + 0x58]
movzx edi, byte [esp + 0x32]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xec]
jmp 0x46e7a3
add ecx, 0xffffffea
cmp ecx, 9
ja 0x46f1af
cmp edi, 0x16
jne 0x46f198
cmp ebp, 1
jl 0x46ed17
movzx ecx, byte [ebx]
cmp cl, 0x5a
jne 0x46ed17
lea ecx, [ebp - 2]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 1
add ebx, ecx
dec ebp
mov ecx, dword [0x766400]
movzx edi, byte [esp + 0x32]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x9c]
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x10c]
mov dword [esp + 0xe8], edi
mov edi, dword [esp + 0x74]
mov dword [esp + 0x38], edi
movzx edi, byte [esp + 0x32]
jmp 0x46e7a3
cmp edi, 0x19
jne 0x46ef19
cmp ebp, 6
jge 0x46ed6d
mov esi, dword [0x76b088]
movzx edi, byte [esp + 0x32]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xec]
jmp 0x46e7a3
movzx ecx, byte [ebx + 3]
cmp cl, 0x3a
je 0x46edbe
mov esi, dword [0x76b088]
movzx edi, byte [esp + 0x32]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xec]
jmp 0x46e7a3
lea ecx, [ebp - 7]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 6
add ecx, ebx
lea esi, [ebx + 1]
lea edi, [ebx + 4]
add ebp, 0xfffffffa
mov dword [esp + 0xa8], eax
lea eax, [0x64aca6]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x110], edi
mov dword [esp + 0x98], ebp
mov dword [esp + 0x130], ecx
mov dword [esp], esi
mov dword [esp + 4], 2
call fcn.0046c530
mov eax, dword [esp + 8]
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x46eeee
xor edx, edx
mov dword [esp + 0x7c], edx
test ecx, ecx
je 0x46eebf
xor ebx, ebx
imul eax, eax, 0x3c
add eax, edx
imul eax, eax, 0x3c
add eax, ebx
mov edx, dword [esp + 0xf8]
movzx edx, byte [edx]
cmp dl, 0x2b
jne 0x46eeae
mov edx, dword [esp + 0xf4]
mov ebx, dword [esp + 0x130]
mov ebp, dword [esp + 0x98]
movzx edi, byte [esp + 0x32]
mov dword [esp + 0x34], eax
mov esi, dword [esp + 0x9c]
mov dword [esp + 0x78], esi
mov esi, dword [esp + 0x40]
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x10c]
mov dword [esp + 0xe8], esi
mov esi, dword [esp + 0x74]
mov dword [esp + 0x38], esi
mov esi, ecx
mov ecx, dword [esp + 0xec]
mov eax, dword [esp + 0x48]
jmp 0x46e7a3
cmp dl, 0x2d
jne 0x46eeb7
neg eax
jmp 0x46ee55
mov ecx, dword [0x76b088]
jmp 0x46ee55
mov ecx, dword [esp + 0xfc]
mov dword [esp], ecx
mov dword [esp + 4], 2
call fcn.0046c530
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x7c]
jmp 0x46ee3c
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov dword [esp + 4], 2
call fcn.0046c530
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x88]
jmp 0x46ee2e
cmp edi, 0x1e
je 0x46ed20
cmp edi, 0x1d
jne 0x46efc0
cmp ebp, 3
jge 0x46ef78
mov esi, dword [0x76b088]
movzx edi, byte [esp + 0x32]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xec]
jmp 0x46e7a3
lea ecx, [ebp - 4]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 3
add ecx, ebx
lea esi, [ebx + 1]
add ebp, 0xfffffffd
lea edi, [0x64aca6]
mov dword [esp + 0xa0], eax
lea eax, [0x64aca6]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xfc], edi
mov edi, dword [esp + 0x110]
jmp 0x46edf0
cmp edi, 0x18
je 0x46ef2b
cmp edi, 0x1a
jne 0x46f0aa
cmp ebp, 9
jge 0x46f01f
mov esi, dword [0x76b088]
movzx edi, byte [esp + 0x32]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xec]
jmp 0x46e7a3
movzx ecx, byte [ebx + 3]
cmp cl, 0x3a
je 0x46f070
mov esi, dword [0x76b088]
movzx edi, byte [esp + 0x32]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xec]
jmp 0x46e7a3
movzx ecx, byte [ebx + 6]
cmp cl, 0x3a
je 0x46f07b
jmp 0x46f028
lea ecx, [ebp - 0xa]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 9
add ecx, ebx
lea esi, [ebx + 1]
lea edi, [ebx + 4]
lea edx, [ebx + 7]
add ebp, 0xfffffff7
mov dword [esp + 0x110], edi
mov edi, edx
mov edx, dword [esp + 0xf4]
jmp 0x46efad
cmp edi, 0x1f
je 0x46efd2
cmp edi, 0x17
jne 0x46f124
cmp ebp, 7
jge 0x46f105
mov esi, dword [0x76b088]
movzx edi, byte [esp + 0x32]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xec]
jmp 0x46e7a3
lea ecx, [ebp - 8]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 7
add ecx, ebx
lea esi, [ebx + 1]
lea edi, [ebx + 3]
lea edx, [ebx + 5]
add ebp, 0xfffffff9
jmp 0x46f095
cmp edi, 0x1c
je 0x46f0b8
cmp ebp, 5
jge 0x46f176
mov esi, dword [0x76b088]
movzx edi, byte [esp + 0x32]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xec]
jmp 0x46e7a3
lea ecx, [ebp - 6]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 5
add ecx, ebx
lea esi, [ebx + 1]
lea edi, [ebx + 3]
add ebp, 0xfffffffb
lea edx, [0x64aca6]
jmp 0x46f095
cmp edi, 0x18
je 0x46ecb5
cmp edi, 0x19
jne 0x46ed17
jmp 0x46ecb5
movzx edi, byte [esp + 0x32]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xec]
jmp 0x46e7a3
cmp ecx, 0x20
jne 0x46f30b
sar edi, 0x10
lea ecx, [edi + 1]
mov dword [esp + 0x70], ecx
cmp ebp, ecx
jge 0x46f250
mov esi, dword [0x76b088]
movzx edi, byte [esp + 0x32]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xec]
jmp 0x46e7a3
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
call fcn.004714c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x58]
cmp ebp, esi
ja 0x46f304
sub esi, ebp
lea edi, [esi - 1]
sar edi, 0x1f
xor edi, 0xffffffff
and ebp, edi
mov edi, dword [esp + 0xf8]
add ebp, edi
movzx edi, byte [esp + 0x32]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x9c]
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x10c]
mov dword [esp + 0xe8], edi
mov edi, dword [esp + 0x74]
mov dword [esp + 0x38], edi
mov dword [esp + 0x104], ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xf4]
mov ecx, dword [esp + 0xec]
movzx edi, byte [esp + 0x32]
mov edi, ebx
mov ebx, ebp
mov ebp, esi
mov esi, edi
movzx edi, byte [esp + 0x32]
jmp 0x46e7a3
call fcn.004246c0
ud2
cmp ebp, 2
jge 0x46f352
movzx edi, byte [esp + 0x32]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xec]
jmp 0x46e7a3
movzx ecx, byte [ebx]
cmp cl, 0x2e
jne 0x46f310
movzx ecx, byte [ebx + 1]
cmp cl, 0x30
jb 0x46f310
cmp cl, 0x39
ja 0x46f310
xor ecx, ecx
cmp ecx, 9
jge 0x46f396
lea esi, [ecx + 1]
cmp esi, ebp
jge 0x46f396
jae 0x46f45c
movzx edi, byte [ebx + ecx + 1]
xchg edi, eax
cmp al, 0x30
xchg edi, eax
jb 0x46f396
xchg edi, eax
cmp al, 0x39
xchg edi, eax
ja 0x46f396
mov ecx, esi
cmp ecx, 9
jl 0x46f36f
mov dword [esp], ebx
mov dword [esp + 4], ebp
inc ecx
mov dword [esp + 0x98], ecx
mov dword [esp + 8], ecx
call fcn.004714c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x98]
mov esi, dword [esp + 0x58]
cmp ebp, esi
ja 0x46f455
sub esi, ebp
lea edi, [esi - 1]
sar edi, 0x1f
xor edi, 0xffffffff
and ebp, edi
mov edi, dword [esp + 0xf8]
add ebp, edi
movzx edi, byte [esp + 0x32]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x9c]
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x10c]
mov dword [esp + 0xe8], edi
mov edi, dword [esp + 0x74]
mov dword [esp + 0x38], edi
mov dword [esp + 0x104], ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xf4]
mov ecx, dword [esp + 0xec]
movzx edi, byte [esp + 0x32]
mov edi, ebx
mov ebx, ebp
mov ebp, esi
mov esi, edi
movzx edi, byte [esp + 0x32]
jmp 0x46e7a3
call fcn.004246c0
ud2
call fcn.00424660
ud2
cmp ecx, 0x102
jg 0x46f588
cmp ecx, 0x101
je 0x46f508
cmp ecx, 0x102
je 0x46f488
jmp 0x46f1af
mov ecx, dword [0x766ec0]
mov esi, dword [0x766ec4]
mov edi, dword [0x766ec8]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.0046c1f0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0xf4]
movzx edi, byte [esp + 0x32]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xec]
mov eax, dword [esp + 0x48]
jmp 0x46e7a3
mov ecx, dword [0x766ea0]
mov esi, dword [0x766ea4]
mov edi, dword [0x766ea8]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.0046c1f0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0xf4]
movzx edi, byte [esp + 0x32]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xec]
mov eax, dword [esp + 0x48]
jmp 0x46e7a3
lea edx, [ecx - 0x103]
cmp edx, 1
jbe 0x46f6bd
cmp ecx, 0x105
je 0x46f63a
cmp ecx, 0x106
je 0x46f5b7
mov edx, dword [esp + 0xf4]
jmp 0x46f1af
mov ecx, dword [0x766eb0]
mov edx, dword [0x766eb4]
mov esi, dword [0x766eb8]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.0046c1f0
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xf4]
movzx edi, byte [esp + 0x32]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xec]
jmp 0x46e7a3
mov ecx, dword [0x766e90]
mov edx, dword [0x766e94]
mov esi, dword [0x766e98]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.0046c1f0
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xf4]
movzx edi, byte [esp + 0x32]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xec]
jmp 0x46e7a3
mov dword [esp], ebx
mov dword [esp + 4], ebp
cmp edi, 0x104
sete cl
mov byte [esp + 8], cl
call fcn.0046e210
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
lea ebp, [eax - 1]
cmp ebp, 0xb
jbe 0x46f755
mov ebp, 5
lea esi, [0x64b53f]
movzx edi, byte [esp + 0x32]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x34], edi
mov dword [esp + 0x78], eax
mov edi, dword [esp + 0x40]
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x10c]
mov dword [esp + 0xe8], edi
mov edi, dword [esp + 0x74]
mov dword [esp + 0x38], edi
mov dword [esp + 0x104], esi
mov dword [esp + 0x5c], ebp
mov eax, dword [esp + 0x48]
mov ebp, edx
mov esi, ebx
movzx edi, byte [esp + 0x32]
mov edx, dword [esp + 0xf4]
mov ebx, ecx
mov ecx, dword [esp + 0xec]
jmp 0x46e7a3
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x104]
jmp 0x46f6f9
cmp ecx, 0x20a
jg 0x46fb0d
cmp ecx, 0x111
jg 0x46f969
lea edx, [ecx - 0x107]
cmp edx, 2
jbe 0x46f880
cmp ecx, 0x111
jne 0x46f874
cmp ebp, 4
jge 0x46f7e9
mov esi, dword [0x76b088]
mov edx, dword [esp + 0xf4]
movzx edi, byte [esp + 0x32]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xec]
jmp 0x46e7a3
movzx ecx, byte [ebx]
add ecx, 0xffffffd0
cmp cl, 9
jbe 0x46f7f6
jmp 0x46f79a
mov dword [esp], ebx
mov dword [esp + 4], 4
call fcn.0046c530
mov eax, dword [esp + 0x58]
lea ecx, [eax - 5]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 4
mov edx, dword [esp + 0xf8]
lea ebx, [ecx + edx]
lea ebp, [eax - 4]
mov eax, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0xf4]
movzx edi, byte [esp + 0x32]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xec]
mov eax, dword [esp + 0x48]
jmp 0x46e7a3
mov edx, dword [esp + 0xf4]
jmp 0x46f1af
cmp edi, 0x108
jne 0x46f960
test ebp, ebp
jle 0x46f960
movzx ecx, byte [ebx]
cmp cl, 0x20
jne 0x46f960
lea ecx, [ebp - 2]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 1
add ecx, ebx
lea edx, [ebp - 1]
mov dword [esp], ecx
mov dword [esp + 4], edx
cmp edi, 0x109
sete cl
mov byte [esp + 8], cl
call fcn.0046e210
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test eax, eax
jge 0x46f953
mov ebp, 3
lea esi, [0x64af3f]
movzx edi, byte [esp + 0x32]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x9c]
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x10c]
mov dword [esp + 0xe8], edi
mov edi, dword [esp + 0x74]
mov dword [esp + 0x38], edi
mov dword [esp + 0x90], eax
mov dword [esp + 0x104], esi
mov dword [esp + 0x5c], ebp
mov eax, dword [esp + 0x48]
mov ebp, edx
mov esi, ebx
movzx edi, byte [esp + 0x32]
mov edx, dword [esp + 0xf4]
mov ebx, ecx
mov ecx, dword [esp + 0xec]
jmp 0x46e7a3
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x104]
jmp 0x46f8e9
mov edx, ebp
mov ecx, ebx
jmp 0x46f8b1
cmp ecx, 0x112
jne 0x46fa58
cmp ebp, 2
jge 0x46f9c2
mov esi, dword [0x76b088]
movzx edi, byte [esp + 0x32]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xec]
jmp 0x46e7a3
mov dword [esp], ebx
mov dword [esp + 4], 2
call fcn.0046c530
mov eax, dword [esp + 0x58]
lea ecx, [eax - 3]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 2
mov edx, dword [esp + 0xf8]
add ecx, edx
add eax, 0xfffffffe
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xc]
cmp edx, 0x45
jl 0x46fa50
add edx, 0x76c
mov ebp, eax
movzx edi, byte [esp + 0x32]
mov esi, dword [esp + 0x68]
mov dword [esp + 0x34], esi
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x78], eax
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0x10c]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x38], eax
mov esi, ebx
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xf4]
mov ebx, ecx
mov ecx, dword [esp + 0xec]
jmp 0x46e7a3
add edx, 0x7d0
jmp 0x46fa01
cmp ecx, 0x20a
je 0x46fa65
jmp 0x46f874
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov byte [esp + 8], 0
call fcn.0046e210
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
cmp eax, 0x18
jb 0x46fb00
mov ebp, 4
lea esi, [0x64b248]
movzx edi, byte [esp + 0x32]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x9c]
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x10c]
mov dword [esp + 0xe8], edi
mov edi, dword [esp + 0x74]
mov dword [esp + 0x38], edi
mov dword [esp + 0x8c], eax
mov dword [esp + 0x104], esi
mov dword [esp + 0x5c], ebp
mov eax, dword [esp + 0x48]
mov ebp, edx
mov esi, ebx
movzx edi, byte [esp + 0x32]
mov edx, dword [esp + 0xf4]
mov ebx, ecx
mov ecx, dword [esp + 0xec]
jmp 0x46e7a3
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x104]
jmp 0x46fa96
cmp ecx, 0x20e
jg 0x46fc98
lea edx, [ecx - 0x20b]
cmp edx, 1
jbe 0x46fbe8
add ecx, 0xfffffdf3
cmp ecx, 1
jbe 0x46fb38
jmp 0x46f874
mov dword [esp], ebx
mov dword [esp + 4], ebp
cmp edi, 0x20e
sete cl
mov byte [esp + 8], cl
call fcn.0046e210
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
cmp eax, 0x3c
jb 0x46fbdb
mov ebp, 6
lea esi, [0x64b81f]
movzx edi, byte [esp + 0x32]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x9c]
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x10c]
mov dword [esp + 0xe8], edi
mov edi, dword [esp + 0x74]
mov dword [esp + 0x38], edi
mov dword [esp + 0x80], eax
mov dword [esp + 0x104], esi
mov dword [esp + 0x5c], ebp
mov eax, dword [esp + 0x48]
mov ebp, edx
mov esi, ebx
movzx edi, byte [esp + 0x32]
mov edx, dword [esp + 0xf4]
mov ebx, ecx
mov ecx, dword [esp + 0xec]
jmp 0x46e7a3
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x104]
jmp 0x46fb71
mov dword [esp], ebx
mov dword [esp + 4], ebp
cmp edi, 0x20c
sete cl
mov byte [esp + 8], cl
call fcn.0046e210
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
cmp eax, 0xc
jbe 0x46fc8b
mov ebp, 4
lea esi, [0x64b248]
movzx edi, byte [esp + 0x32]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x9c]
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x10c]
mov dword [esp + 0xe8], edi
mov edi, dword [esp + 0x74]
mov dword [esp + 0x38], edi
mov dword [esp + 0x8c], eax
mov dword [esp + 0x104], esi
mov dword [esp + 0x5c], ebp
mov eax, dword [esp + 0x48]
mov ebp, edx
mov esi, ebx
movzx edi, byte [esp + 0x32]
mov edx, dword [esp + 0xf4]
mov ebx, ecx
mov ecx, dword [esp + 0xec]
jmp 0x46e7a3
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x104]
jmp 0x46fc21
lea edx, [ecx - 0x20f]
cmp edx, 1
jbe 0x46fec3
cmp ecx, 0x213
jne 0x46fdb5
cmp ebp, 2
jge 0x46fd07
mov esi, dword [0x76b088]
mov edx, dword [esp + 0xf4]
movzx edi, byte [esp + 0x32]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xec]
jmp 0x46e7a3
lea ecx, [ebp - 3]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 2
add ecx, ebx
lea edx, [ebp - 2]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x41
xchg ebp, eax
jne 0x46fd87
movzx edi, byte [ebx + 1]
xchg edi, eax
cmp al, 0x4d
xchg edi, eax
jne 0x46fd87
movzx ebx, byte [esp + 0x32]
mov ebp, 1
mov edi, ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x34], ebx
xchg ebp, eax
mov byte [esp + 0x33], al
xchg ebp, eax
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 0xe8], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x38], ebx
mov ebx, ecx
mov ebp, edx
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xf4]
jmp 0x46e7a3
xchg ebp, eax
cmp al, 0x50
xchg ebp, eax
jne 0x46fda3
movzx ebx, byte [ebx + 1]
cmp bl, 0x4d
jne 0x46fda3
mov ebx, 1
movzx ebp, byte [esp + 0x33]
jmp 0x46fd37
mov esi, dword [0x76b088]
movzx ebx, byte [esp + 0x32]
movzx ebp, byte [esp + 0x33]
jmp 0x46fd37
cmp ecx, 0x214
jne 0x46f874
cmp ebp, 2
jge 0x46fe15
mov esi, dword [0x76b088]
mov edx, dword [esp + 0xf4]
movzx edi, byte [esp + 0x32]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xec]
jmp 0x46e7a3
lea ecx, [ebp - 3]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 2
add ecx, ebx
lea edx, [ebp - 2]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x61
xchg ebp, eax
jne 0x46fe95
movzx edi, byte [ebx + 1]
xchg edi, eax
cmp al, 0x6d
xchg edi, eax
jne 0x46fe95
movzx ebx, byte [esp + 0x32]
mov ebp, 1
mov edi, ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x34], ebx
xchg ebp, eax
mov byte [esp + 0x33], al
xchg ebp, eax
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 0xe8], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x38], ebx
mov ebx, ecx
mov ebp, edx
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xf4]
jmp 0x46e7a3
xchg ebp, eax
cmp al, 0x70
xchg ebp, eax
jne 0x46feb1
movzx ebx, byte [ebx + 1]
cmp bl, 0x6d
jne 0x46feb1
mov ebx, 1
movzx ebp, byte [esp + 0x33]
jmp 0x46fe45
mov esi, dword [0x76b088]
movzx ebx, byte [esp + 0x32]
movzx ebp, byte [esp + 0x33]
jmp 0x46fe45
mov dword [esp], ebx
mov dword [esp + 4], ebp
cmp edi, 0x210
sete cl
mov byte [esp + 8], cl
call fcn.0046e210
mov eax, dword [esp + 0xc]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x100], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x54], edx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x11c], ebx
cmp eax, 0x3c
jb 0x46ff82
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xf4]
mov ebx, ecx
mov ebp, dword [esp + 0x54]
movzx edi, byte [esp + 0x32]
mov esi, dword [esp + 0x68]
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x9c]
mov dword [esp + 0x78], esi
mov esi, dword [esp + 0x40]
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x10c]
mov dword [esp + 0xe8], esi
mov esi, dword [esp + 0x74]
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x11c]
mov ecx, dword [esp + 0xec]
lea ebp, [0x64b85b]
mov dword [esp + 0x104], ebp
mov esi, 6
mov dword [esp + 0x5c], esi
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0x11c]
jmp 0x46e7a3
cmp edx, 2
jl 0x46ffa3
movzx ebp, byte [ecx]
xchg ebp, eax
cmp al, 0x2e
xchg ebp, eax
jne 0x46ffa3
movzx ebp, byte [ecx + 1]
add ebp, 0xffffffd0
xchg ebp, eax
cmp al, 9
xchg ebp, eax
jbe 0x470069
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x104]
mov edi, dword [esp + 0x6c]
mov eax, dword [esp + 0x48]
mov dword [esp + 0xe0], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x34], ecx
mov dword [esp + 0xd8], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x78], edx
mov dword [esp + 0xd0], ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0xc8], ebp
mov ebp, dword [esp + 0x10c]
mov dword [esp + 0xe8], ebp
mov dword [esp + 0xc0], esi
mov esi, dword [esp + 0x74]
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0xd0]
mov ecx, dword [esp + 0xec]
mov dword [esp + 0xb8], esi
mov esi, dword [esp + 0xc0]
mov dword [esp + 0x104], esi
mov dword [esp + 0xb0], esi
mov esi, dword [esp + 0xc8]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x6c], edi
mov edx, dword [esp + 0xf4]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0xd8]
movzx edi, byte [esp + 0x32]
mov esi, dword [esp + 0xd0]
jmp 0x46e7a3
mov ebp, dword [esp + 0xf0]
mov dword [esp], ebp
mov esi, dword [esp + 0x44]
mov dword [esp + 4], esi
call fcn.0046b300
mov eax, dword [esp + 0x10]
and eax, 0xffff
cmp eax, 0x20
jne 0x4700ed
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xf4]
mov ebx, dword [esp + 0x100]
mov ebp, dword [esp + 0x54]
movzx edi, byte [esp + 0x32]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x34], ecx
mov esi, dword [esp + 0x9c]
mov dword [esp + 0x78], esi
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x38], ecx
mov esi, dword [esp + 0x11c]
mov ecx, dword [esp + 0xec]
jmp 0x46e7a3
cmp eax, 0x21
je 0x47008e
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x100]
mov edx, 2
cmp edx, eax
jge 0x47011d
jae 0x470192
movzx ebx, byte [ecx + edx]
add ebx, 0xffffffd0
cmp bl, 9
ja 0x470189
inc edx
cmp edx, eax
jl 0x470106
mov dword [esp + 0x84], edx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004714c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x84]
mov esi, dword [esp + 0x54]
cmp ebp, esi
ja 0x470182
sub esi, ebp
lea edi, [esi - 1]
sar edi, 0x1f
xor edi, 0xffffffff
and edi, ebp
mov ebp, dword [esp + 0x100]
add ebp, edi
mov edi, eax
mov eax, dword [esp + 0x50]
mov eax, edx
mov edx, esi
mov esi, ecx
mov ecx, ebp
mov ebp, eax
mov eax, dword [esp + 0x50]
jmp 0x46ffb2
call fcn.004246c0
ud2
mov dword [esp + 0x84], edx
jmp 0x470124
call fcn.00424660
ud2
test ebp, ebp
jne 0x470dff
movzx ecx, byte [esp + 0x32]
test cl, cl
je 0x470df6
mov ecx, dword [esp + 0x8c]
cmp ecx, 0xc
jge 0x470ddb
add ecx, 0xc
mov edx, dword [esp + 0x90]
cmp edx, 1
jge 0x470371
lea eax, [0x62df40]
mov dword [esp], eax
call fcn.0040cd50
mov eax, dword [esp + 4]
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 0x15c]
mov dword [eax + 4], ecx
mov ecx, dword [0x77c810]
test ecx, ecx
jne 0x470352
mov ecx, dword [esp + 0x158]
mov dword [eax], ecx
mov ecx, dword [esp + 0x164]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x77c810]
lea edx, [eax + 8]
test ecx, ecx
jne 0x470333
mov ecx, dword [esp + 0x160]
mov dword [eax + 8], ecx
mov dword [eax + 0x14], 0
mov ecx, dword [0x77c810]
lea edx, [eax + 0x10]
test ecx, ecx
jne 0x470317
mov dword [eax + 0x10], 0
mov ecx, dword [esp + 0x58]
mov dword [eax + 0x1c], ecx
mov ecx, dword [0x77c810]
lea edx, [eax + 0x18]
test ecx, ecx
jne 0x4702f8
mov ecx, dword [esp + 0xf8]
mov dword [eax + 0x18], ecx
mov dword [eax + 0x24], 0x12
mov ecx, dword [0x77c810]
lea edx, [eax + 0x20]
test ecx, ecx
jne 0x4702dd
lea ecx, [0x64efb8]
mov dword [eax + 0x20], ecx
mov ecx, dword [0x66d290]
mov edx, dword [0x66d29c]
mov ebx, dword [0x66d294]
mov ebp, dword [0x66d298]
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], ebx
mov dword [esp + 0x178], ebp
mov dword [esp + 0x17c], edx
lea ecx, [0x742100]
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], eax
add esp, 0x154
ret
mov dword [esp], edx
lea ecx, [0x64efb8]
mov dword [esp + 4], ecx
call fcn.0040d580
mov eax, dword [esp + 0x128]
jmp 0x47028e
mov dword [esp], edx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 4], ecx
call fcn.0040d580
mov eax, dword [esp + 0x128]
jmp 0x470271
mov dword [esp], edx
mov dword [esp + 4], 0
call fcn.0040d580
mov eax, dword [esp + 0x128]
jmp 0x47024f
mov dword [esp], edx
mov ecx, dword [esp + 0x160]
mov dword [esp + 4], ecx
call fcn.0040d580
mov eax, dword [esp + 0x128]
jmp 0x470230
mov dword [esp], eax
mov ecx, dword [esp + 0x158]
mov dword [esp + 4], ecx
call fcn.0040d580
mov eax, dword [esp + 0x128]
jmp 0x47020b
mov esi, dword [esp + 0x9c]
cmp esi, 2
jne 0x470dd7
mov eax, dword [esp + 0x40]
mov edi, eax
sar eax, 0x1f
mov dword [esp + 0x9c], eax
and eax, 3
lea ebx, [eax + edi]
and ebx, 3
sub ebx, eax
test ebx, ebx
jne 0x470dce
mov eax, edi
mov ebx, 0x51eb851f
imul ebx
mov ebx, edx
sar edx, 5
mov eax, ebp
mov ebp, dword [esp + 0x9c]
sub edx, ebp
imul edx, edx, 0x64
sub edi, edx
test edi, edi
je 0x470db3
mov edx, 1
test dl, dl
je 0x470d89
mov edx, 0x1d
mov ebx, dword [esp + 0x90]
cmp ebx, edx
jle 0x4703f5
mov ebx, dword [esp + 0xf8]
mov ebp, eax
jmp 0x4701d1
mov eax, dword [esp + 0xec]
test eax, eax
jne 0x470d09
mov eax, dword [esp + 0x68]
cmp eax, 0xffffffff
jne 0x4708ef
mov eax, dword [esp + 0x74]
test eax, eax
je 0x470868
mov edx, dword [esp + 0x40]
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x18], ecx
mov ecx, dword [0x766400]
mov dword [esp + 0x1c], ecx
call fcn.00473aa0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x144], ebx
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], edx
mov dword [esp + 0x150], ecx
mov eax, dword [esp + 0x16c]
mov dword [esp], eax
mov ecx, dword [esp + 0x10c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x74]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x144]
add ebx, 0x886e0900
mov ebp, dword [esp + 0x148]
mov dword [esp + 0xc], ebx
adc ebp, 0xfffffff1
mov dword [esp + 0x10], ebp
call fcn.00474790
mov eax, dword [esp + 0x14]
movzx ecx, byte [esp + 0x19]
test cl, cl
je 0x470569
mov ecx, dword [esp + 0x144]
mov edx, ecx
sub ecx, eax
mov ebx, dword [esp + 0x148]
mov dword [esp + 0x144], ecx
mov ecx, eax
sar eax, 0x1f
sub edx, ecx
sbb ebx, eax
mov dword [esp + 0x148], ebx
mov eax, dword [esp + 0x16c]
lea ecx, [0x769120]
cmp eax, ecx
jne 0x470514
xor eax, eax
mov dword [esp + 0x150], eax
mov ecx, dword [esp + 0x148]
mov edx, dword [esp + 0x144]
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0x170], edx
mov dword [esp + 0x174], ecx
mov dword [esp + 0x178], ebx
mov dword [esp + 0x17c], eax
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0
add esp, 0x154
ret
mov ecx, dword [esp + 0x74]
cmp ecx, 3
jle 0x47085c
mov edx, dword [esp + 0x10c]
movzx ebx, byte [edx]
cmp bl, 0x47
jne 0x47059b
movzx ebx, byte [edx + 1]
cmp bl, 0x4d
jne 0x47059b
movzx ebx, byte [edx + 2]
cmp bl, 0x54
je 0x470825
mov dword [esp + 0x64], eax
lea ebx, [0x631860]
mov dword [esp], ebx
call fcn.0040cd50
mov eax, dword [esp + 4]
mov dword [esp + 0x118], eax
mov ecx, dword [esp + 0x74]
mov dword [eax + 4], ecx
mov edx, dword [0x77c810]
test edx, edx
jne 0x4707fb
mov edx, dword [esp + 0x10c]
mov dword [eax], edx
lea ebx, [0x6046a0]
mov dword [esp], ebx
call fcn.0040cd50
mov eax, dword [esp + 4]
mov dword [esp + 0x124], eax
movzx ecx, byte [0x66d2bc]
mov edx, dword [0x66d2b8]
mov ebx, dword [0x66d2b0]
mov ebp, dword [0x66d2b4]
mov dword [eax + 4], ebp
mov dword [eax + 8], edx
mov byte [eax + 0xc], cl
mov ecx, dword [0x77c810]
test ecx, ecx
jne 0x4707e3
mov dword [eax], ebx
mov ecx, dword [esp + 0x74]
mov dword [eax + 4], ecx
mov ecx, dword [0x77c810]
test ecx, ecx
jne 0x4707c4
mov ecx, dword [esp + 0x10c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x118]
mov dword [ecx + 0xc], 1
mov dword [ecx + 0x10], 1
mov edx, dword [0x77c810]
lea ebx, [ecx + 8]
test edx, edx
jne 0x4707ac
mov dword [ecx + 8], eax
lea eax, [0x6046e0]
mov dword [esp], eax
call fcn.0040cd50
movzx eax, byte [0x66cf91]
movzx ecx, byte [0x66cf90]
mov edx, dword [0x66cf8c]
mov ebx, dword [esp + 4]
mov ebp, dword [0x66cf88]
movzx esi, byte [0x66cf92]
mov dword [ebx], ebp
mov dword [ebx + 4], edx
mov byte [ebx + 8], cl
mov byte [ebx + 9], al
xchg esi, eax
mov byte [ebx + 0xa], al
xchg esi, eax
test byte [ebx], al
mov eax, dword [esp + 0x118]
mov dword [eax + 0x18], 1
mov dword [eax + 0x1c], 1
mov ecx, dword [0x77c810]
lea edx, [eax + 0x14]
test ecx, ecx
jne 0x470794
mov dword [eax + 0x14], ebx
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0x80000000
mov dword [eax + 0x28], 0xffffffff
mov dword [eax + 0x2c], 0x7fffffff
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
test edx, edx
jbe 0x47078d
mov edx, dword [0x77c810]
lea ebx, [eax + 0x30]
test edx, edx
jne 0x470778
mov dword [eax + 0x30], ecx
lea ecx, [0x769120]
cmp eax, ecx
jne 0x470723
xor eax, eax
mov dword [esp + 0x150], eax
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x148]
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], edx
mov dword [esp + 0x178], ebx
mov dword [esp + 0x17c], eax
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0
add esp, 0x154
ret
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.0040d580
mov eax, dword [esp + 0x118]
jmp 0x470717
call fcn.00424660
ud2
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.0040d580
mov eax, dword [esp + 0x118]
jmp 0x4706dd
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040d580
mov ecx, dword [esp + 0x118]
jmp 0x47066f
mov dword [esp], eax
mov ecx, dword [esp + 0x10c]
mov dword [esp + 4], ecx
call fcn.0040d580
mov eax, dword [esp + 0x124]
jmp 0x47063f
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.0040d580
mov eax, dword [esp + 0x124]
jmp 0x470621
mov dword [esp], eax
mov edx, dword [esp + 0x10c]
mov dword [esp + 4], edx
call fcn.0040d580
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x10c]
jmp 0x4705d6
lea eax, [ecx - 4]
sar eax, 0x1f
xor eax, 0xffffffff
and eax, 3
add eax, edx
mov dword [esp], eax
lea eax, [ecx - 3]
mov dword [esp + 4], eax
call fcn.0046c530
mov eax, dword [esp + 8]
imul eax, eax, 0xe10
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x10c]
jmp 0x47059b
mov edx, dword [esp + 0x10c]
jmp 0x47059b
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x80]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 0x1c], eax
call fcn.00473aa0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], eax
mov dword [esp + 0x178], ebx
mov dword [esp + 0x17c], edx
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0
add esp, 0x154
ret
mov edx, dword [esp + 0x40]
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x18], ecx
mov ecx, dword [0x766400]
mov dword [esp + 0x1c], ecx
call fcn.00473aa0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x134], ebx
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], edx
mov dword [esp + 0x140], ecx
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x68]
mov edx, eax
sub eax, ecx
mov ebx, dword [esp + 0x138]
mov dword [esp + 0x134], eax
mov eax, ecx
sar ecx, 0x1f
sub edx, eax
sbb ebx, ecx
mov dword [esp + 0x138], ebx
mov ecx, dword [esp + 0x16c]
mov dword [esp], ecx
mov edx, dword [esp + 0x134]
add edx, 0x886e0900
mov ebx, dword [esp + 0x138]
mov dword [esp + 4], edx
adc ebx, 0xfffffff1
mov dword [esp + 8], ebx
call fcn.00474350
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x68]
cmp eax, ebx
jne 0x470d00
mov eax, dword [esp + 0x74]
test eax, eax
jne 0x470a3b
mov eax, dword [esp + 0x16c]
lea ecx, [0x769120]
cmp eax, ecx
jne 0x4709e6
xor eax, eax
mov dword [esp + 0x140], eax
mov ecx, dword [esp + 0x138]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0x13c]
mov dword [esp + 0x170], edx
mov dword [esp + 0x174], ecx
mov dword [esp + 0x178], ebx
mov dword [esp + 0x17c], eax
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0
add esp, 0x154
ret
cmp edx, eax
je 0x470ccb
lea ecx, [0x631860]
mov dword [esp], ecx
call fcn.0040cd50
mov eax, dword [esp + 4]
mov dword [esp + 0x114], eax
mov ecx, dword [esp + 0x74]
mov dword [eax + 4], ecx
mov edx, dword [0x77c810]
test edx, edx
jne 0x470ca1
mov edx, dword [esp + 0x10c]
mov dword [eax], edx
lea ebx, [0x6046a0]
mov dword [esp], ebx
call fcn.0040cd50
mov eax, dword [0x66d2a8]
movzx ecx, byte [0x66d2ac]
mov edx, dword [esp + 4]
mov dword [esp + 0x120], edx
mov ebx, dword [0x66d2a0]
mov ebp, dword [0x66d2a4]
mov dword [edx + 4], ebp
mov dword [edx + 8], eax
mov byte [edx + 0xc], cl
mov eax, dword [0x77c810]
test eax, eax
jne 0x470c89
mov dword [edx], ebx
mov eax, dword [esp + 0x74]
mov dword [edx + 4], eax
mov eax, dword [0x77c810]
test eax, eax
jne 0x470c6a
mov eax, dword [esp + 0x10c]
mov dword [edx], eax
mov eax, dword [esp + 0x68]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x114]
mov dword [eax + 0xc], 1
mov dword [eax + 0x10], 1
mov ecx, dword [0x77c810]
lea ebx, [eax + 8]
test ecx, ecx
jne 0x470c52
mov dword [eax + 8], edx
lea ecx, [0x6046e0]
mov dword [esp], ecx
call fcn.0040cd50
mov eax, dword [0x66cf7c]
mov ecx, dword [0x66cf78]
movzx edx, byte [0x66cf80]
movzx ebx, byte [0x66cf81]
mov ebp, dword [esp + 4]
movzx esi, byte [0x66cf82]
mov dword [ebp], ecx
mov dword [ebp + 4], eax
mov byte [ebp + 8], dl
mov byte [ebp + 9], bl
xchg esi, eax
mov byte [ebp + 0xa], al
xchg esi, eax
test byte [ebp], al
mov eax, dword [esp + 0x114]
mov dword [eax + 0x18], 1
mov dword [eax + 0x1c], 1
mov ecx, dword [0x77c810]
lea edx, [eax + 0x14]
test ecx, ecx
jne 0x470c3a
mov dword [eax + 0x14], ebp
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0x80000000
mov dword [eax + 0x28], 0xffffffff
mov dword [eax + 0x2c], 0x7fffffff
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
test edx, edx
jbe 0x470c33
mov edx, dword [0x77c810]
lea ebx, [eax + 0x30]
test edx, edx
jne 0x470c1e
mov dword [eax + 0x30], ecx
lea ecx, [0x769120]
cmp eax, ecx
jne 0x470bc9
xor eax, eax
mov dword [esp + 0x140], eax
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0x138]
mov ebx, dword [esp + 0x13c]
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], edx
mov dword [esp + 0x178], ebx
mov dword [esp + 0x17c], eax
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0
add esp, 0x154
ret
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.0040d580
mov eax, dword [esp + 0x114]
jmp 0x470bbd
call fcn.00424660
ud2
mov dword [esp], edx
mov dword [esp + 4], ebp
call fcn.0040d580
mov eax, dword [esp + 0x114]
jmp 0x470b83
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.0040d580
mov eax, dword [esp + 0x114]
jmp 0x470b13
mov dword [esp], edx
mov eax, dword [esp + 0x10c]
mov dword [esp + 4], eax
call fcn.0040d580
mov edx, dword [esp + 0x120]
jmp 0x470ae3
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.0040d580
mov edx, dword [esp + 0x120]
jmp 0x470ac5
mov dword [esp], eax
mov edx, dword [esp + 0x10c]
mov dword [esp + 4], edx
call fcn.0040d580
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x10c]
jmp 0x470a7a
mov dword [esp], ecx
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.00449cb0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x4709d3
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x68]
jmp 0x470a43
mov eax, dword [esp + 0x74]
jmp 0x470a43
mov edx, dword [esp + 0x40]
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
call fcn.00473aa0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], ebx
mov dword [esp + 0x178], edx
mov dword [esp + 0x17c], eax
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0
add esp, 0x154
ret
cmp esi, 0xd
jae 0x470dac
lea edx, [0x745560]
mov ebx, dword [edx + esi*4]
lea ebp, [esi - 1]
cmp ebp, 0xd
jae 0x470dac
mov ebp, dword [edx + esi*4 - 4]
sub ebx, ebp
mov edx, ebx
jmp 0x4703dc
call fcn.00424660
ud2
sar ebx, 7
sub ebx, ebp
imul ebx, ebx, 0x190
mov ebp, dword [esp + 0x40]
sub ebp, ebx
test ebp, ebp
sete dl
jmp 0x4703cf
mov eax, ebp
xor edx, edx
jmp 0x4703cf
mov eax, ebp
jmp 0x470d89
movzx edx, byte [esp + 0x33]
test dl, dl
je 0x470df2
cmp ecx, 0xc
jne 0x470df2
xor eax, eax
mov ecx, eax
jmp 0x4701c1
mov eax, ecx
jmp 0x470deb
mov ecx, dword [esp + 0x8c]
jmp 0x470ddb
lea eax, [0x62df40]
mov dword [esp], eax
call fcn.0040cd50
mov eax, dword [esp + 4]
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 0x15c]
mov dword [eax + 4], ecx
mov ecx, dword [0x77c810]
test ecx, ecx
jne 0x470fb0
mov ecx, dword [esp + 0x158]
mov dword [eax], ecx
mov ecx, dword [esp + 0x164]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x77c810]
lea edx, [eax + 8]
test ecx, ecx
jne 0x470f91
mov ecx, dword [esp + 0x160]
mov dword [eax + 8], ecx
mov dword [eax + 0x14], 0
mov ecx, dword [0x77c810]
lea edx, [eax + 0x10]
test ecx, ecx
jne 0x470f75
mov dword [eax + 0x10], 0
mov ecx, dword [esp + 0x58]
mov dword [eax + 0x1c], ecx
mov edx, dword [0x77c810]
lea ebx, [eax + 0x18]
test edx, edx
jne 0x470f4b
mov edx, dword [esp + 0xf8]
mov dword [eax + 0x18], edx
mov dword [esp], 0
lea ebx, [0x64da6d]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0xe
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.0043a530
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x128]
mov dword [edx + 0x24], ecx
mov ecx, dword [0x77c810]
lea ebx, [edx + 0x20]
test ecx, ecx
jne 0x470f36
mov dword [edx + 0x20], eax
mov eax, dword [0x66d260]
mov ecx, dword [0x66d264]
mov ebx, dword [0x66d26c]
mov ebp, dword [0x66d268]
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], ecx
mov dword [esp + 0x178], ebp
mov dword [esp + 0x17c], ebx
lea eax, [0x742100]
mov dword [esp + 0x180], eax
mov dword [esp + 0x184], edx
add esp, 0x154
ret
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040d580
mov edx, dword [esp + 0x128]
jmp 0x470ee7
mov dword [esp], ebx
mov edx, dword [esp + 0xf8]
mov dword [esp + 4], edx
call fcn.0040d580
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0xf8]
jmp 0x470e9f
mov dword [esp], edx
mov dword [esp + 4], 0
call fcn.0040d580
mov eax, dword [esp + 0x128]
jmp 0x470e7d
mov dword [esp], edx
mov ecx, dword [esp + 0x160]
mov dword [esp + 4], ecx
call fcn.0040d580
mov eax, dword [esp + 0x128]
jmp 0x470e5e
mov dword [esp], eax
mov ecx, dword [esp + 0x158]
mov dword [esp + 4], ecx
call fcn.0040d580
mov eax, dword [esp + 0x128]
jmp 0x470e39
lea eax, [0x62df40]
mov dword [esp], eax
call fcn.0040cd50
mov eax, dword [esp + 4]
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 0x15c]
mov dword [eax + 4], ecx
mov ecx, dword [0x77c810]
test ecx, ecx
jne 0x471152
mov ecx, dword [esp + 0x158]
mov dword [eax], ecx
mov ecx, dword [esp + 0x164]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x77c810]
lea edx, [eax + 8]
test ecx, ecx
jne 0x471133
mov ecx, dword [esp + 0x160]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x60]
mov dword [eax + 0x14], ecx
mov ecx, dword [0x77c810]
lea edx, [eax + 0x10]
test ecx, ecx
jne 0x471114
mov ecx, dword [esp + 0x108]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 0x1c], ecx
mov ecx, dword [0x77c810]
lea edx, [eax + 0x18]
test ecx, ecx
jne 0x4710f5
mov ecx, dword [esp + 0xf8]
mov dword [eax + 0x18], ecx
mov dword [eax + 0x24], 0
mov ecx, dword [0x77c810]
lea edx, [eax + 0x20]
test ecx, ecx
jne 0x4710dc
mov dword [eax + 0x20], 0
mov ecx, dword [0x66d250]
mov edx, dword [0x66d254]
mov ebx, dword [0x66d258]
mov ebp, dword [0x66d25c]
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], edx
mov dword [esp + 0x178], ebx
mov dword [esp + 0x17c], ebp
lea ecx, [0x742100]
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], eax
add esp, 0x154
ret
mov dword [esp], edx
mov dword [esp + 4], 0
call fcn.0040d580
mov eax, dword [esp + 0x128]
jmp 0x47108d
mov dword [esp], edx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 4], ecx
call fcn.0040d580
mov eax, dword [esp + 0x128]
jmp 0x471072
mov dword [esp], edx
mov ecx, dword [esp + 0x108]
mov dword [esp + 4], ecx
call fcn.0040d580
mov eax, dword [esp + 0x128]
jmp 0x471050
mov dword [esp], edx
mov ecx, dword [esp + 0x160]
mov dword [esp + 4], ecx
call fcn.0040d580
mov eax, dword [esp + 0x128]
jmp 0x47102e
mov dword [esp], eax
mov ecx, dword [esp + 0x158]
mov dword [esp + 4], ecx
call fcn.0040d580
mov eax, dword [esp + 0x128]
jmp 0x471009
call fcn.004246c0
ud2
call fcn.00448420
jmp fcn.0046e540