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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x110]
cmp eax, dword [ecx + 8]
jbe 0x4a5630
sub esp, 0x190
xor ebx, ebx
mov dword [esp + 0x1ac], ebx
mov dword [esp + 0x1b0], ebx
mov dword [esp + 0x1b4], ebx
mov dword [esp + 0x1b8], ebx
xor ebx, ebx
mov dword [esp + 0x1bc], ebx
mov dword [esp + 0x1c0], ebx
mov ebx, dword [esp + 0x194]
mov dword [esp + 0x150], ebx
mov ebx, dword [esp + 0x198]
mov dword [esp + 0x154], ebx
mov ebx, dword [esp + 0x19c]
mov dword [esp + 0x120], ebx
mov ebx, dword [esp + 0x1a0]
mov dword [esp + 0x124], ebx
xor ebx, ebx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], ebx
mov byte [esp + 0x33], 0
mov byte [esp + 0x32], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x60], 1
mov dword [esp + 0x78], 1
mov dword [esp + 0x74], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x34], 0xffffffff
xor ebx, ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
xor ebx, ebx
mov dword [esp + 0x118], ebx
mov dword [esp + 0x11c], ebx
mov ebx, dword [esp + 0x194]
mov dword [esp], ebx
mov ebx, dword [esp + 0x198]
mov dword [esp + 4], ebx
call fcn.0049e210
mov eax, dword [esp + 0x198]
mov esi, dword [esp + 8]
mov ebp, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xa0], ebx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xa4], ecx
mov edi, eax
sub eax, ecx
cmp eax, edi
ja 0x4a5629
cmp ebp, eax
ja 0x4a5629
mov edx, eax
sub edx, ebp
mov eax, dword [esp + 0x194]
cmp edx, 0
je 0x4a2b0b
add eax, ebp
mov dword [esp + 0xac], edx
mov dword [esp + 0xa8], eax
mov ebx, dword [esp + 0x19c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1a0]
mov dword [esp + 4], ebx
mov dword [esp + 0xe0], esi
mov dword [esp + 8], esi
mov dword [esp + 0xe4], ebp
mov dword [esp + 0xc], ebp
call fcn.004a2720
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x19c], esi
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1a0], ecx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x118], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x11c], ebx
mov ebx, dword [esp + 0x118]
cmp ebx, 0
je 0x4a2cda
mov dword [esp], 0x5dec40
call fcn.0040e800
mov eax, dword [esp + 4]
mov dword [esp + 0x8c], eax
mov ebp, dword [esp + 0x154]
mov dword [eax + 4], ebp
mov ebp, dword [esp + 0x150]
cmp byte [0x6d9e38], 0
jne 0x4a2cc2
mov dword [eax], ebp
mov ebp, dword [esp + 0x124]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0x120]
cmp byte [0x6d9e38], 0
jne 0x4a2ca7
mov dword [eax + 8], ebp
mov ebp, dword [esp + 0xe4]
mov dword [eax + 0x14], ebp
mov ebp, dword [esp + 0xe0]
cmp byte [0x6d9e38], 0
jne 0x4a2c8c
mov dword [eax + 0x10], ebp
mov ebp, dword [esp + 0x1a0]
mov dword [eax + 0x1c], ebp
mov ebp, dword [esp + 0x19c]
cmp byte [0x6d9e38], 0
jne 0x4a2c74
mov dword [eax + 0x18], ebp
xor ebp, ebp
mov dword [eax + 0x20], ebp
mov dword [eax + 0x24], ebp
mov ebx, dword [0x619ea0]
mov dword [esp + 0x1ac], ebx
mov ebx, dword [0x619ea4]
mov dword [esp + 0x1b0], ebx
mov ebx, dword [0x619ea8]
mov dword [esp + 0x1b4], ebx
mov ebx, dword [0x619eac]
mov dword [esp + 0x1b8], ebx
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1bc], 0x6b0d90
add esp, 0x190
ret
lea esi, [eax + 0x18]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f1d0
mov eax, dword [esp + 0x8c]
jmp 0x4a2c1f
lea esi, [eax + 0x10]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f1d0
mov eax, dword [esp + 0x8c]
jmp 0x4a2c02
lea esi, [eax + 8]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f1d0
mov eax, dword [esp + 0x8c]
jmp 0x4a2be1
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040f1d0
mov eax, dword [esp + 0x8c]
jmp 0x4a2bc0
cmp edi, 0
jne 0x4a3abf
cmp ecx, 0
je 0x4a2e88
mov dword [esp], 0x5dec40
call fcn.0040e800
mov eax, dword [esp + 4]
mov dword [esp + 0x8c], eax
mov ebp, dword [esp + 0x154]
mov dword [eax + 4], ebp
mov ebp, dword [esp + 0x150]
cmp byte [0x6d9e38], 0
jne 0x4a2e70
mov dword [eax], ebp
mov ebp, dword [esp + 0x124]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0x120]
cmp byte [0x6d9e38], 0
jne 0x4a2e55
mov dword [eax + 8], ebp
xor ebp, ebp
mov dword [eax + 0x10], ebp
mov dword [eax + 0x14], ebp
mov ebp, dword [esp + 0x1a0]
mov dword [eax + 0x1c], ebp
mov ebp, dword [esp + 0x19c]
cmp byte [0x6d9e38], 0
jne 0x4a2e41
mov dword [eax + 0x18], ebp
mov dword [esp], 0
mov ebx, 0x5f7dec
mov dword [esp + 4], ebx
mov dword [esp + 8], 0xe
mov ebx, dword [esp + 0x19c]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x1a0]
mov dword [esp + 0x10], ebx
call fcn.0043fd10
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x8c]
cmp ebx, 0
je 0x4a2e3a
mov dword [esp + 0x14c], eax
mov dword [ebx + 0x24], eax
mov dword [esp + 0x148], ecx
cmp byte [0x6d9e38], 0
jne 0x4a2e29
mov dword [ebx + 0x20], ecx
mov eax, dword [esp + 0x8c]
mov ebx, dword [0x619eb0]
mov dword [esp + 0x1ac], ebx
mov ebx, dword [0x619eb4]
mov dword [esp + 0x1b0], ebx
mov ebx, dword [0x619eb8]
mov dword [esp + 0x1b4], ebx
mov ebx, dword [0x619ebc]
mov dword [esp + 0x1b8], ebx
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1bc], 0x6b0d90
add esp, 0x190
ret
lea esi, [ebx + 0x20]
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.0040f1d0
jmp 0x4a2dd5
mov dword [ebx], eax
jmp 0x4a2db8
lea esi, [eax + 0x18]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f1d0
jmp 0x4a2d6d
lea esi, [eax + 8]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f1d0
mov eax, dword [esp + 0x8c]
jmp 0x4a2d44
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040f1d0
mov eax, dword [esp + 0x8c]
jmp 0x4a2d23
cmp byte [esp + 0x32], 0
je 0x4a3a9a
mov ebx, dword [esp + 0x74]
cmp ebx, 0xc
jge 0x4a3a9a
mov ebx, dword [esp + 0x74]
add ebx, 0xc
mov dword [esp + 0x74], ebx
mov edi, dword [esp + 0x60]
mov ecx, dword [esp + 0x38]
cmp edi, 2
jne 0x4a3a50
mov ebp, ecx
sar ebp, 0x1f
and ebp, 3
mov ebx, ecx
add ebx, ebp
and ebx, 3
sub ebx, ebp
cmp ebx, 0
jne 0x4a2f37
mov dword [esp + 0x7c], ecx
mov eax, 0x51eb851f
mov ebx, edx
imul dword [esp + 0x7c]
mov dword [esp + 0x7c], edx
mov edx, ebx
mov ebx, dword [esp + 0x7c]
sar ebx, 5
mov ebp, ecx
sar ebp, 0x1f
sub ebx, ebp
imul ebx, ebx, 0x64
mov ebp, ecx
sub ebp, ebx
cmp ebp, 0
jne 0x4a3a90
mov dword [esp + 0x7c], ecx
mov eax, 0x51eb851f
imul dword [esp + 0x7c]
mov dword [esp + 0x7c], edx
mov ebx, dword [esp + 0x7c]
sar ebx, 7
mov ebp, ecx
sar ebp, 0x1f
sub ebx, ebp
imul ebx, ebx, 0x190
mov ebp, ecx
sub ebp, ebx
cmp ebp, 0
je 0x4a3a90
xor eax, eax
cmp al, 0
je 0x4a3a50
mov eax, 0x1d
mov ebx, dword [esp + 0x78]
cmp eax, ebx
jge 0x4a3077
mov dword [esp], 0x5dec40
call fcn.0040e800
mov eax, dword [esp + 4]
mov dword [esp + 0x8c], eax
mov ebp, dword [esp + 0x154]
mov dword [eax + 4], ebp
mov ebp, dword [esp + 0x150]
cmp byte [0x6d9e38], 0
jne 0x4a305f
mov dword [eax], ebp
mov ebp, dword [esp + 0x124]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0x120]
cmp byte [0x6d9e38], 0
jne 0x4a3044
mov dword [eax + 8], ebp
xor ebp, ebp
mov dword [eax + 0x10], ebp
mov dword [eax + 0x14], ebp
mov ebp, dword [esp + 0x1a0]
mov dword [eax + 0x1c], ebp
mov ebp, dword [esp + 0x19c]
cmp byte [0x6d9e38], 0
jne 0x4a302c
mov dword [eax + 0x18], ebp
mov ebp, 0x5f90cd
mov dword [eax + 0x20], ebp
mov dword [eax + 0x24], 0x12
mov ebx, dword [0x619e70]
mov dword [esp + 0x1ac], ebx
mov ebx, dword [0x619e74]
mov dword [esp + 0x1b0], ebx
mov ebx, dword [0x619e78]
mov dword [esp + 0x1b4], ebx
mov ebx, dword [0x619e7c]
mov dword [esp + 0x1b8], ebx
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1bc], 0x6b0d90
add esp, 0x190
ret
lea esi, [eax + 0x18]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f1d0
mov eax, dword [esp + 0x8c]
jmp 0x4a2fd0
lea esi, [eax + 8]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f1d0
mov eax, dword [esp + 0x8c]
jmp 0x4a2fab
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040f1d0
mov eax, dword [esp + 0x8c]
jmp 0x4a2f8a
mov ebx, dword [esp + 0x80]
xor ebp, ebp
cmp ebx, ebp
je 0x4a3112
mov ebx, dword [esp + 0x38]
mov dword [esp], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x1c], ebx
call fcn.004a7c10
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1ac], ebp
mov dword [esp + 0x1b0], edx
mov dword [esp + 0x1b4], ecx
mov dword [esp + 0x1b8], eax
xor ebx, ebx
mov dword [esp + 0x1bc], ebx
mov dword [esp + 0x1c0], ebx
add esp, 0x190
ret
mov ebx, dword [esp + 0x34]
cmp ebx, 0xffffffff
je 0x4a3522
mov ebx, dword [esp + 0x38]
mov dword [esp], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x18], ebx
mov ebx, dword [0x6c4874]
mov dword [esp + 0x1c], ebx
call fcn.004a7c10
mov edx, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x188], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x18c], ebx
mov esi, edx
mov eax, dword [esp + 0x34]
cdq
mov ebx, eax
mov ecx, edx
mov eax, esi
mov edx, ebp
sub eax, ebx
sbb edx, ecx
mov ebx, dword [esp + 0x1a8]
mov dword [esp], ebx
mov dword [esp + 0x180], eax
mov dword [esp + 0x184], edx
add eax, 0x886e0900
adc edx, 0xfffffff1
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004a85e0
mov esi, dword [esp + 0x9c]
mov edi, dword [esp + 0xc]
mov dword [esp + 0xf0], edi
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xf4], ecx
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x34]
cmp ebx, ebp
jne 0x4a3274
cmp esi, 0
je 0x4a3225
cmp ecx, esi
jne 0x4a3274
mov dword [esp], edi
mov dword [esp + 4], ecx
mov ebp, dword [esp + 0x98]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call fcn.00452ad0
mov esi, dword [esp + 0x9c]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4a3274
mov eax, dword [esp + 0x1a8]
mov ebx, dword [esp + 0x180]
mov dword [esp + 0x1ac], ebx
mov ebx, dword [esp + 0x184]
mov dword [esp + 0x1b0], ebx
mov ebx, dword [esp + 0x188]
mov dword [esp + 0x1b4], ebx
mov dword [esp + 0x1b8], eax
xor ebx, ebx
mov dword [esp + 0x1bc], ebx
mov dword [esp + 0x1c0], ebx
add esp, 0x190
ret
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], esi
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x48], ebx
mov dword [esp], 0x5e1300
call fcn.0040e800
mov ecx, dword [esp + 4]
mov edi, ecx
cmp ecx, 0
je 0x4a351b
xor eax, eax
call fcn.00452e93
mov dword [esp + 0x90], ecx
mov ebp, dword [esp + 0x104]
mov dword [ecx + 4], ebp
mov ebp, dword [esp + 0x100]
cmp byte [0x6d9e38], 0
jne 0x4a350a
mov dword [ecx], ebp
mov dword [esp], 0x5bd100
call fcn.0040e800
mov eax, dword [esp + 4]
mov ebp, dword [0x619e80]
mov dword [eax], ebp
mov ebp, dword [0x619e84]
mov dword [eax + 4], ebp
mov ebp, dword [0x619e88]
mov dword [eax + 8], ebp
movzx ebp, byte [0x619e8c]
xchg ebp, ebx
mov byte [eax + 0xc], bl
xchg ebp, ebx
mov dword [esp + 0x94], eax
mov ebp, dword [esp + 0x104]
mov dword [eax + 4], ebp
mov ebp, dword [esp + 0x100]
cmp byte [0x6d9e38], 0
jne 0x4a34f2
mov dword [eax], ebp
mov ecx, dword [esp + 0x48]
mov dword [eax + 8], ecx
mov edx, 1
mov ecx, 1
mov ebx, dword [esp + 0x90]
cmp ebx, 0
je 0x4a34eb
mov dword [esp + 0x168], edx
mov dword [ebx + 0xc], edx
mov dword [esp + 0x16c], ecx
mov dword [ebx + 0x10], ecx
mov dword [esp + 0x164], eax
cmp byte [0x6d9e38], 0
jne 0x4a34d7
mov dword [ebx + 8], eax
mov dword [esp], 0x5bd140
call fcn.0040e800
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 4]
mov ebp, dword [0x619bf0]
mov dword [eax], ebp
mov ebp, dword [0x619bf4]
mov dword [eax + 4], ebp
movzx ebp, byte [0x619bf8]
xchg ebp, ebx
mov byte [eax + 8], bl
xchg ebp, ebx
movzx ebp, byte [0x619bf9]
xchg ebp, ebx
mov byte [eax + 9], bl
xchg ebp, ebx
movzx ebp, byte [0x619bfa]
xchg ebp, ebx
mov byte [eax + 0xa], bl
xchg ebp, ebx
mov esi, 1
mov edx, 1
cmp ecx, 0
je 0x4a34d0
mov dword [esp + 0x15c], esi
mov dword [ecx + 0x18], esi
mov dword [esp + 0x160], edx
mov dword [ecx + 0x1c], edx
mov dword [esp + 0x158], eax
cmp byte [0x6d9e38], 0
jne 0x4a34b5
mov dword [ecx + 0x14], eax
xor ebp, ebp
mov edx, 0x80000000
mov dword [ecx + 0x20], ebp
mov dword [ecx + 0x24], edx
mov ebp, 0xffffffff
mov edx, 0x7fffffff
mov dword [ecx + 0x28], ebp
mov dword [ecx + 0x2c], edx
cmp dword [ecx + 0xc], 0
jbe 0x4a34ae
mov ebp, dword [ecx + 8]
mov dword [esp + 0x84], ecx
cmp byte [0x6d9e38], 0
jne 0x4a3496
mov dword [ecx + 0x30], ebp
mov ebx, dword [esp + 0x180]
mov dword [esp + 0x1ac], ebx
mov ebx, dword [esp + 0x184]
mov dword [esp + 0x1b0], ebx
mov ebx, dword [esp + 0x188]
mov dword [esp + 0x1b4], ebx
mov dword [esp + 0x1b8], ecx
xor ebx, ebx
mov dword [esp + 0x1bc], ebx
mov dword [esp + 0x1c0], ebx
add esp, 0x190
ret
lea esi, [ecx + 0x30]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f1d0
mov ecx, dword [esp + 0x84]
jmp 0x4a344e
call fcn.00428680
ud2
lea esi, [ecx + 0x14]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0040f1d0
mov ecx, dword [esp + 0x90]
jmp 0x4a3415
mov dword [ecx], eax
jmp 0x4a33ea
lea esi, [ebx + 8]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0040f1d0
jmp 0x4a3385
mov dword [ebx], eax
jmp 0x4a335a
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040f1d0
mov eax, dword [esp + 0x94]
jmp 0x4a3339
mov dword [esp], ecx
mov dword [esp + 4], ebp
call fcn.0040f1d0
jmp 0x4a32da
mov dword [ecx], eax
jmp 0x4a32ac
mov ebx, dword [esp + 0x9c]
cmp ebx, 0
je 0x4a39c6
mov ebx, dword [esp + 0x38]
mov dword [esp], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x18], ebx
mov ebx, dword [0x6c4874]
mov dword [esp + 0x1c], ebx
call fcn.004a7c10
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x178], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x17c], ebx
mov ebx, dword [esp + 0x1a8]
mov dword [esp], ebx
mov ebx, dword [esp + 0x98]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x9c]
mov dword [esp + 8], ebx
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], edx
add eax, 0x886e0900
adc edx, 0xfffffff1
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
call fcn.004a8ae0
mov ebp, dword [esp + 0x9c]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], ecx
movzx ebx, byte [esp + 0x19]
cmp bl, 0
je 0x4a3654
mov esi, dword [esp + 0x170]
mov ebp, dword [esp + 0x174]
mov eax, ecx
cdq
mov ebx, eax
mov ecx, edx
mov eax, esi
mov edx, ebp
sub eax, ebx
sbb edx, ecx
mov ecx, edx
mov edx, eax
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x1ac], edx
mov dword [esp + 0x1b0], ecx
mov ebx, dword [esp + 0x178]
mov dword [esp + 0x1b4], ebx
mov dword [esp + 0x1b8], eax
xor ebx, ebx
mov dword [esp + 0x1bc], ebx
mov dword [esp + 0x1c0], ebx
add esp, 0x190
ret
cmp ebp, 3
jle 0x4a39ba
cmp ebp, 3
jb 0x4a39bf
mov esi, dword [esp + 0x98]
mov eax, 3
cmp eax, 3
jne 0x4a39ba
mov dword [esp + 0x128], esi
mov dword [esp], esi
mov dword [esp + 0x12c], eax
mov dword [esp + 4], eax
mov ebp, 0x5f5896
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 3
call fcn.00452ad0
mov ebp, dword [esp + 0x9c]
mov ecx, dword [esp + 0x4c]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4a39ba
cmp ebp, 3
jb 0x4a39b3
mov ecx, ebp
sub ecx, 3
mov eax, dword [esp + 0x98]
cmp ecx, 0
je 0x4a36dc
add eax, 3
mov dword [esp + 0x140], eax
mov dword [esp], eax
mov dword [esp + 0x144], ecx
mov dword [esp + 4], ecx
call fcn.0049fe00
mov ebp, dword [esp + 0x9c]
mov ecx, dword [esp + 8]
imul ecx, ecx, 0xe10
mov ebx, dword [esp + 0x98]
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], ebp
mov dword [esp + 0x50], ecx
mov dword [esp], 0x5e1300
call fcn.0040e800
mov ecx, dword [esp + 4]
mov edi, ecx
cmp ecx, 0
je 0x4a39ac
xor eax, eax
call fcn.00452e93
mov dword [esp + 0x90], ecx
mov ebp, dword [esp + 0xfc]
mov dword [ecx + 4], ebp
mov ebp, dword [esp + 0xf8]
cmp byte [0x6d9e38], 0
jne 0x4a399b
mov dword [ecx], ebp
mov dword [esp], 0x5bd100
call fcn.0040e800
mov eax, dword [esp + 4]
mov ebp, dword [0x619e90]
mov dword [eax], ebp
mov ebp, dword [0x619e94]
mov dword [eax + 4], ebp
mov ebp, dword [0x619e98]
mov dword [eax + 8], ebp
movzx ebp, byte [0x619e9c]
xchg ebp, ebx
mov byte [eax + 0xc], bl
xchg ebp, ebx
mov dword [esp + 0x94], eax
mov ebp, dword [esp + 0xfc]
mov dword [eax + 4], ebp
mov ebp, dword [esp + 0xf8]
cmp byte [0x6d9e38], 0
jne 0x4a3983
mov dword [eax], ebp
mov ecx, dword [esp + 0x50]
mov dword [eax + 8], ecx
mov edx, 1
mov ecx, 1
mov ebx, dword [esp + 0x90]
cmp ebx, 0
je 0x4a397c
mov dword [esp + 0x168], edx
mov dword [ebx + 0xc], edx
mov dword [esp + 0x16c], ecx
mov dword [ebx + 0x10], ecx
mov dword [esp + 0x164], eax
cmp byte [0x6d9e38], 0
jne 0x4a3968
mov dword [ebx + 8], eax
mov dword [esp], 0x5bd140
call fcn.0040e800
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 4]
mov ebp, dword [0x619c00]
mov dword [eax], ebp
mov ebp, dword [0x619c04]
mov dword [eax + 4], ebp
movzx ebp, byte [0x619c08]
xchg ebp, ebx
mov byte [eax + 8], bl
xchg ebp, ebx
movzx ebp, byte [0x619c09]
xchg ebp, ebx
mov byte [eax + 9], bl
xchg ebp, ebx
movzx ebp, byte [0x619c0a]
xchg ebp, ebx
mov byte [eax + 0xa], bl
xchg ebp, ebx
mov esi, 1
mov edx, 1
cmp ecx, 0
je 0x4a3961
mov dword [esp + 0x15c], esi
mov dword [ecx + 0x18], esi
mov dword [esp + 0x160], edx
mov dword [ecx + 0x1c], edx
mov dword [esp + 0x158], eax
cmp byte [0x6d9e38], 0
jne 0x4a3946
mov dword [ecx + 0x14], eax
xor ebp, ebp
mov edx, 0x80000000
mov dword [ecx + 0x20], ebp
mov dword [ecx + 0x24], edx
mov ebp, 0xffffffff
mov edx, 0x7fffffff
mov dword [ecx + 0x28], ebp
mov dword [ecx + 0x2c], edx
mov eax, ecx
cmp dword [ecx + 0xc], 0
jbe 0x4a393f
mov ebp, dword [ecx + 8]
mov dword [esp + 0x88], ecx
cmp byte [0x6d9e38], 0
jne 0x4a3927
mov dword [ecx + 0x30], ebp
mov ebx, dword [esp + 0x170]
mov dword [esp + 0x1ac], ebx
mov ebx, dword [esp + 0x174]
mov dword [esp + 0x1b0], ebx
mov ebx, dword [esp + 0x178]
mov dword [esp + 0x1b4], ebx
mov dword [esp + 0x1b8], eax
xor ebx, ebx
mov dword [esp + 0x1bc], ebx
mov dword [esp + 0x1c0], ebx
add esp, 0x190
ret
lea esi, [ecx + 0x30]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f1d0
mov eax, dword [esp + 0x88]
jmp 0x4a38df
call fcn.00428680
ud2
lea esi, [ecx + 0x14]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0040f1d0
mov ecx, dword [esp + 0x90]
jmp 0x4a38a4
mov dword [ecx], eax
jmp 0x4a3879
lea esi, [ebx + 8]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0040f1d0
jmp 0x4a3814
mov dword [ebx], eax
jmp 0x4a37e9
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040f1d0
mov eax, dword [esp + 0x94]
jmp 0x4a37c8
mov dword [esp], ecx
mov dword [esp + 4], ebp
call fcn.0040f1d0
jmp 0x4a3769
mov dword [ecx], eax
jmp 0x4a373b
call fcn.004286f0
ud2
jmp 0x4a3707
call fcn.004286f0
ud2
mov ebx, dword [esp + 0x38]
mov dword [esp], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x1a4]
mov dword [esp + 0x1c], ebx
call fcn.004a7c10
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1ac], ebp
mov dword [esp + 0x1b0], edx
mov dword [esp + 0x1b4], ecx
mov dword [esp + 0x1b8], eax
xor ebx, ebx
mov dword [esp + 0x1bc], ebx
mov dword [esp + 0x1c0], ebx
add esp, 0x190
ret
mov ebx, edi
mov ebp, 0x6b3a80
cmp edi, 0xd
jae 0x4a3a89
shl ebx, 2
add ebp, ebx
mov ecx, dword [ebp]
mov ebx, edi
dec ebx
mov ebp, 0x6b3a80
cmp ebx, 0xd
jae 0x4a3a82
shl ebx, 2
add ebp, ebx
mov ebx, dword [ebp]
mov eax, ecx
sub eax, ebx
jmp 0x4a2f47
call fcn.00428680
ud2
call fcn.00428680
ud2
mov eax, 1
jmp 0x4a2f39
cmp byte [esp + 0x33], 0
je 0x4a2eab
mov ebx, dword [esp + 0x74]
cmp ebx, 0xc
jne 0x4a2eab
mov dword [esp + 0x74], 0
jmp 0x4a2eab
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x194], ebx
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x198], ebx
xor ebx, ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], ebx
mov eax, edi
and eax, 0xffff
cmp eax, 0x103
jg 0x4a4bf8
cmp eax, 0x1c
jg 0x4a4859
cmp eax, 0x18
jg 0x4a4826
cmp eax, 0x16
jg 0x4a480f
cmp eax, 0x15
jne 0x4a3fbb
cmp ecx, 3
jl 0x4a3f12
cmp ecx, 3
jb 0x4a3fb4
mov eax, 3
cmp eax, 3
jne 0x4a3f12
mov dword [esp + 0x128], esi
mov dword [esp], esi
mov dword [esp + 0x12c], eax
mov dword [esp + 4], eax
mov ebp, 0x5f593b
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 3
call fcn.00452ad0
mov esi, dword [esp + 0x19c]
mov ecx, dword [esp + 0x1a0]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4a3f12
mov ebx, dword [0x6c4874]
mov dword [esp + 0x80], ebx
cmp ecx, 3
jb 0x4a3f0b
sub ecx, 3
mov eax, esi
cmp ecx, 0
je 0x4a3bab
add eax, 3
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x19c], eax
mov ebx, dword [esp + 0xdc]
cmp ebx, 0
je 0x4a3daa
mov dword [esp], 0x5dec40
call fcn.0040e800
mov eax, dword [esp + 4]
mov dword [esp + 0x8c], eax
mov ebp, dword [esp + 0x154]
mov dword [eax + 4], ebp
mov ebp, dword [esp + 0x150]
cmp byte [0x6d9e38], 0
jne 0x4a3d92
mov dword [eax], ebp
mov ebp, dword [esp + 0x124]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0x120]
cmp byte [0x6d9e38], 0
jne 0x4a3d77
mov dword [eax + 8], ebp
mov ebp, dword [esp + 0xac]
mov dword [eax + 0x14], ebp
mov ebp, dword [esp + 0xa8]
cmp byte [0x6d9e38], 0
jne 0x4a3d5c
mov dword [eax + 0x10], ebp
mov ebp, dword [esp + 0x1a0]
mov dword [eax + 0x1c], ebp
mov ebp, dword [esp + 0x19c]
cmp byte [0x6d9e38], 0
jne 0x4a3d48
mov dword [eax + 0x18], ebp
mov dword [esp], 0
mov ebx, 0x5f573b
mov dword [esp + 4], ebx
mov dword [esp + 8], 2
mov ebx, dword [esp + 0xd8]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0xdc]
mov dword [esp + 0x10], ebx
mov ebx, 0x5f79a0
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], 0xd
call fcn.0043fd90
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x8c]
cmp ebx, 0
je 0x4a3d41
mov dword [esp + 0x144], ecx
mov dword [ebx + 0x24], ecx
mov dword [esp + 0x140], eax
cmp byte [0x6d9e38], 0
jne 0x4a3d30
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x8c]
mov ebx, dword [0x619e50]
mov dword [esp + 0x1ac], ebx
mov ebx, dword [0x619e54]
mov dword [esp + 0x1b0], ebx
mov ebx, dword [0x619e58]
mov dword [esp + 0x1b4], ebx
mov ebx, dword [0x619e5c]
mov dword [esp + 0x1b8], ebx
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1bc], 0x6b0d90
add esp, 0x190
ret
lea esi, [ebx + 0x20]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0040f1d0
jmp 0x4a3cdc
mov dword [ebx], eax
jmp 0x4a3cbf
lea esi, [eax + 0x18]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f1d0
jmp 0x4a3c63
lea esi, [eax + 0x10]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f1d0
mov eax, dword [esp + 0x8c]
jmp 0x4a3c42
lea esi, [eax + 8]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f1d0
mov eax, dword [esp + 0x8c]
jmp 0x4a3c21
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040f1d0
mov eax, dword [esp + 0x8c]
jmp 0x4a3c00
mov ebx, dword [esp + 0x118]
cmp ebx, 0
je 0x4a2a8e
mov dword [esp], 0x5dec40
call fcn.0040e800
mov eax, dword [esp + 4]
mov dword [esp + 0x8c], eax
mov ebp, dword [esp + 0x154]
mov dword [eax + 4], ebp
mov ebp, dword [esp + 0x150]
cmp byte [0x6d9e38], 0
jne 0x4a3ef3
mov dword [eax], ebp
mov ebp, dword [esp + 0x124]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0x120]
cmp byte [0x6d9e38], 0
jne 0x4a3ed8
mov dword [eax + 8], ebp
mov ebp, dword [esp + 0xac]
mov dword [eax + 0x14], ebp
mov ebp, dword [esp + 0xa8]
cmp byte [0x6d9e38], 0
jne 0x4a3ebd
mov dword [eax + 0x10], ebp
mov ebp, dword [esp + 0x1a0]
mov dword [eax + 0x1c], ebp
mov ebp, dword [esp + 0x19c]
cmp byte [0x6d9e38], 0
jne 0x4a3ea5
mov dword [eax + 0x18], ebp
xor ebp, ebp
mov dword [eax + 0x20], ebp
mov dword [eax + 0x24], ebp
mov ebx, dword [0x619e60]
mov dword [esp + 0x1ac], ebx
mov ebx, dword [0x619e64]
mov dword [esp + 0x1b0], ebx
mov ebx, dword [0x619e68]
mov dword [esp + 0x1b4], ebx
mov ebx, dword [0x619e6c]
mov dword [esp + 0x1b8], ebx
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1bc], 0x6b0d90
add esp, 0x190
ret
lea esi, [eax + 0x18]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f1d0
mov eax, dword [esp + 0x8c]
jmp 0x4a3e50
lea esi, [eax + 0x10]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f1d0
mov eax, dword [esp + 0x8c]
jmp 0x4a3e33
lea esi, [eax + 8]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f1d0
mov eax, dword [esp + 0x8c]
jmp 0x4a3e12
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040f1d0
mov eax, dword [esp + 0x8c]
jmp 0x4a3df1
call fcn.004286f0
ud2
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.004a5640
mov edi, dword [esp + 0x1a0]
mov eax, dword [esp + 8]
movzx ebx, byte [esp + 0xc]
cmp bl, 0
jne 0x4a3f52
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3bb9
cmp eax, edi
ja 0x4a3fad
mov ebp, dword [esp + 0x19c]
mov esi, eax
mov ecx, eax
cmp eax, edi
ja 0x4a3fa6
mov edx, edi
sub edx, eax
mov eax, dword [esp + 0x19c]
cmp edx, 0
je 0x4a3f77
add eax, ecx
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], esi
mov dword [esp + 0x148], eax
mov dword [esp + 0x19c], eax
mov dword [esp + 0x14c], edx
mov dword [esp + 0x1a0], edx
jmp 0x4a3bb9
call fcn.004286f0
ud2
call fcn.004286f0
ud2
call fcn.004286f0
ud2
cmp eax, 0x16
jne 0x4a3bb9
cmp edi, 0x16
je 0x4a47b7
cmp edi, 0x18
je 0x4a47b7
cmp edi, 0x19
je 0x4a47b7
xor ebx, ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
xor ebx, ebx
mov dword [esp + 0x110], ebx
mov dword [esp + 0x114], ebx
xor ebx, ebx
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], ebx
xor ebx, ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
cmp edi, 0x19
je 0x4a4668
cmp edi, 0x1e
je 0x4a4668
cmp edi, 0x1d
je 0x4a4581
cmp edi, 0x18
je 0x4a4581
cmp edi, 0x1a
je 0x4a43d9
cmp edi, 0x1f
je 0x4a43d9
cmp edi, 0x17
je 0x4a42a9
cmp edi, 0x1c
je 0x4a42a9
cmp ecx, 5
jge 0x4a408b
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3bb9
cmp ecx, 1
jb 0x4a42a2
mov dword [esp + 0x14c], 1
mov dword [esp + 0x148], esi
cmp ecx, 3
jb 0x4a429b
mov ebx, esi
inc ebx
mov dword [esp + 0x144], 2
mov dword [esp + 0x140], ebx
cmp ecx, 5
jb 0x4a4294
mov edx, esi
add edx, 3
mov ebp, 2
cmp ecx, 5
jb 0x4a428d
sub ecx, 5
mov eax, esi
cmp ecx, 0
je 0x4a40ed
add eax, 5
mov edi, ecx
mov esi, eax
mov ebx, dword [esp + 0x148]
mov dword [esp + 0xb0], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xb4], ebx
mov ecx, dword [esp + 0x140]
mov eax, dword [esp + 0x144]
mov dword [esp + 0x108], edx
mov dword [esp + 0x10c], ebp
mov ebx, 0x5f572f
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], 2
mov dword [esp + 0x19c], esi
mov dword [esp + 0x1a0], edi
mov dword [esp + 0x64], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x110], ecx
mov dword [esp], ecx
mov dword [esp + 0x114], eax
mov dword [esp + 4], eax
call fcn.0049fe00
mov ebx, dword [esp + 8]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x118], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x11c], ebx
mov ebx, dword [esp + 0x118]
cmp ebx, 0
jne 0x4a41da
mov ebx, dword [esp + 0x108]
mov dword [esp], ebx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
call fcn.0049fe00
mov ebx, dword [esp + 8]
mov dword [esp + 0x64], ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x118], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x11c], ebx
mov ebx, dword [esp + 0x118]
cmp ebx, 0
jne 0x4a421e
mov ebx, dword [esp + 0xb8]
mov dword [esp], ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 4], ebx
call fcn.0049fe00
mov ebx, dword [esp + 8]
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x118], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x11c], ebx
mov ecx, dword [esp + 0x70]
imul ecx, ecx, 0x3c
add ecx, dword [esp + 0x64]
imul ecx, ecx, 0x3c
add ecx, dword [esp + 0x40]
mov dword [esp + 0x34], ecx
cmp dword [esp + 0xb4], 0
jbe 0x4a4286
mov ebx, dword [esp + 0xb0]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x2b
xchg ebp, eax
je 0x4a3bb9
xchg ebp, eax
cmp al, 0x2d
xchg ebp, eax
jne 0x4a4267
mov ebx, ecx
neg ebx
mov dword [esp + 0x34], ebx
jmp 0x4a3bb9
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3bb9
call fcn.00428680
ud2
call fcn.004286f0
ud2
call fcn.004286f0
ud2
call fcn.004286f0
ud2
call fcn.004286f0
ud2
cmp ecx, 7
jge 0x4a42cd
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3bb9
cmp ecx, 1
jb 0x4a43d2
mov dword [esp + 0x134], 1
mov edi, esi
cmp ecx, 3
jb 0x4a43cb
mov ebx, esi
inc ebx
mov dword [esp + 0x14c], 2
mov dword [esp + 0x148], ebx
cmp ecx, 5
jb 0x4a43c4
mov ebx, esi
add ebx, 3
mov dword [esp + 0x144], 2
mov dword [esp + 0x140], ebx
cmp ecx, 7
jb 0x4a43bd
mov edx, esi
add edx, 5
mov ebp, 2
cmp ecx, 7
jb 0x4a43b6
sub ecx, 7
mov eax, esi
cmp ecx, 0
je 0x4a4346
add eax, 7
mov dword [esp + 0x13c], ecx
mov esi, eax
mov dword [esp + 0xb0], edi
mov ebx, dword [esp + 0x134]
mov dword [esp + 0xb4], ebx
mov ecx, dword [esp + 0x148]
mov eax, dword [esp + 0x14c]
mov ebx, dword [esp + 0x140]
mov dword [esp + 0x108], ebx
mov ebx, dword [esp + 0x144]
mov dword [esp + 0x10c], ebx
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], ebp
mov dword [esp + 0x19c], esi
mov ebx, dword [esp + 0x13c]
mov dword [esp + 0x1a0], ebx
jmp 0x4a414e
call fcn.004286f0
ud2
call fcn.004286f0
ud2
call fcn.004286f0
ud2
call fcn.004286f0
ud2
call fcn.004286f0
ud2
cmp ecx, 9
jge 0x4a43fd
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3bb9
cmp ecx, 3
jbe 0x4a457a
mov ebx, esi
add ebx, 3
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x3a
xchg ebp, eax
jne 0x4a4554
cmp ecx, 6
jbe 0x4a4573
mov ebx, esi
add ebx, 6
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x3a
xchg ebp, eax
jne 0x4a4554
cmp ecx, 1
jb 0x4a454d
mov dword [esp + 0x13c], 1
mov dword [esp + 0x138], esi
cmp ecx, 3
jb 0x4a4546
mov edi, esi
inc edi
mov dword [esp + 0x134], 2
cmp ecx, 6
jb 0x4a453f
mov ebx, esi
add ebx, 4
mov dword [esp + 0x14c], 2
mov dword [esp + 0x148], ebx
cmp ecx, 9
jb 0x4a4538
mov ebx, esi
add ebx, 7
mov dword [esp + 0x144], 2
mov dword [esp + 0x140], ebx
cmp ecx, 9
jb 0x4a4531
sub ecx, 9
mov eax, esi
cmp ecx, 0
je 0x4a44bd
add eax, 9
mov ebp, ecx
mov edx, eax
mov ebx, dword [esp + 0x138]
mov dword [esp + 0xb0], ebx
mov ebx, dword [esp + 0x13c]
mov dword [esp + 0xb4], ebx
mov ecx, edi
mov eax, dword [esp + 0x134]
mov ebx, dword [esp + 0x148]
mov dword [esp + 0x108], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0x10c], ebx
mov ebx, dword [esp + 0x140]
mov dword [esp + 0xb8], ebx
mov ebx, dword [esp + 0x144]
mov dword [esp + 0xbc], ebx
mov dword [esp + 0x19c], edx
mov dword [esp + 0x1a0], ebp
jmp 0x4a414e
call fcn.004286f0
ud2
call fcn.004286f0
ud2
call fcn.004286f0
ud2
call fcn.004286f0
ud2
call fcn.004286f0
ud2
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3bb9
call fcn.00428680
ud2
call fcn.00428680
ud2
cmp ecx, 3
jge 0x4a45a5
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3bb9
cmp ecx, 1
jb 0x4a4661
mov dword [esp + 0x14c], 1
mov dword [esp + 0x148], esi
cmp ecx, 3
jb 0x4a465a
mov edi, esi
inc edi
mov dword [esp + 0x13c], 2
cmp ecx, 3
jb 0x4a4653
sub ecx, 3
mov eax, esi
cmp ecx, 0
je 0x4a45e9
add eax, 3
mov ebp, ecx
mov edx, eax
mov ebx, dword [esp + 0x148]
mov dword [esp + 0xb0], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xb4], ebx
mov ecx, edi
mov eax, dword [esp + 0x13c]
mov ebx, 0x5f572f
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], 2
mov ebx, 0x5f572f
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], 2
mov dword [esp + 0x19c], edx
mov dword [esp + 0x1a0], ebp
jmp 0x4a414e
call fcn.004286f0
ud2
call fcn.004286f0
ud2
call fcn.004286f0
ud2
cmp ecx, 6
jge 0x4a468c
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3bb9
cmp ecx, 3
jbe 0x4a47b0
mov ebx, esi
add ebx, 3
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x3a
xchg ebp, eax
je 0x4a46c3
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3bb9
cmp ecx, 1
jb 0x4a47a9
mov dword [esp + 0x144], 1
mov dword [esp + 0x140], esi
cmp ecx, 3
jb 0x4a47a2
mov ebx, esi
inc ebx
mov dword [esp + 0x14c], 2
mov dword [esp + 0x148], ebx
cmp ecx, 6
jb 0x4a479b
mov edi, esi
add edi, 4
mov dword [esp + 0x13c], 2
cmp ecx, 6
jb 0x4a4794
sub ecx, 6
mov eax, esi
cmp ecx, 0
je 0x4a4727
add eax, 6
mov ebp, ecx
mov edx, eax
mov ebx, dword [esp + 0x140]
mov dword [esp + 0xb0], ebx
mov ebx, dword [esp + 0x144]
mov dword [esp + 0xb4], ebx
mov ecx, dword [esp + 0x148]
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x108], edi
mov ebx, dword [esp + 0x13c]
mov dword [esp + 0x10c], ebx
mov ebx, 0x5f572f
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], 2
mov dword [esp + 0x19c], edx
mov dword [esp + 0x1a0], ebp
jmp 0x4a414e
call fcn.004286f0
ud2
call fcn.004286f0
ud2
call fcn.004286f0
ud2
call fcn.004286f0
ud2
call fcn.00428680
ud2
cmp ecx, 1
jl 0x4a3fdf
cmp ecx, 0
jbe 0x4a4808
movzx ebp, byte [esi]
xchg ebp, eax
cmp al, 0x5a
xchg ebp, eax
jne 0x4a3fdf
cmp ecx, 1
jb 0x4a4801
dec ecx
mov eax, esi
cmp ecx, 0
je 0x4a47e1
inc eax
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x19c], eax
mov ebx, dword [0x6c4874]
mov dword [esp + 0x80], ebx
jmp 0x4a3bb9
call fcn.004286f0
ud2
call fcn.00428680
ud2
cmp eax, 0x17
je 0x4a3fc4
cmp eax, 0x18
je 0x4a3fc4
jmp 0x4a3bb9
cmp eax, 0x1a
jg 0x4a4842
cmp eax, 0x19
je 0x4a3fc4
cmp eax, 0x1a
je 0x4a3fc4
jmp 0x4a3bb9
cmp eax, 0x1b
je 0x4a3fc4
cmp eax, 0x1c
je 0x4a3fc4
jmp 0x4a3bb9
cmp eax, 0x20
jg 0x4a493c
cmp eax, 0x1e
jg 0x4a487e
cmp eax, 0x1d
je 0x4a3fc4
cmp eax, 0x1e
je 0x4a3fc4
jmp 0x4a3bb9
cmp eax, 0x1f
je 0x4a3fc4
cmp eax, 0x20
jne 0x4a3bb9
mov eax, edi
sar eax, 0x10
inc eax
cmp ecx, eax
jge 0x4a48b9
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3bb9
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 0x58], eax
mov dword [esp + 8], eax
call fcn.004a59f0
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xd8], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xdc], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x118], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x11c], ebx
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x1a0]
cmp ecx, eax
ja 0x4a4935
mov edx, eax
sub edx, ecx
mov eax, dword [esp + 0x19c]
cmp edx, 0
je 0x4a4922
add eax, ecx
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x19c], eax
jmp 0x4a3bb9
call fcn.004286f0
ud2
cmp eax, 0x101
jg 0x4a4b05
cmp eax, 0x21
jne 0x4a4a97
cmp ecx, 2
jl 0x4a4a7d
cmp ecx, 0
jbe 0x4a4a90
movzx ebp, byte [esi]
xchg ebp, eax
cmp al, 0x2e
xchg ebp, eax
jne 0x4a4a7d
cmp ecx, 1
jbe 0x4a4a89
mov ebx, esi
inc ebx
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
jb 0x4a4a7d
cmp ecx, 1
jbe 0x4a4a82
mov ebx, esi
inc ebx
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x39
xchg ebp, eax
ja 0x4a4a7d
xor eax, eax
cmp eax, 9
jge 0x4a49e8
mov ebp, eax
inc ebp
cmp ebp, ecx
jge 0x4a49e8
mov ebx, eax
inc ebx
cmp ebx, ecx
jae 0x4a4a76
mov ebp, esi
add ebp, ebx
movzx ebx, byte [ebp]
cmp bl, 0x30
jb 0x4a49e8
mov ebx, eax
inc ebx
cmp ebx, ecx
jae 0x4a4a6f
mov ebp, esi
add ebp, ebx
movzx ebx, byte [ebp]
cmp bl, 0x39
ja 0x4a49e8
inc eax
cmp eax, 9
jl 0x4a49ab
mov dword [esp], esi
mov dword [esp + 4], ecx
mov ebx, eax
mov dword [esp + 0x6c], eax
inc ebx
mov dword [esp + 8], ebx
call fcn.004a59f0
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xd8], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xdc], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x118], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x11c], ebx
mov ecx, dword [esp + 0x6c]
inc ecx
mov eax, dword [esp + 0x1a0]
cmp ecx, eax
ja 0x4a4a68
mov edx, eax
sub edx, ecx
mov eax, dword [esp + 0x19c]
cmp edx, 0
je 0x4a4a55
add eax, ecx
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x19c], eax
jmp 0x4a3bb9
call fcn.004286f0
ud2
call fcn.00428680
ud2
call fcn.00428680
ud2
jmp 0x4a3bb9
call fcn.00428680
ud2
call fcn.00428680
ud2
call fcn.00428680
ud2
cmp eax, 0x101
jne 0x4a3bb9
mov ebx, dword [0x6c4f40]
mov dword [esp], ebx
mov ebx, dword [0x6c4f44]
mov dword [esp + 4], ebx
mov ebx, dword [0x6c4f48]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
call fcn.0049f9e0
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x19c], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x1a0], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x118], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x11c], ebx
jmp 0x4a3bb9
cmp eax, 0x102
jne 0x4a4b6f
mov ebx, dword [0x6c4f60]
mov dword [esp], ebx
mov ebx, dword [0x6c4f64]
mov dword [esp + 4], ebx
mov ebx, dword [0x6c4f68]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
call fcn.0049f9e0
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x19c], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x1a0], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x118], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x11c], ebx
jmp 0x4a3bb9
cmp eax, 0x103
jne 0x4a3bb9
mov dword [esp], esi
mov dword [esp + 4], ecx
cmp edi, 0x104
je 0x4a4bf1
mov byte [esp + 8], 0
call fcn.004a24f0
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x19c], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x1a0], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x118], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x60], eax
cmp eax, 0
jle 0x4a4bd5
cmp eax, 0xc
jle 0x4a3bb9
mov ebx, 0x5f5e94
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], 5
jmp 0x4a3bb9
mov byte [esp + 8], 1
jmp 0x4a4b8e
cmp eax, 0x112
jg 0x4a4fc1
cmp eax, 0x107
jg 0x4a4dbc
cmp eax, 0x105
jg 0x4a4c86
cmp eax, 0x104
je 0x4a4b7a
cmp eax, 0x105
jne 0x4a3bb9
mov ebx, dword [0x6c4f30]
mov dword [esp], ebx
mov ebx, dword [0x6c4f34]
mov dword [esp + 4], ebx
mov ebx, dword [0x6c4f38]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
call fcn.0049f9e0
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x19c], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x1a0], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x118], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x11c], ebx
jmp 0x4a3bb9
cmp eax, 0x106
jne 0x4a4ce8
mov ebx, dword [0x6c4f50]
mov dword [esp], ebx
mov ebx, dword [0x6c4f54]
mov dword [esp + 4], ebx
mov ebx, dword [0x6c4f58]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
call fcn.0049f9e0
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x19c], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x1a0], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x118], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x11c], ebx
jmp 0x4a3bb9
cmp eax, 0x107
jne 0x4a3bb9
cmp edi, 0x108
jne 0x4a4d27
cmp ecx, 0
jle 0x4a4d27
cmp ecx, 0
jbe 0x4a4db5
movzx ebp, byte [esi]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
jne 0x4a4d27
cmp ecx, 1
jb 0x4a4dae
dec ecx
mov eax, esi
cmp ecx, 0
je 0x4a4d25
inc eax
mov esi, eax
mov dword [esp + 0x19c], esi
mov dword [esp], esi
mov dword [esp + 0x1a0], ecx
mov dword [esp + 4], ecx
cmp edi, 0x109
je 0x4a4da7
mov byte [esp + 8], 0
call fcn.004a24f0
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x19c], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x1a0], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x118], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x78], eax
cmp eax, 0
jge 0x4a3bb9
mov ebx, 0x5f5974
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], 3
jmp 0x4a3bb9
mov byte [esp + 8], 1
jmp 0x4a4d49
call fcn.004286f0
ud2
call fcn.00428680
ud2
cmp eax, 0x109
jg 0x4a4dde
cmp eax, 0x108
je 0x4a4cf3
cmp eax, 0x109
je 0x4a4cf3
jmp 0x4a3bb9
cmp eax, 0x111
jne 0x4a4ee7
cmp ecx, 4
jl 0x4a4e9a
mov dword [esp + 0xc8], esi
xor eax, eax
mov dword [esp + 0xcc], ecx
cmp ecx, eax
jg 0x4a4eb9
xor eax, eax
cmp al, 0
je 0x4a4e9a
cmp ecx, 4
jb 0x4a4e93
mov edx, 4
mov ebp, esi
cmp ecx, 4
jb 0x4a4e8c
sub ecx, 4
mov eax, esi
cmp ecx, 0
je 0x4a4e33
add eax, 4
mov dword [esp + 0x148], ebp
mov dword [esp + 0x14c], edx
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0xe8], ebp
mov dword [esp], ebp
mov dword [esp + 0xec], edx
mov dword [esp + 4], edx
call fcn.0049fe00
mov ebx, dword [esp + 8]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x118], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x11c], ebx
jmp 0x4a3bb9
call fcn.004286f0
ud2
call fcn.004286f0
ud2
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3bb9
cmp eax, ecx
jae 0x4a4ee0
mov ebp, esi
add ebp, eax
movzx ebx, byte [ebp]
cmp bl, 0x30
jb 0x4a4ed9
cmp bl, 0x39
ja 0x4a4ed9
mov eax, 1
jmp 0x4a4e0c
xor eax, eax
jmp 0x4a4e0c
call fcn.00428680
ud2
cmp eax, 0x112
jne 0x4a3bb9
cmp ecx, 2
jge 0x4a4f16
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3bb9
cmp ecx, 2
jb 0x4a4fba
mov edx, 2
mov ebp, esi
cmp ecx, 2
jb 0x4a4fb3
sub ecx, 2
mov eax, esi
cmp ecx, 0
je 0x4a4f3c
add eax, 2
mov dword [esp + 0x148], ebp
mov dword [esp + 0x14c], edx
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0xe8], ebp
mov dword [esp], ebp
mov dword [esp + 0xec], edx
mov dword [esp + 4], edx
call fcn.0049fe00
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x118], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x11c], ebx
cmp eax, 0x45
jl 0x4a4fa2
mov ebx, eax
add ebx, 0x76c
mov dword [esp + 0x38], ebx
jmp 0x4a3bb9
mov ebx, eax
add ebx, 0x7d0
mov dword [esp + 0x38], ebx
jmp 0x4a3bb9
call fcn.004286f0
ud2
call fcn.004286f0
ud2
cmp eax, 0x20d
jg 0x4a516a
cmp eax, 0x20b
jg 0x4a50d6
cmp eax, 0x20a
jne 0x4a504d
mov dword [esp], esi
mov dword [esp + 4], ecx
mov byte [esp + 8], 0
call fcn.004a24f0
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x19c], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x1a0], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x118], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x74], eax
cmp eax, 0
jl 0x4a5031
cmp eax, 0x18
jl 0x4a3bb9
mov ebx, 0x5f5c15
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], 4
jmp 0x4a3bb9
cmp eax, 0x20b
jne 0x4a3bb9
mov dword [esp], esi
mov dword [esp + 4], ecx
cmp edi, 0x20c
je 0x4a50cf
mov byte [esp + 8], 0
call fcn.004a24f0
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x19c], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x1a0], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x118], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x74], eax
cmp eax, 0
jl 0x4a50b3
cmp eax, 0xc
jle 0x4a3bb9
mov ebx, 0x5f5c15
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], 4
jmp 0x4a3bb9
mov byte [esp + 8], 1
jmp 0x4a506c
cmp eax, 0x20c
je 0x4a5058
cmp eax, 0x20d
jne 0x4a3bb9
mov dword [esp], esi
mov dword [esp + 4], ecx
cmp edi, 0x20e
je 0x4a5163
mov byte [esp + 8], 0
call fcn.004a24f0
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x19c], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x1a0], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x118], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x68], eax
cmp eax, 0
jl 0x4a5147
cmp eax, 0x3c
jl 0x4a3bb9
mov ebx, 0x5f611a
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], 6
jmp 0x4a3bb9
mov byte [esp + 8], 1
jmp 0x4a5100
cmp eax, 0x20f
jg 0x4a53bc
cmp eax, 0x20e
je 0x4a50ec
cmp eax, 0x20f
jne 0x4a3bb9
mov dword [esp], esi
mov dword [esp + 4], ecx
cmp edi, 0x210
je 0x4a53b2
mov byte [esp + 8], 0
call fcn.004a24f0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x19c], edx
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x118], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x44], ecx
cmp ecx, 0
jl 0x4a5396
cmp ecx, 0x3c
jge 0x4a5396
mov dword [esp + 0x1a0], eax
cmp eax, 2
jl 0x4a535c
cmp eax, 0
jbe 0x4a538f
movzx ebp, byte [edx]
xchg ebp, eax
cmp al, 0x2e
xchg ebp, eax
jne 0x4a535c
mov dword [esp + 0xd0], edx
mov ecx, eax
mov eax, 1
mov dword [esp + 0xd4], ecx
cmp ecx, eax
jg 0x4a5361
xor eax, eax
cmp al, 0
je 0x4a535c
mov ebx, dword [esp + 0x194]
mov dword [esp], ebx
mov ebx, dword [esp + 0x198]
mov dword [esp + 4], ebx
call fcn.0049e210
mov esi, dword [esp + 0x1a0]
mov eax, dword [esp + 0x10]
and eax, 0xffff
cmp eax, 0x20
je 0x4a3bb9
cmp eax, 0x21
je 0x4a3bb9
mov eax, 2
cmp eax, esi
jge 0x4a52a4
mov edi, dword [esp + 0x19c]
mov dword [esp + 0xc0], edi
mov dword [esp + 0xc4], esi
cmp esi, eax
jg 0x4a532e
xor ecx, ecx
cmp cl, 0
je 0x4a52a4
inc eax
cmp eax, esi
jl 0x4a527b
mov ebx, dword [esp + 0x19c]
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 0x5c], eax
mov dword [esp + 8], eax
call fcn.004a59f0
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xd8], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xdc], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x118], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x11c], ebx
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x1a0]
cmp ecx, eax
ja 0x4a5327
mov edx, eax
sub edx, ecx
mov eax, dword [esp + 0x19c]
cmp edx, 0
je 0x4a5314
add eax, ecx
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x19c], eax
jmp 0x4a3bb9
call fcn.004286f0
ud2
cmp eax, esi
jae 0x4a5355
mov ebp, edi
add ebp, eax
movzx ebx, byte [ebp]
cmp bl, 0x30
jb 0x4a534e
cmp bl, 0x39
ja 0x4a534e
mov ecx, 1
jmp 0x4a529a
xor ecx, ecx
jmp 0x4a529a
call fcn.00428680
ud2
jmp 0x4a3bb9
cmp eax, ecx
jae 0x4a5388
mov ebp, edx
add ebp, eax
movzx ebx, byte [ebp]
cmp bl, 0x30
jb 0x4a5381
cmp bl, 0x39
ja 0x4a5381
mov eax, 1
jmp 0x4a522d
xor eax, eax
jmp 0x4a522d
call fcn.00428680
ud2
call fcn.00428680
ud2
mov ebx, 0x5f612c
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], 6
jmp 0x4a51e7
mov byte [esp + 8], 1
jmp 0x4a51a3
cmp eax, 0x210
je 0x4a518b
cmp eax, 0x213
jne 0x4a54f8
cmp ecx, 2
jge 0x4a53f6
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3bb9
cmp ecx, 2
jb 0x4a54f1
mov edx, 2
mov ebp, esi
cmp ecx, 2
jb 0x4a54ea
sub ecx, 2
mov eax, esi
cmp ecx, 0
je 0x4a541c
add eax, 2
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0xe8], ebp
mov esi, ebp
mov dword [esp + 0x148], ebp
mov dword [esp + 0xec], edx
mov eax, edx
cmp edx, 2
jne 0x4a548e
mov dword [esp], esi
mov dword [esp + 0x14c], eax
mov dword [esp + 4], eax
mov ebp, 0x5f5745
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 2
call fcn.00452ad0
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x14c]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4a548e
mov byte [esp + 0x33], 1
jmp 0x4a3bb9
mov dword [esp + 0x14c], eax
cmp eax, 2
jne 0x4a54cb
mov dword [esp], esi
mov dword [esp + 4], eax
mov ebp, 0x5f576f
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 2
call fcn.00452ad0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4a54cb
mov byte [esp + 0x32], 1
jmp 0x4a3bb9
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3bb9
call fcn.004286f0
ud2
call fcn.004286f0
ud2
cmp eax, 0x214
jne 0x4a3bb9
cmp ecx, 2
jge 0x4a5527
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3bb9
cmp ecx, 2
jb 0x4a5622
mov edx, 2
mov ebp, esi
cmp ecx, 2
jb 0x4a561b
sub ecx, 2
mov eax, esi
cmp ecx, 0
je 0x4a554d
add eax, 2
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0xe8], ebp
mov esi, ebp
mov dword [esp + 0x148], ebp
mov dword [esp + 0xec], edx
mov eax, edx
cmp edx, 2
jne 0x4a55bf
mov dword [esp], esi
mov dword [esp + 0x14c], eax
mov dword [esp + 4], eax
mov ebp, 0x5f57b3
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 2
call fcn.00452ad0
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x14c]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4a55bf
mov byte [esp + 0x33], 1
jmp 0x4a3bb9
mov dword [esp + 0x14c], eax
cmp eax, 2
jne 0x4a55fc
mov dword [esp], esi
mov dword [esp + 4], eax
mov ebp, 0x5f57c1
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 2
call fcn.00452ad0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4a55fc
mov byte [esp + 0x32], 1
jmp 0x4a3bb9
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3bb9
call fcn.004286f0
ud2
call fcn.004286f0
ud2
call fcn.004286f0
ud2
call fcn.00450db0
jmp fcn.004a2990