Function at 0x46e2d0
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 0x470f08
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.0046b090
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 0x470f01
cmp esi, edi
ja 0x470f01
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.0046e100
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 0x470d5f
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x46ff29
mov edi, ecx
and ecx, 0xffff
cmp ecx, 0x106
jg 0x46f4f2
cmp ecx, 0x21
jg 0x46f1f3
cmp ecx, 0x1f
jg 0x46ef81
cmp ecx, 0x15
jne 0x46ea30
cmp ebp, 3
jl 0x46e940
movzx ecx, byte [ebx]
cmp cl, 0x55
jne 0x46e940
movzx ecx, byte [ebx + 1]
cmp cl, 0x54
jne 0x46e940
movzx ecx, byte [ebx + 2]
cmp cl, 0x43
jne 0x46e940
mov ecx, dword [0x86e00c]
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 0x46e755
test esi, esi
jne 0x46e5b0
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 0x46e37c
lea ecx, [0x6ddd20]
mov dword [esp], ecx
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 0x15c]
mov dword [eax + 4], ecx
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x46e736
mov ecx, dword [esp + 0x158]
mov dword [eax], ecx
mov ecx, dword [esp + 0x164]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x884700]
lea edx, [eax + 8]
test ecx, ecx
jne 0x46e717
mov ecx, dword [esp + 0x160]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x14], ecx
mov ecx, dword [0x884700]
lea edx, [eax + 0x10]
test ecx, ecx
jne 0x46e6f8
mov ecx, dword [esp + 0xf4]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x9c]
mov dword [eax + 0x1c], ecx
mov ecx, dword [0x884700]
lea edx, [eax + 0x18]
test ecx, ecx
jne 0x46e6d9
mov ecx, dword [esp + 0x130]
mov dword [eax + 0x18], ecx
mov dword [eax + 0x24], 0
mov ecx, dword [0x884700]
lea edx, [eax + 0x20]
test ecx, ecx
jne 0x46e6c0
mov dword [eax + 0x20], 0
mov ecx, dword [0x731020]
mov edx, dword [0x731028]
mov ebx, dword [0x731024]
mov ebp, dword [0x73102c]
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], ebx
mov dword [esp + 0x178], edx
mov dword [esp + 0x17c], ebp
lea ecx, [0x8484c0]
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.0040d5a0
mov eax, dword [esp + 0x128]
jmp 0x46e671
mov dword [esp], edx
mov ecx, dword [esp + 0x130]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x128]
jmp 0x46e656
mov dword [esp], edx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x128]
jmp 0x46e631
mov dword [esp], edx
mov ecx, dword [esp + 0x160]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x128]
jmp 0x46e60f
mov dword [esp], eax
mov ecx, dword [esp + 0x158]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x128]
jmp 0x46e5ea
lea ecx, [0x6ddd20]
mov dword [esp], ecx
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 0x15c]
mov dword [eax + 4], ecx
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x46e921
mov ecx, dword [esp + 0x158]
mov dword [eax], ecx
mov ecx, dword [esp + 0x164]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x884700]
lea edx, [eax + 8]
test ecx, ecx
jne 0x46e902
mov ecx, dword [esp + 0x160]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x14], ecx
mov ecx, dword [0x884700]
lea edx, [eax + 0x10]
test ecx, ecx
jne 0x46e8e3
mov ecx, dword [esp + 0xf4]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x9c]
mov dword [eax + 0x1c], ecx
mov ecx, dword [0x884700]
lea edx, [eax + 0x18]
test ecx, ecx
jne 0x46e8c4
mov ecx, dword [esp + 0x130]
mov dword [eax + 0x18], ecx
mov dword [esp], 0
lea ecx, [0x70408f]
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, [0x7076c6]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], 0xd
call fcn.0043a8a0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x128]
mov dword [edx + 0x24], ecx
mov ecx, dword [0x884700]
lea ebx, [edx + 0x20]
test ecx, ecx
jne 0x46e8af
mov dword [edx + 0x20], eax
mov eax, dword [0x73101c]
mov ecx, dword [0x731018]
mov ebx, dword [0x731010]
mov ebp, dword [0x731014]
mov dword [esp + 0x170], ebx
mov dword [esp + 0x174], ebp
mov dword [esp + 0x178], ecx
mov dword [esp + 0x17c], eax
lea eax, [0x8484c0]
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.0040d5a0
mov edx, dword [esp + 0x128]
jmp 0x46e860
mov dword [esp], edx
mov ecx, dword [esp + 0x130]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x128]
jmp 0x46e7fb
mov dword [esp], edx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x128]
jmp 0x46e7d6
mov dword [esp], edx
mov ecx, dword [esp + 0x160]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x128]
jmp 0x46e7b4
mov dword [esp], eax
mov ecx, dword [esp + 0x158]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x128]
jmp 0x46e78f
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.00470f20
mov eax, dword [esp + 8]
movzx ecx, byte [esp + 0xc]
test cl, cl
je 0x46e9d2
mov ecx, dword [esp + 0x58]
cmp eax, ecx
ja 0x46e9cb
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 0x46e533
call fcn.004246e0
ud2
mov esi, dword [0x872d10]
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 0x46e533
add ecx, 0xffffffea
cmp ecx, 9
ja 0x46ef3f
cmp edi, 0x16
jne 0x46ef28
cmp ebp, 1
jl 0x46eaa7
movzx ecx, byte [ebx]
cmp cl, 0x5a
jne 0x46eaa7
lea ecx, [ebp - 2]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 1
add ebx, ecx
dec ebp
mov ecx, dword [0x86e00c]
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 0x46e533
cmp edi, 0x19
jne 0x46eca9
cmp ebp, 6
jge 0x46eafd
mov esi, dword [0x872d10]
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 0x46e533
movzx ecx, byte [ebx + 3]
cmp cl, 0x3a
je 0x46eb4e
mov esi, dword [0x872d10]
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 0x46e533
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, [0x70407b]
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.0046c2c0
mov eax, dword [esp + 8]
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x46ec7e
xor edx, edx
mov dword [esp + 0x7c], edx
test ecx, ecx
je 0x46ec4f
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 0x46ec3e
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 0x46e533
cmp dl, 0x2d
jne 0x46ec47
neg eax
jmp 0x46ebe5
mov ecx, dword [0x872d10]
jmp 0x46ebe5
mov ecx, dword [esp + 0xfc]
mov dword [esp], ecx
mov dword [esp + 4], 2
call fcn.0046c2c0
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x7c]
jmp 0x46ebcc
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov dword [esp + 4], 2
call fcn.0046c2c0
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x88]
jmp 0x46ebbe
cmp edi, 0x1e
je 0x46eab0
cmp edi, 0x1d
jne 0x46ed50
cmp ebp, 3
jge 0x46ed08
mov esi, dword [0x872d10]
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 0x46e533
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, [0x70407b]
mov dword [esp + 0xa0], eax
lea eax, [0x70407b]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xfc], edi
mov edi, dword [esp + 0x110]
jmp 0x46eb80
cmp edi, 0x18
je 0x46ecbb
cmp edi, 0x1a
jne 0x46ee3a
cmp ebp, 9
jge 0x46edaf
mov esi, dword [0x872d10]
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 0x46e533
movzx ecx, byte [ebx + 3]
cmp cl, 0x3a
je 0x46ee00
mov esi, dword [0x872d10]
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 0x46e533
movzx ecx, byte [ebx + 6]
cmp cl, 0x3a
je 0x46ee0b
jmp 0x46edb8
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 0x46ed3d
cmp edi, 0x1f
je 0x46ed62
cmp edi, 0x17
jne 0x46eeb4
cmp ebp, 7
jge 0x46ee95
mov esi, dword [0x872d10]
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 0x46e533
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 0x46ee25
cmp edi, 0x1c
je 0x46ee48
cmp ebp, 5
jge 0x46ef06
mov esi, dword [0x872d10]
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 0x46e533
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, [0x70407b]
jmp 0x46ee25
cmp edi, 0x18
je 0x46ea45
cmp edi, 0x19
jne 0x46eaa7
jmp 0x46ea45
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 0x46e533
cmp ecx, 0x20
jne 0x46f09b
sar edi, 0x10
lea ecx, [edi + 1]
mov dword [esp + 0x70], ecx
cmp ebp, ecx
jge 0x46efe0
mov esi, dword [0x872d10]
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 0x46e533
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
call fcn.00471250
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 0x46f094
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 0x46e533
call fcn.004246e0
ud2
cmp ebp, 2
jge 0x46f0e2
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 0x46e533
movzx ecx, byte [ebx]
cmp cl, 0x2e
jne 0x46f0a0
movzx ecx, byte [ebx + 1]
cmp cl, 0x30
jb 0x46f0a0
cmp cl, 0x39
ja 0x46f0a0
xor ecx, ecx
cmp ecx, 9
jge 0x46f126
lea esi, [ecx + 1]
cmp esi, ebp
jge 0x46f126
jae 0x46f1ec
movzx edi, byte [ebx + ecx + 1]
xchg edi, eax
cmp al, 0x30
xchg edi, eax
jb 0x46f126
xchg edi, eax
cmp al, 0x39
xchg edi, eax
ja 0x46f126
mov ecx, esi
cmp ecx, 9
jl 0x46f0ff
mov dword [esp], ebx
mov dword [esp + 4], ebp
inc ecx
mov dword [esp + 0x98], ecx
mov dword [esp + 8], ecx
call fcn.00471250
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 0x46f1e5
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 0x46e533
call fcn.004246e0
ud2
call fcn.00424680
ud2
cmp ecx, 0x102
jg 0x46f318
cmp ecx, 0x101
je 0x46f298
cmp ecx, 0x102
je 0x46f218
jmp 0x46ef3f
mov ecx, dword [0x86ebd0]
mov esi, dword [0x86ebd4]
mov edi, dword [0x86ebd8]
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.0046bf80
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 0x46e533
mov ecx, dword [0x86ebb0]
mov esi, dword [0x86ebb4]
mov edi, dword [0x86ebb8]
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.0046bf80
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 0x46e533
lea edx, [ecx - 0x103]
cmp edx, 1
jbe 0x46f44d
cmp ecx, 0x105
je 0x46f3ca
cmp ecx, 0x106
je 0x46f347
mov edx, dword [esp + 0xf4]
jmp 0x46ef3f
mov ecx, dword [0x86ebc0]
mov edx, dword [0x86ebc4]
mov esi, dword [0x86ebc8]
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.0046bf80
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 0x46e533
mov ecx, dword [0x86eba0]
mov edx, dword [0x86eba4]
mov esi, dword [0x86eba8]
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.0046bf80
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 0x46e533
mov dword [esp], ebx
mov dword [esp + 4], ebp
cmp edi, 0x104
sete cl
mov byte [esp + 8], cl
call fcn.0046dfa0
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 0x46f4e5
mov ebp, 5
lea esi, [0x704ecd]
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 0x46e533
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x104]
jmp 0x46f489
cmp ecx, 0x20a
jg 0x46f89d
cmp ecx, 0x111
jg 0x46f6f9
lea edx, [ecx - 0x107]
cmp edx, 2
jbe 0x46f610
cmp ecx, 0x111
jne 0x46f604
cmp ebp, 4
jge 0x46f579
mov esi, dword [0x872d10]
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 0x46e533
movzx ecx, byte [ebx]
add ecx, 0xffffffd0
cmp cl, 9
jbe 0x46f586
jmp 0x46f52a
mov dword [esp], ebx
mov dword [esp + 4], 4
call fcn.0046c2c0
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 0x46e533
mov edx, dword [esp + 0xf4]
jmp 0x46ef3f
cmp edi, 0x108
jne 0x46f6f0
test ebp, ebp
jle 0x46f6f0
movzx ecx, byte [ebx]
cmp cl, 0x20
jne 0x46f6f0
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.0046dfa0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test eax, eax
jge 0x46f6e3
mov ebp, 3
lea esi, [0x7044d5]
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 0x46e533
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x104]
jmp 0x46f679
mov edx, ebp
mov ecx, ebx
jmp 0x46f641
cmp ecx, 0x112
jne 0x46f7e8
cmp ebp, 2
jge 0x46f752
mov esi, dword [0x872d10]
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 0x46e533
mov dword [esp], ebx
mov dword [esp + 4], 2
call fcn.0046c2c0
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 0x46f7e0
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 0x46e533
add edx, 0x7d0
jmp 0x46f791
cmp ecx, 0x20a
je 0x46f7f5
jmp 0x46f604
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov byte [esp + 8], 0
call fcn.0046dfa0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
cmp eax, 0x18
jb 0x46f890
mov ebp, 4
lea esi, [0x704a2b]
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 0x46e533
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x104]
jmp 0x46f826
cmp ecx, 0x20e
jg 0x46fa28
lea edx, [ecx - 0x20b]
cmp edx, 1
jbe 0x46f978
add ecx, 0xfffffdf3
cmp ecx, 1
jbe 0x46f8c8
jmp 0x46f604
mov dword [esp], ebx
mov dword [esp + 4], ebp
cmp edi, 0x20e
sete cl
mov byte [esp + 8], cl
call fcn.0046dfa0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
cmp eax, 0x3c
jb 0x46f96b
mov ebp, 6
lea esi, [0x705368]
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 0x46e533
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x104]
jmp 0x46f901
mov dword [esp], ebx
mov dword [esp + 4], ebp
cmp edi, 0x20c
sete cl
mov byte [esp + 8], cl
call fcn.0046dfa0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
cmp eax, 0xc
jbe 0x46fa1b
mov ebp, 4
lea esi, [0x704a2b]
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 0x46e533
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x104]
jmp 0x46f9b1
lea edx, [ecx - 0x20f]
cmp edx, 1
jbe 0x46fc53
cmp ecx, 0x213
jne 0x46fb45
cmp ebp, 2
jge 0x46fa97
mov esi, dword [0x872d10]
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 0x46e533
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 0x46fb17
movzx edi, byte [ebx + 1]
xchg edi, eax
cmp al, 0x4d
xchg edi, eax
jne 0x46fb17
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 0x46e533
xchg ebp, eax
cmp al, 0x50
xchg ebp, eax
jne 0x46fb33
movzx ebx, byte [ebx + 1]
cmp bl, 0x4d
jne 0x46fb33
mov ebx, 1
movzx ebp, byte [esp + 0x33]
jmp 0x46fac7
mov esi, dword [0x872d10]
movzx ebx, byte [esp + 0x32]
movzx ebp, byte [esp + 0x33]
jmp 0x46fac7
cmp ecx, 0x214
jne 0x46f604
cmp ebp, 2
jge 0x46fba5
mov esi, dword [0x872d10]
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 0x46e533
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 0x46fc25
movzx edi, byte [ebx + 1]
xchg edi, eax
cmp al, 0x6d
xchg edi, eax
jne 0x46fc25
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 0x46e533
xchg ebp, eax
cmp al, 0x70
xchg ebp, eax
jne 0x46fc41
movzx ebx, byte [ebx + 1]
cmp bl, 0x6d
jne 0x46fc41
mov ebx, 1
movzx ebp, byte [esp + 0x33]
jmp 0x46fbd5
mov esi, dword [0x872d10]
movzx ebx, byte [esp + 0x32]
movzx ebp, byte [esp + 0x33]
jmp 0x46fbd5
mov dword [esp], ebx
mov dword [esp + 4], ebp
cmp edi, 0x210
sete cl
mov byte [esp + 8], cl
call fcn.0046dfa0
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 0x46fd12
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, [0x7053f2]
mov dword [esp + 0x104], ebp
mov esi, 6
mov dword [esp + 0x5c], esi
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0x11c]
jmp 0x46e533
cmp edx, 2
jl 0x46fd33
movzx ebp, byte [ecx]
xchg ebp, eax
cmp al, 0x2e
xchg ebp, eax
jne 0x46fd33
movzx ebp, byte [ecx + 1]
add ebp, 0xffffffd0
xchg ebp, eax
cmp al, 9
xchg ebp, eax
jbe 0x46fdf9
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 0x46e533
mov ebp, dword [esp + 0xf0]
mov dword [esp], ebp
mov esi, dword [esp + 0x44]
mov dword [esp + 4], esi
call fcn.0046b090
mov eax, dword [esp + 0x10]
and eax, 0xffff
cmp eax, 0x20
jne 0x46fe7d
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 0x46e533
cmp eax, 0x21
je 0x46fe1e
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x100]
mov edx, 2
cmp edx, eax
jge 0x46fead
jae 0x46ff22
movzx ebx, byte [ecx + edx]
add ebx, 0xffffffd0
cmp bl, 9
ja 0x46ff19
inc edx
cmp edx, eax
jl 0x46fe96
mov dword [esp + 0x84], edx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00471250
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 0x46ff12
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 0x46fd42
call fcn.004246e0
ud2
mov dword [esp + 0x84], edx
jmp 0x46feb4
call fcn.00424680
ud2
test ebp, ebp
jne 0x470b8f
movzx ecx, byte [esp + 0x32]
test cl, cl
je 0x470b86
mov ecx, dword [esp + 0x8c]
cmp ecx, 0xc
jge 0x470b6b
add ecx, 0xc
mov edx, dword [esp + 0x90]
cmp edx, 1
jge 0x470101
lea eax, [0x6ddd20]
mov dword [esp], eax
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 0x15c]
mov dword [eax + 4], ecx
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x4700e2
mov ecx, dword [esp + 0x158]
mov dword [eax], ecx
mov ecx, dword [esp + 0x164]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x884700]
lea edx, [eax + 8]
test ecx, ecx
jne 0x4700c3
mov ecx, dword [esp + 0x160]
mov dword [eax + 8], ecx
mov dword [eax + 0x14], 0
mov ecx, dword [0x884700]
lea edx, [eax + 0x10]
test ecx, ecx
jne 0x4700a7
mov dword [eax + 0x10], 0
mov ecx, dword [esp + 0x58]
mov dword [eax + 0x1c], ecx
mov ecx, dword [0x884700]
lea edx, [eax + 0x18]
test ecx, ecx
jne 0x470088
mov ecx, dword [esp + 0xf8]
mov dword [eax + 0x18], ecx
mov dword [eax + 0x24], 0x12
mov ecx, dword [0x884700]
lea edx, [eax + 0x20]
test ecx, ecx
jne 0x47006d
lea ecx, [0x709506]
mov dword [eax + 0x20], ecx
mov ecx, dword [0x731030]
mov edx, dword [0x73103c]
mov ebx, dword [0x731034]
mov ebp, dword [0x731038]
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], ebx
mov dword [esp + 0x178], ebp
mov dword [esp + 0x17c], edx
lea ecx, [0x8484c0]
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], eax
add esp, 0x154
ret
mov dword [esp], edx
lea ecx, [0x709506]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x128]
jmp 0x47001e
mov dword [esp], edx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x128]
jmp 0x470001
mov dword [esp], edx
mov dword [esp + 4], 0
call fcn.0040d5a0
mov eax, dword [esp + 0x128]
jmp 0x46ffdf
mov dword [esp], edx
mov ecx, dword [esp + 0x160]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x128]
jmp 0x46ffc0
mov dword [esp], eax
mov ecx, dword [esp + 0x158]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x128]
jmp 0x46ff9b
mov esi, dword [esp + 0x9c]
cmp esi, 2
jne 0x470b67
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 0x470b5e
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 0x470b43
mov edx, 1
test dl, dl
je 0x470b19
mov edx, 0x1d
mov ebx, dword [esp + 0x90]
cmp ebx, edx
jle 0x470185
mov ebx, dword [esp + 0xf8]
mov ebp, eax
jmp 0x46ff61
mov eax, dword [esp + 0xec]
test eax, eax
jne 0x470a99
mov eax, dword [esp + 0x68]
cmp eax, 0xffffffff
jne 0x47067f
mov eax, dword [esp + 0x74]
test eax, eax
je 0x4705f8
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 [0x86e00c]
mov dword [esp + 0x1c], ecx
call fcn.004745a0
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.00475290
mov eax, dword [esp + 0x14]
movzx ecx, byte [esp + 0x19]
test cl, cl
je 0x4702f9
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, [0x870e60]
cmp eax, ecx
jne 0x4702a4
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 0x4705ec
mov edx, dword [esp + 0x10c]
movzx ebx, byte [edx]
cmp bl, 0x47
jne 0x47032b
movzx ebx, byte [edx + 1]
cmp bl, 0x4d
jne 0x47032b
movzx ebx, byte [edx + 2]
cmp bl, 0x54
je 0x4705b5
mov dword [esp + 0x64], eax
lea ebx, [0x6e2800]
mov dword [esp], ebx
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x118], eax
mov ecx, dword [esp + 0x74]
mov dword [eax + 4], ecx
mov edx, dword [0x884700]
test edx, edx
jne 0x47058b
mov edx, dword [esp + 0x10c]
mov dword [eax], edx
lea ebx, [0x6aaee0]
mov dword [esp], ebx
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x124], eax
movzx ecx, byte [0x73105c]
mov edx, dword [0x731058]
mov ebx, dword [0x731050]
mov ebp, dword [0x731054]
mov dword [eax + 4], ebp
mov dword [eax + 8], edx
mov byte [eax + 0xc], cl
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x470573
mov dword [eax], ebx
mov ecx, dword [esp + 0x74]
mov dword [eax + 4], ecx
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x470554
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 [0x884700]
lea ebx, [ecx + 8]
test edx, edx
jne 0x47053c
mov dword [ecx + 8], eax
lea eax, [0x6aaf20]
mov dword [esp], eax
call fcn.0040cd70
movzx eax, byte [0x730c59]
movzx ecx, byte [0x730c58]
mov edx, dword [0x730c54]
mov ebx, dword [esp + 4]
mov ebp, dword [0x730c50]
movzx esi, byte [0x730c5a]
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 [0x884700]
lea edx, [eax + 0x14]
test ecx, ecx
jne 0x470524
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 0x47051d
mov edx, dword [0x884700]
lea ebx, [eax + 0x30]
test edx, edx
jne 0x470508
mov dword [eax + 0x30], ecx
lea ecx, [0x870e60]
cmp eax, ecx
jne 0x4704b3
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.0040d5a0
mov eax, dword [esp + 0x118]
jmp 0x4704a7
call fcn.00424680
ud2
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.0040d5a0
mov eax, dword [esp + 0x118]
jmp 0x47046d
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040d5a0
mov ecx, dword [esp + 0x118]
jmp 0x4703ff
mov dword [esp], eax
mov ecx, dword [esp + 0x10c]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x124]
jmp 0x4703cf
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.0040d5a0
mov eax, dword [esp + 0x124]
jmp 0x4703b1
mov dword [esp], eax
mov edx, dword [esp + 0x10c]
mov dword [esp + 4], edx
call fcn.0040d5a0
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x10c]
jmp 0x470366
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.0046c2c0
mov eax, dword [esp + 8]
imul eax, eax, 0xe10
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x10c]
jmp 0x47032b
mov edx, dword [esp + 0x10c]
jmp 0x47032b
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.004745a0
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 [0x86e00c]
mov dword [esp + 0x1c], ecx
call fcn.004745a0
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.00474e50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x68]
cmp eax, ebx
jne 0x470a90
mov eax, dword [esp + 0x74]
test eax, eax
jne 0x4707cb
mov eax, dword [esp + 0x16c]
lea ecx, [0x870e60]
cmp eax, ecx
jne 0x470776
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 0x470a5b
lea ecx, [0x6e2800]
mov dword [esp], ecx
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x114], eax
mov ecx, dword [esp + 0x74]
mov dword [eax + 4], ecx
mov edx, dword [0x884700]
test edx, edx
jne 0x470a31
mov edx, dword [esp + 0x10c]
mov dword [eax], edx
lea ebx, [0x6aaee0]
mov dword [esp], ebx
call fcn.0040cd70
mov eax, dword [0x731048]
movzx ecx, byte [0x73104c]
mov edx, dword [esp + 4]
mov dword [esp + 0x120], edx
mov ebx, dword [0x731040]
mov ebp, dword [0x731044]
mov dword [edx + 4], ebp
mov dword [edx + 8], eax
mov byte [edx + 0xc], cl
mov eax, dword [0x884700]
test eax, eax
jne 0x470a19
mov dword [edx], ebx
mov eax, dword [esp + 0x74]
mov dword [edx + 4], eax
mov eax, dword [0x884700]
test eax, eax
jne 0x4709fa
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 [0x884700]
lea ebx, [eax + 8]
test ecx, ecx
jne 0x4709e2
mov dword [eax + 8], edx
lea ecx, [0x6aaf20]
mov dword [esp], ecx
call fcn.0040cd70
mov eax, dword [0x730c44]
mov ecx, dword [0x730c40]
movzx edx, byte [0x730c48]
movzx ebx, byte [0x730c49]
mov ebp, dword [esp + 4]
movzx esi, byte [0x730c4a]
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 [0x884700]
lea edx, [eax + 0x14]
test ecx, ecx
jne 0x4709ca
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 0x4709c3
mov edx, dword [0x884700]
lea ebx, [eax + 0x30]
test edx, edx
jne 0x4709ae
mov dword [eax + 0x30], ecx
lea ecx, [0x870e60]
cmp eax, ecx
jne 0x470959
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.0040d5a0
mov eax, dword [esp + 0x114]
jmp 0x47094d
call fcn.00424680
ud2
mov dword [esp], edx
mov dword [esp + 4], ebp
call fcn.0040d5a0
mov eax, dword [esp + 0x114]
jmp 0x470913
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.0040d5a0
mov eax, dword [esp + 0x114]
jmp 0x4708a3
mov dword [esp], edx
mov eax, dword [esp + 0x10c]
mov dword [esp + 4], eax
call fcn.0040d5a0
mov edx, dword [esp + 0x120]
jmp 0x470873
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.0040d5a0
mov edx, dword [esp + 0x120]
jmp 0x470855
mov dword [esp], eax
mov edx, dword [esp + 0x10c]
mov dword [esp + 4], edx
call fcn.0040d5a0
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x10c]
jmp 0x47080a
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.00449f40
movzx eax, byte [esp + 0x10]
test al, al
jne 0x470763
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x68]
jmp 0x4707d3
mov eax, dword [esp + 0x74]
jmp 0x4707d3
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.004745a0
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 0x470b3c
lea edx, [0x84c440]
mov ebx, dword [edx + esi*4]
lea ebp, [esi - 1]
cmp ebp, 0xd
jae 0x470b3c
mov ebp, dword [edx + esi*4 - 4]
sub ebx, ebp
mov edx, ebx
jmp 0x47016c
call fcn.00424680
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 0x47015f
mov eax, ebp
xor edx, edx
jmp 0x47015f
mov eax, ebp
jmp 0x470b19
movzx edx, byte [esp + 0x33]
test dl, dl
je 0x470b82
cmp ecx, 0xc
jne 0x470b82
xor eax, eax
mov ecx, eax
jmp 0x46ff51
mov eax, ecx
jmp 0x470b7b
mov ecx, dword [esp + 0x8c]
jmp 0x470b6b
lea eax, [0x6ddd20]
mov dword [esp], eax
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 0x15c]
mov dword [eax + 4], ecx
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x470d40
mov ecx, dword [esp + 0x158]
mov dword [eax], ecx
mov ecx, dword [esp + 0x164]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x884700]
lea edx, [eax + 8]
test ecx, ecx
jne 0x470d21
mov ecx, dword [esp + 0x160]
mov dword [eax + 8], ecx
mov dword [eax + 0x14], 0
mov ecx, dword [0x884700]
lea edx, [eax + 0x10]
test ecx, ecx
jne 0x470d05
mov dword [eax + 0x10], 0
mov ecx, dword [esp + 0x58]
mov dword [eax + 0x1c], ecx
mov edx, dword [0x884700]
lea ebx, [eax + 0x18]
test edx, edx
jne 0x470cdb
mov edx, dword [esp + 0xf8]
mov dword [eax + 0x18], edx
mov dword [esp], 0
lea ebx, [0x707ca6]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0xe
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.0043a840
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x128]
mov dword [edx + 0x24], ecx
mov ecx, dword [0x884700]
lea ebx, [edx + 0x20]
test ecx, ecx
jne 0x470cc6
mov dword [edx + 0x20], eax
mov eax, dword [0x731000]
mov ecx, dword [0x731004]
mov ebx, dword [0x73100c]
mov ebp, dword [0x731008]
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], ecx
mov dword [esp + 0x178], ebp
mov dword [esp + 0x17c], ebx
lea eax, [0x8484c0]
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.0040d5a0
mov edx, dword [esp + 0x128]
jmp 0x470c77
mov dword [esp], ebx
mov edx, dword [esp + 0xf8]
mov dword [esp + 4], edx
call fcn.0040d5a0
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0xf8]
jmp 0x470c2f
mov dword [esp], edx
mov dword [esp + 4], 0
call fcn.0040d5a0
mov eax, dword [esp + 0x128]
jmp 0x470c0d
mov dword [esp], edx
mov ecx, dword [esp + 0x160]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x128]
jmp 0x470bee
mov dword [esp], eax
mov ecx, dword [esp + 0x158]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x128]
jmp 0x470bc9
lea eax, [0x6ddd20]
mov dword [esp], eax
call fcn.0040cd70
mov eax, dword [esp + 4]
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 0x15c]
mov dword [eax + 4], ecx
mov ecx, dword [0x884700]
test ecx, ecx
jne 0x470ee2
mov ecx, dword [esp + 0x158]
mov dword [eax], ecx
mov ecx, dword [esp + 0x164]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x884700]
lea edx, [eax + 8]
test ecx, ecx
jne 0x470ec3
mov ecx, dword [esp + 0x160]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x60]
mov dword [eax + 0x14], ecx
mov ecx, dword [0x884700]
lea edx, [eax + 0x10]
test ecx, ecx
jne 0x470ea4
mov ecx, dword [esp + 0x108]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 0x1c], ecx
mov ecx, dword [0x884700]
lea edx, [eax + 0x18]
test ecx, ecx
jne 0x470e85
mov ecx, dword [esp + 0xf8]
mov dword [eax + 0x18], ecx
mov dword [eax + 0x24], 0
mov ecx, dword [0x884700]
lea edx, [eax + 0x20]
test ecx, ecx
jne 0x470e6c
mov dword [eax + 0x20], 0
mov ecx, dword [0x730ff0]
mov edx, dword [0x730ff4]
mov ebx, dword [0x730ff8]
mov ebp, dword [0x730ffc]
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], edx
mov dword [esp + 0x178], ebx
mov dword [esp + 0x17c], ebp
lea ecx, [0x8484c0]
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.0040d5a0
mov eax, dword [esp + 0x128]
jmp 0x470e1d
mov dword [esp], edx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x128]
jmp 0x470e02
mov dword [esp], edx
mov ecx, dword [esp + 0x108]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x128]
jmp 0x470de0
mov dword [esp], edx
mov ecx, dword [esp + 0x160]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x128]
jmp 0x470dbe
mov dword [esp], eax
mov ecx, dword [esp + 0x158]
mov dword [esp + 4], ecx
call fcn.0040d5a0
mov eax, dword [esp + 0x128]
jmp 0x470d99
call fcn.004246e0
ud2
call fcn.004486b0
jmp fcn.0046e2d0