Function at 0x4a2b90
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 0x4a5830
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.0049e410
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 0x4a5829
cmp ebp, eax
ja 0x4a5829
mov edx, eax
sub edx, ebp
mov eax, dword [esp + 0x194]
cmp edx, 0
je 0x4a2d0b
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.004a2920
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 0x4a2eda
mov dword [esp], 0x5def40
call fcn.0040ea00
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 0x4a2ec2
mov dword [eax], ebp
mov ebp, dword [esp + 0x124]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0x120]
cmp byte [0x6d9e38], 0
jne 0x4a2ea7
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 0x4a2e8c
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 0x4a2e74
mov dword [eax + 0x18], ebp
xor ebp, ebp
mov dword [eax + 0x20], ebp
mov dword [eax + 0x24], ebp
mov ebx, dword [0x61a340]
mov dword [esp + 0x1ac], ebx
mov ebx, dword [0x61a344]
mov dword [esp + 0x1b0], ebx
mov ebx, dword [0x61a348]
mov dword [esp + 0x1b4], ebx
mov ebx, dword [0x61a34c]
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.0040f3d0
mov eax, dword [esp + 0x8c]
jmp 0x4a2e1f
lea esi, [eax + 0x10]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f3d0
mov eax, dword [esp + 0x8c]
jmp 0x4a2e02
lea esi, [eax + 8]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f3d0
mov eax, dword [esp + 0x8c]
jmp 0x4a2de1
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040f3d0
mov eax, dword [esp + 0x8c]
jmp 0x4a2dc0
cmp edi, 0
jne 0x4a3cbf
cmp ecx, 0
je 0x4a3088
mov dword [esp], 0x5def40
call fcn.0040ea00
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 0x4a3070
mov dword [eax], ebp
mov ebp, dword [esp + 0x124]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0x120]
cmp byte [0x6d9e38], 0
jne 0x4a3055
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 0x4a3041
mov dword [eax + 0x18], ebp
mov dword [esp], 0
mov ebx, 0x5f81a0
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.0043ff10
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x8c]
cmp ebx, 0
je 0x4a303a
mov dword [esp + 0x14c], eax
mov dword [ebx + 0x24], eax
mov dword [esp + 0x148], ecx
cmp byte [0x6d9e38], 0
jne 0x4a3029
mov dword [ebx + 0x20], ecx
mov eax, dword [esp + 0x8c]
mov ebx, dword [0x61a350]
mov dword [esp + 0x1ac], ebx
mov ebx, dword [0x61a354]
mov dword [esp + 0x1b0], ebx
mov ebx, dword [0x61a358]
mov dword [esp + 0x1b4], ebx
mov ebx, dword [0x61a35c]
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.0040f3d0
jmp 0x4a2fd5
mov dword [ebx], eax
jmp 0x4a2fb8
lea esi, [eax + 0x18]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f3d0
jmp 0x4a2f6d
lea esi, [eax + 8]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f3d0
mov eax, dword [esp + 0x8c]
jmp 0x4a2f44
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040f3d0
mov eax, dword [esp + 0x8c]
jmp 0x4a2f23
cmp byte [esp + 0x32], 0
je 0x4a3c9a
mov ebx, dword [esp + 0x74]
cmp ebx, 0xc
jge 0x4a3c9a
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 0x4a3c50
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 0x4a3137
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 0x4a3c90
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 0x4a3c90
xor eax, eax
cmp al, 0
je 0x4a3c50
mov eax, 0x1d
mov ebx, dword [esp + 0x78]
cmp eax, ebx
jge 0x4a3277
mov dword [esp], 0x5def40
call fcn.0040ea00
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 0x4a325f
mov dword [eax], ebp
mov ebp, dword [esp + 0x124]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0x120]
cmp byte [0x6d9e38], 0
jne 0x4a3244
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 0x4a322c
mov dword [eax + 0x18], ebp
mov ebp, 0x5f9481
mov dword [eax + 0x20], ebp
mov dword [eax + 0x24], 0x12
mov ebx, dword [0x61a310]
mov dword [esp + 0x1ac], ebx
mov ebx, dword [0x61a314]
mov dword [esp + 0x1b0], ebx
mov ebx, dword [0x61a318]
mov dword [esp + 0x1b4], ebx
mov ebx, dword [0x61a31c]
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.0040f3d0
mov eax, dword [esp + 0x8c]
jmp 0x4a31d0
lea esi, [eax + 8]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f3d0
mov eax, dword [esp + 0x8c]
jmp 0x4a31ab
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040f3d0
mov eax, dword [esp + 0x8c]
jmp 0x4a318a
mov ebx, dword [esp + 0x80]
xor ebp, ebp
cmp ebx, ebp
je 0x4a3312
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.004a7e10
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 0x4a3722
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.004a7e10
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.004a87e0
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 0x4a3474
cmp esi, 0
je 0x4a3425
cmp ecx, esi
jne 0x4a3474
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.00452cd0
mov esi, dword [esp + 0x9c]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4a3474
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], 0x5e1600
call fcn.0040ea00
mov ecx, dword [esp + 4]
mov edi, ecx
cmp ecx, 0
je 0x4a371b
xor eax, eax
call fcn.00453093
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 0x4a370a
mov dword [ecx], ebp
mov dword [esp], 0x5bd400
call fcn.0040ea00
mov eax, dword [esp + 4]
mov ebp, dword [0x61a320]
mov dword [eax], ebp
mov ebp, dword [0x61a324]
mov dword [eax + 4], ebp
mov ebp, dword [0x61a328]
mov dword [eax + 8], ebp
movzx ebp, byte [0x61a32c]
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 0x4a36f2
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 0x4a36eb
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 0x4a36d7
mov dword [ebx + 8], eax
mov dword [esp], 0x5bd440
call fcn.0040ea00
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 4]
mov ebp, dword [0x61a090]
mov dword [eax], ebp
mov ebp, dword [0x61a094]
mov dword [eax + 4], ebp
movzx ebp, byte [0x61a098]
xchg ebp, ebx
mov byte [eax + 8], bl
xchg ebp, ebx
movzx ebp, byte [0x61a099]
xchg ebp, ebx
mov byte [eax + 9], bl
xchg ebp, ebx
movzx ebp, byte [0x61a09a]
xchg ebp, ebx
mov byte [eax + 0xa], bl
xchg ebp, ebx
mov esi, 1
mov edx, 1
cmp ecx, 0
je 0x4a36d0
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 0x4a36b5
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 0x4a36ae
mov ebp, dword [ecx + 8]
mov dword [esp + 0x84], ecx
cmp byte [0x6d9e38], 0
jne 0x4a3696
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.0040f3d0
mov ecx, dword [esp + 0x84]
jmp 0x4a364e
call fcn.00428880
ud2
lea esi, [ecx + 0x14]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0040f3d0
mov ecx, dword [esp + 0x90]
jmp 0x4a3615
mov dword [ecx], eax
jmp 0x4a35ea
lea esi, [ebx + 8]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0040f3d0
jmp 0x4a3585
mov dword [ebx], eax
jmp 0x4a355a
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040f3d0
mov eax, dword [esp + 0x94]
jmp 0x4a3539
mov dword [esp], ecx
mov dword [esp + 4], ebp
call fcn.0040f3d0
jmp 0x4a34da
mov dword [ecx], eax
jmp 0x4a34ac
mov ebx, dword [esp + 0x9c]
cmp ebx, 0
je 0x4a3bc6
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.004a7e10
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.004a8ce0
mov ebp, dword [esp + 0x9c]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], ecx
movzx ebx, byte [esp + 0x19]
cmp bl, 0
je 0x4a3854
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 0x4a3bba
cmp ebp, 3
jb 0x4a3bbf
mov esi, dword [esp + 0x98]
mov eax, 3
cmp eax, 3
jne 0x4a3bba
mov dword [esp + 0x128], esi
mov dword [esp], esi
mov dword [esp + 0x12c], eax
mov dword [esp + 4], eax
mov ebp, 0x5f5c56
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 3
call fcn.00452cd0
mov ebp, dword [esp + 0x9c]
mov ecx, dword [esp + 0x4c]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4a3bba
cmp ebp, 3
jb 0x4a3bb3
mov ecx, ebp
sub ecx, 3
mov eax, dword [esp + 0x98]
cmp ecx, 0
je 0x4a38dc
add eax, 3
mov dword [esp + 0x140], eax
mov dword [esp], eax
mov dword [esp + 0x144], ecx
mov dword [esp + 4], ecx
call fcn.004a0000
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], 0x5e1600
call fcn.0040ea00
mov ecx, dword [esp + 4]
mov edi, ecx
cmp ecx, 0
je 0x4a3bac
xor eax, eax
call fcn.00453093
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 0x4a3b9b
mov dword [ecx], ebp
mov dword [esp], 0x5bd400
call fcn.0040ea00
mov eax, dword [esp + 4]
mov ebp, dword [0x61a330]
mov dword [eax], ebp
mov ebp, dword [0x61a334]
mov dword [eax + 4], ebp
mov ebp, dword [0x61a338]
mov dword [eax + 8], ebp
movzx ebp, byte [0x61a33c]
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 0x4a3b83
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 0x4a3b7c
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 0x4a3b68
mov dword [ebx + 8], eax
mov dword [esp], 0x5bd440
call fcn.0040ea00
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 4]
mov ebp, dword [0x61a0a0]
mov dword [eax], ebp
mov ebp, dword [0x61a0a4]
mov dword [eax + 4], ebp
movzx ebp, byte [0x61a0a8]
xchg ebp, ebx
mov byte [eax + 8], bl
xchg ebp, ebx
movzx ebp, byte [0x61a0a9]
xchg ebp, ebx
mov byte [eax + 9], bl
xchg ebp, ebx
movzx ebp, byte [0x61a0aa]
xchg ebp, ebx
mov byte [eax + 0xa], bl
xchg ebp, ebx
mov esi, 1
mov edx, 1
cmp ecx, 0
je 0x4a3b61
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 0x4a3b46
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 0x4a3b3f
mov ebp, dword [ecx + 8]
mov dword [esp + 0x88], ecx
cmp byte [0x6d9e38], 0
jne 0x4a3b27
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.0040f3d0
mov eax, dword [esp + 0x88]
jmp 0x4a3adf
call fcn.00428880
ud2
lea esi, [ecx + 0x14]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0040f3d0
mov ecx, dword [esp + 0x90]
jmp 0x4a3aa4
mov dword [ecx], eax
jmp 0x4a3a79
lea esi, [ebx + 8]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0040f3d0
jmp 0x4a3a14
mov dword [ebx], eax
jmp 0x4a39e9
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040f3d0
mov eax, dword [esp + 0x94]
jmp 0x4a39c8
mov dword [esp], ecx
mov dword [esp + 4], ebp
call fcn.0040f3d0
jmp 0x4a3969
mov dword [ecx], eax
jmp 0x4a393b
call fcn.004288f0
ud2
jmp 0x4a3907
call fcn.004288f0
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.004a7e10
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 0x4a3c89
shl ebx, 2
add ebp, ebx
mov ecx, dword [ebp]
mov ebx, edi
dec ebx
mov ebp, 0x6b3a80
cmp ebx, 0xd
jae 0x4a3c82
shl ebx, 2
add ebp, ebx
mov ebx, dword [ebp]
mov eax, ecx
sub eax, ebx
jmp 0x4a3147
call fcn.00428880
ud2
call fcn.00428880
ud2
mov eax, 1
jmp 0x4a3139
cmp byte [esp + 0x33], 0
je 0x4a30ab
mov ebx, dword [esp + 0x74]
cmp ebx, 0xc
jne 0x4a30ab
mov dword [esp + 0x74], 0
jmp 0x4a30ab
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 0x4a4df8
cmp eax, 0x1c
jg 0x4a4a59
cmp eax, 0x18
jg 0x4a4a26
cmp eax, 0x16
jg 0x4a4a0f
cmp eax, 0x15
jne 0x4a41bb
cmp ecx, 3
jl 0x4a4112
cmp ecx, 3
jb 0x4a41b4
mov eax, 3
cmp eax, 3
jne 0x4a4112
mov dword [esp + 0x128], esi
mov dword [esp], esi
mov dword [esp + 0x12c], eax
mov dword [esp + 4], eax
mov ebp, 0x5f5cfb
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 3
call fcn.00452cd0
mov esi, dword [esp + 0x19c]
mov ecx, dword [esp + 0x1a0]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4a4112
mov ebx, dword [0x6c4874]
mov dword [esp + 0x80], ebx
cmp ecx, 3
jb 0x4a410b
sub ecx, 3
mov eax, esi
cmp ecx, 0
je 0x4a3dab
add eax, 3
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x19c], eax
mov ebx, dword [esp + 0xdc]
cmp ebx, 0
je 0x4a3faa
mov dword [esp], 0x5def40
call fcn.0040ea00
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 0x4a3f92
mov dword [eax], ebp
mov ebp, dword [esp + 0x124]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0x120]
cmp byte [0x6d9e38], 0
jne 0x4a3f77
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 0x4a3f5c
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 0x4a3f48
mov dword [eax + 0x18], ebp
mov dword [esp], 0
mov ebx, 0x5f5afb
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, 0x5f7d54
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], 0xd
call fcn.0043ff90
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x8c]
cmp ebx, 0
je 0x4a3f41
mov dword [esp + 0x144], ecx
mov dword [ebx + 0x24], ecx
mov dword [esp + 0x140], eax
cmp byte [0x6d9e38], 0
jne 0x4a3f30
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x8c]
mov ebx, dword [0x61a2f0]
mov dword [esp + 0x1ac], ebx
mov ebx, dword [0x61a2f4]
mov dword [esp + 0x1b0], ebx
mov ebx, dword [0x61a2f8]
mov dword [esp + 0x1b4], ebx
mov ebx, dword [0x61a2fc]
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.0040f3d0
jmp 0x4a3edc
mov dword [ebx], eax
jmp 0x4a3ebf
lea esi, [eax + 0x18]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f3d0
jmp 0x4a3e63
lea esi, [eax + 0x10]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f3d0
mov eax, dword [esp + 0x8c]
jmp 0x4a3e42
lea esi, [eax + 8]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f3d0
mov eax, dword [esp + 0x8c]
jmp 0x4a3e21
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040f3d0
mov eax, dword [esp + 0x8c]
jmp 0x4a3e00
mov ebx, dword [esp + 0x118]
cmp ebx, 0
je 0x4a2c8e
mov dword [esp], 0x5def40
call fcn.0040ea00
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 0x4a40f3
mov dword [eax], ebp
mov ebp, dword [esp + 0x124]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0x120]
cmp byte [0x6d9e38], 0
jne 0x4a40d8
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 0x4a40bd
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 0x4a40a5
mov dword [eax + 0x18], ebp
xor ebp, ebp
mov dword [eax + 0x20], ebp
mov dword [eax + 0x24], ebp
mov ebx, dword [0x61a300]
mov dword [esp + 0x1ac], ebx
mov ebx, dword [0x61a304]
mov dword [esp + 0x1b0], ebx
mov ebx, dword [0x61a308]
mov dword [esp + 0x1b4], ebx
mov ebx, dword [0x61a30c]
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.0040f3d0
mov eax, dword [esp + 0x8c]
jmp 0x4a4050
lea esi, [eax + 0x10]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f3d0
mov eax, dword [esp + 0x8c]
jmp 0x4a4033
lea esi, [eax + 8]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f3d0
mov eax, dword [esp + 0x8c]
jmp 0x4a4012
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040f3d0
mov eax, dword [esp + 0x8c]
jmp 0x4a3ff1
call fcn.004288f0
ud2
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.004a5840
mov edi, dword [esp + 0x1a0]
mov eax, dword [esp + 8]
movzx ebx, byte [esp + 0xc]
cmp bl, 0
jne 0x4a4152
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3db9
cmp eax, edi
ja 0x4a41ad
mov ebp, dword [esp + 0x19c]
mov esi, eax
mov ecx, eax
cmp eax, edi
ja 0x4a41a6
mov edx, edi
sub edx, eax
mov eax, dword [esp + 0x19c]
cmp edx, 0
je 0x4a4177
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 0x4a3db9
call fcn.004288f0
ud2
call fcn.004288f0
ud2
call fcn.004288f0
ud2
cmp eax, 0x16
jne 0x4a3db9
cmp edi, 0x16
je 0x4a49b7
cmp edi, 0x18
je 0x4a49b7
cmp edi, 0x19
je 0x4a49b7
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 0x4a4868
cmp edi, 0x1e
je 0x4a4868
cmp edi, 0x1d
je 0x4a4781
cmp edi, 0x18
je 0x4a4781
cmp edi, 0x1a
je 0x4a45d9
cmp edi, 0x1f
je 0x4a45d9
cmp edi, 0x17
je 0x4a44a9
cmp edi, 0x1c
je 0x4a44a9
cmp ecx, 5
jge 0x4a428b
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3db9
cmp ecx, 1
jb 0x4a44a2
mov dword [esp + 0x14c], 1
mov dword [esp + 0x148], esi
cmp ecx, 3
jb 0x4a449b
mov ebx, esi
inc ebx
mov dword [esp + 0x144], 2
mov dword [esp + 0x140], ebx
cmp ecx, 5
jb 0x4a4494
mov edx, esi
add edx, 3
mov ebp, 2
cmp ecx, 5
jb 0x4a448d
sub ecx, 5
mov eax, esi
cmp ecx, 0
je 0x4a42ed
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, 0x5f5aef
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.004a0000
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 0x4a43da
mov ebx, dword [esp + 0x108]
mov dword [esp], ebx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
call fcn.004a0000
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 0x4a441e
mov ebx, dword [esp + 0xb8]
mov dword [esp], ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 4], ebx
call fcn.004a0000
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 0x4a4486
mov ebx, dword [esp + 0xb0]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x2b
xchg ebp, eax
je 0x4a3db9
xchg ebp, eax
cmp al, 0x2d
xchg ebp, eax
jne 0x4a4467
mov ebx, ecx
neg ebx
mov dword [esp + 0x34], ebx
jmp 0x4a3db9
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3db9
call fcn.00428880
ud2
call fcn.004288f0
ud2
call fcn.004288f0
ud2
call fcn.004288f0
ud2
call fcn.004288f0
ud2
cmp ecx, 7
jge 0x4a44cd
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3db9
cmp ecx, 1
jb 0x4a45d2
mov dword [esp + 0x134], 1
mov edi, esi
cmp ecx, 3
jb 0x4a45cb
mov ebx, esi
inc ebx
mov dword [esp + 0x14c], 2
mov dword [esp + 0x148], ebx
cmp ecx, 5
jb 0x4a45c4
mov ebx, esi
add ebx, 3
mov dword [esp + 0x144], 2
mov dword [esp + 0x140], ebx
cmp ecx, 7
jb 0x4a45bd
mov edx, esi
add edx, 5
mov ebp, 2
cmp ecx, 7
jb 0x4a45b6
sub ecx, 7
mov eax, esi
cmp ecx, 0
je 0x4a4546
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 0x4a434e
call fcn.004288f0
ud2
call fcn.004288f0
ud2
call fcn.004288f0
ud2
call fcn.004288f0
ud2
call fcn.004288f0
ud2
cmp ecx, 9
jge 0x4a45fd
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3db9
cmp ecx, 3
jbe 0x4a477a
mov ebx, esi
add ebx, 3
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x3a
xchg ebp, eax
jne 0x4a4754
cmp ecx, 6
jbe 0x4a4773
mov ebx, esi
add ebx, 6
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x3a
xchg ebp, eax
jne 0x4a4754
cmp ecx, 1
jb 0x4a474d
mov dword [esp + 0x13c], 1
mov dword [esp + 0x138], esi
cmp ecx, 3
jb 0x4a4746
mov edi, esi
inc edi
mov dword [esp + 0x134], 2
cmp ecx, 6
jb 0x4a473f
mov ebx, esi
add ebx, 4
mov dword [esp + 0x14c], 2
mov dword [esp + 0x148], ebx
cmp ecx, 9
jb 0x4a4738
mov ebx, esi
add ebx, 7
mov dword [esp + 0x144], 2
mov dword [esp + 0x140], ebx
cmp ecx, 9
jb 0x4a4731
sub ecx, 9
mov eax, esi
cmp ecx, 0
je 0x4a46bd
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 0x4a434e
call fcn.004288f0
ud2
call fcn.004288f0
ud2
call fcn.004288f0
ud2
call fcn.004288f0
ud2
call fcn.004288f0
ud2
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3db9
call fcn.00428880
ud2
call fcn.00428880
ud2
cmp ecx, 3
jge 0x4a47a5
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3db9
cmp ecx, 1
jb 0x4a4861
mov dword [esp + 0x14c], 1
mov dword [esp + 0x148], esi
cmp ecx, 3
jb 0x4a485a
mov edi, esi
inc edi
mov dword [esp + 0x13c], 2
cmp ecx, 3
jb 0x4a4853
sub ecx, 3
mov eax, esi
cmp ecx, 0
je 0x4a47e9
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, 0x5f5aef
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], 2
mov ebx, 0x5f5aef
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], 2
mov dword [esp + 0x19c], edx
mov dword [esp + 0x1a0], ebp
jmp 0x4a434e
call fcn.004288f0
ud2
call fcn.004288f0
ud2
call fcn.004288f0
ud2
cmp ecx, 6
jge 0x4a488c
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3db9
cmp ecx, 3
jbe 0x4a49b0
mov ebx, esi
add ebx, 3
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x3a
xchg ebp, eax
je 0x4a48c3
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3db9
cmp ecx, 1
jb 0x4a49a9
mov dword [esp + 0x144], 1
mov dword [esp + 0x140], esi
cmp ecx, 3
jb 0x4a49a2
mov ebx, esi
inc ebx
mov dword [esp + 0x14c], 2
mov dword [esp + 0x148], ebx
cmp ecx, 6
jb 0x4a499b
mov edi, esi
add edi, 4
mov dword [esp + 0x13c], 2
cmp ecx, 6
jb 0x4a4994
sub ecx, 6
mov eax, esi
cmp ecx, 0
je 0x4a4927
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, 0x5f5aef
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], 2
mov dword [esp + 0x19c], edx
mov dword [esp + 0x1a0], ebp
jmp 0x4a434e
call fcn.004288f0
ud2
call fcn.004288f0
ud2
call fcn.004288f0
ud2
call fcn.004288f0
ud2
call fcn.00428880
ud2
cmp ecx, 1
jl 0x4a41df
cmp ecx, 0
jbe 0x4a4a08
movzx ebp, byte [esi]
xchg ebp, eax
cmp al, 0x5a
xchg ebp, eax
jne 0x4a41df
cmp ecx, 1
jb 0x4a4a01
dec ecx
mov eax, esi
cmp ecx, 0
je 0x4a49e1
inc eax
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x19c], eax
mov ebx, dword [0x6c4874]
mov dword [esp + 0x80], ebx
jmp 0x4a3db9
call fcn.004288f0
ud2
call fcn.00428880
ud2
cmp eax, 0x17
je 0x4a41c4
cmp eax, 0x18
je 0x4a41c4
jmp 0x4a3db9
cmp eax, 0x1a
jg 0x4a4a42
cmp eax, 0x19
je 0x4a41c4
cmp eax, 0x1a
je 0x4a41c4
jmp 0x4a3db9
cmp eax, 0x1b
je 0x4a41c4
cmp eax, 0x1c
je 0x4a41c4
jmp 0x4a3db9
cmp eax, 0x20
jg 0x4a4b3c
cmp eax, 0x1e
jg 0x4a4a7e
cmp eax, 0x1d
je 0x4a41c4
cmp eax, 0x1e
je 0x4a41c4
jmp 0x4a3db9
cmp eax, 0x1f
je 0x4a41c4
cmp eax, 0x20
jne 0x4a3db9
mov eax, edi
sar eax, 0x10
inc eax
cmp ecx, eax
jge 0x4a4ab9
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3db9
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 0x58], eax
mov dword [esp + 8], eax
call fcn.004a5bf0
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 0x4a4b35
mov edx, eax
sub edx, ecx
mov eax, dword [esp + 0x19c]
cmp edx, 0
je 0x4a4b22
add eax, ecx
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x19c], eax
jmp 0x4a3db9
call fcn.004288f0
ud2
cmp eax, 0x101
jg 0x4a4d05
cmp eax, 0x21
jne 0x4a4c97
cmp ecx, 2
jl 0x4a4c7d
cmp ecx, 0
jbe 0x4a4c90
movzx ebp, byte [esi]
xchg ebp, eax
cmp al, 0x2e
xchg ebp, eax
jne 0x4a4c7d
cmp ecx, 1
jbe 0x4a4c89
mov ebx, esi
inc ebx
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
jb 0x4a4c7d
cmp ecx, 1
jbe 0x4a4c82
mov ebx, esi
inc ebx
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x39
xchg ebp, eax
ja 0x4a4c7d
xor eax, eax
cmp eax, 9
jge 0x4a4be8
mov ebp, eax
inc ebp
cmp ebp, ecx
jge 0x4a4be8
mov ebx, eax
inc ebx
cmp ebx, ecx
jae 0x4a4c76
mov ebp, esi
add ebp, ebx
movzx ebx, byte [ebp]
cmp bl, 0x30
jb 0x4a4be8
mov ebx, eax
inc ebx
cmp ebx, ecx
jae 0x4a4c6f
mov ebp, esi
add ebp, ebx
movzx ebx, byte [ebp]
cmp bl, 0x39
ja 0x4a4be8
inc eax
cmp eax, 9
jl 0x4a4bab
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.004a5bf0
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 0x4a4c68
mov edx, eax
sub edx, ecx
mov eax, dword [esp + 0x19c]
cmp edx, 0
je 0x4a4c55
add eax, ecx
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x19c], eax
jmp 0x4a3db9
call fcn.004288f0
ud2
call fcn.00428880
ud2
call fcn.00428880
ud2
jmp 0x4a3db9
call fcn.00428880
ud2
call fcn.00428880
ud2
call fcn.00428880
ud2
cmp eax, 0x101
jne 0x4a3db9
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.0049fbe0
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 0x4a3db9
cmp eax, 0x102
jne 0x4a4d6f
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.0049fbe0
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 0x4a3db9
cmp eax, 0x103
jne 0x4a3db9
mov dword [esp], esi
mov dword [esp + 4], ecx
cmp edi, 0x104
je 0x4a4df1
mov byte [esp + 8], 0
call fcn.004a26f0
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 0x4a4dd5
cmp eax, 0xc
jle 0x4a3db9
mov ebx, 0x5f6254
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], 5
jmp 0x4a3db9
mov byte [esp + 8], 1
jmp 0x4a4d8e
cmp eax, 0x112
jg 0x4a51c1
cmp eax, 0x107
jg 0x4a4fbc
cmp eax, 0x105
jg 0x4a4e86
cmp eax, 0x104
je 0x4a4d7a
cmp eax, 0x105
jne 0x4a3db9
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.0049fbe0
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 0x4a3db9
cmp eax, 0x106
jne 0x4a4ee8
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.0049fbe0
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 0x4a3db9
cmp eax, 0x107
jne 0x4a3db9
cmp edi, 0x108
jne 0x4a4f27
cmp ecx, 0
jle 0x4a4f27
cmp ecx, 0
jbe 0x4a4fb5
movzx ebp, byte [esi]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
jne 0x4a4f27
cmp ecx, 1
jb 0x4a4fae
dec ecx
mov eax, esi
cmp ecx, 0
je 0x4a4f25
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 0x4a4fa7
mov byte [esp + 8], 0
call fcn.004a26f0
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 0x4a3db9
mov ebx, 0x5f5d34
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], 3
jmp 0x4a3db9
mov byte [esp + 8], 1
jmp 0x4a4f49
call fcn.004288f0
ud2
call fcn.00428880
ud2
cmp eax, 0x109
jg 0x4a4fde
cmp eax, 0x108
je 0x4a4ef3
cmp eax, 0x109
je 0x4a4ef3
jmp 0x4a3db9
cmp eax, 0x111
jne 0x4a50e7
cmp ecx, 4
jl 0x4a509a
mov dword [esp + 0xc8], esi
xor eax, eax
mov dword [esp + 0xcc], ecx
cmp ecx, eax
jg 0x4a50b9
xor eax, eax
cmp al, 0
je 0x4a509a
cmp ecx, 4
jb 0x4a5093
mov edx, 4
mov ebp, esi
cmp ecx, 4
jb 0x4a508c
sub ecx, 4
mov eax, esi
cmp ecx, 0
je 0x4a5033
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.004a0000
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 0x4a3db9
call fcn.004288f0
ud2
call fcn.004288f0
ud2
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3db9
cmp eax, ecx
jae 0x4a50e0
mov ebp, esi
add ebp, eax
movzx ebx, byte [ebp]
cmp bl, 0x30
jb 0x4a50d9
cmp bl, 0x39
ja 0x4a50d9
mov eax, 1
jmp 0x4a500c
xor eax, eax
jmp 0x4a500c
call fcn.00428880
ud2
cmp eax, 0x112
jne 0x4a3db9
cmp ecx, 2
jge 0x4a5116
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3db9
cmp ecx, 2
jb 0x4a51ba
mov edx, 2
mov ebp, esi
cmp ecx, 2
jb 0x4a51b3
sub ecx, 2
mov eax, esi
cmp ecx, 0
je 0x4a513c
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.004a0000
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 0x4a51a2
mov ebx, eax
add ebx, 0x76c
mov dword [esp + 0x38], ebx
jmp 0x4a3db9
mov ebx, eax
add ebx, 0x7d0
mov dword [esp + 0x38], ebx
jmp 0x4a3db9
call fcn.004288f0
ud2
call fcn.004288f0
ud2
cmp eax, 0x20d
jg 0x4a536a
cmp eax, 0x20b
jg 0x4a52d6
cmp eax, 0x20a
jne 0x4a524d
mov dword [esp], esi
mov dword [esp + 4], ecx
mov byte [esp + 8], 0
call fcn.004a26f0
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 0x4a5231
cmp eax, 0x18
jl 0x4a3db9
mov ebx, 0x5f5fd5
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], 4
jmp 0x4a3db9
cmp eax, 0x20b
jne 0x4a3db9
mov dword [esp], esi
mov dword [esp + 4], ecx
cmp edi, 0x20c
je 0x4a52cf
mov byte [esp + 8], 0
call fcn.004a26f0
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 0x4a52b3
cmp eax, 0xc
jle 0x4a3db9
mov ebx, 0x5f5fd5
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], 4
jmp 0x4a3db9
mov byte [esp + 8], 1
jmp 0x4a526c
cmp eax, 0x20c
je 0x4a5258
cmp eax, 0x20d
jne 0x4a3db9
mov dword [esp], esi
mov dword [esp + 4], ecx
cmp edi, 0x20e
je 0x4a5363
mov byte [esp + 8], 0
call fcn.004a26f0
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 0x4a5347
cmp eax, 0x3c
jl 0x4a3db9
mov ebx, 0x5f64da
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], 6
jmp 0x4a3db9
mov byte [esp + 8], 1
jmp 0x4a5300
cmp eax, 0x20f
jg 0x4a55bc
cmp eax, 0x20e
je 0x4a52ec
cmp eax, 0x20f
jne 0x4a3db9
mov dword [esp], esi
mov dword [esp + 4], ecx
cmp edi, 0x210
je 0x4a55b2
mov byte [esp + 8], 0
call fcn.004a26f0
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 0x4a5596
cmp ecx, 0x3c
jge 0x4a5596
mov dword [esp + 0x1a0], eax
cmp eax, 2
jl 0x4a555c
cmp eax, 0
jbe 0x4a558f
movzx ebp, byte [edx]
xchg ebp, eax
cmp al, 0x2e
xchg ebp, eax
jne 0x4a555c
mov dword [esp + 0xd0], edx
mov ecx, eax
mov eax, 1
mov dword [esp + 0xd4], ecx
cmp ecx, eax
jg 0x4a5561
xor eax, eax
cmp al, 0
je 0x4a555c
mov ebx, dword [esp + 0x194]
mov dword [esp], ebx
mov ebx, dword [esp + 0x198]
mov dword [esp + 4], ebx
call fcn.0049e410
mov esi, dword [esp + 0x1a0]
mov eax, dword [esp + 0x10]
and eax, 0xffff
cmp eax, 0x20
je 0x4a3db9
cmp eax, 0x21
je 0x4a3db9
mov eax, 2
cmp eax, esi
jge 0x4a54a4
mov edi, dword [esp + 0x19c]
mov dword [esp + 0xc0], edi
mov dword [esp + 0xc4], esi
cmp esi, eax
jg 0x4a552e
xor ecx, ecx
cmp cl, 0
je 0x4a54a4
inc eax
cmp eax, esi
jl 0x4a547b
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.004a5bf0
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 0x4a5527
mov edx, eax
sub edx, ecx
mov eax, dword [esp + 0x19c]
cmp edx, 0
je 0x4a5514
add eax, ecx
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x19c], eax
jmp 0x4a3db9
call fcn.004288f0
ud2
cmp eax, esi
jae 0x4a5555
mov ebp, edi
add ebp, eax
movzx ebx, byte [ebp]
cmp bl, 0x30
jb 0x4a554e
cmp bl, 0x39
ja 0x4a554e
mov ecx, 1
jmp 0x4a549a
xor ecx, ecx
jmp 0x4a549a
call fcn.00428880
ud2
jmp 0x4a3db9
cmp eax, ecx
jae 0x4a5588
mov ebp, edx
add ebp, eax
movzx ebx, byte [ebp]
cmp bl, 0x30
jb 0x4a5581
cmp bl, 0x39
ja 0x4a5581
mov eax, 1
jmp 0x4a542d
xor eax, eax
jmp 0x4a542d
call fcn.00428880
ud2
call fcn.00428880
ud2
mov ebx, 0x5f64ec
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], 6
jmp 0x4a53e7
mov byte [esp + 8], 1
jmp 0x4a53a3
cmp eax, 0x210
je 0x4a538b
cmp eax, 0x213
jne 0x4a56f8
cmp ecx, 2
jge 0x4a55f6
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3db9
cmp ecx, 2
jb 0x4a56f1
mov edx, 2
mov ebp, esi
cmp ecx, 2
jb 0x4a56ea
sub ecx, 2
mov eax, esi
cmp ecx, 0
je 0x4a561c
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 0x4a568e
mov dword [esp], esi
mov dword [esp + 0x14c], eax
mov dword [esp + 4], eax
mov ebp, 0x5f5b05
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 2
call fcn.00452cd0
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x14c]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4a568e
mov byte [esp + 0x33], 1
jmp 0x4a3db9
mov dword [esp + 0x14c], eax
cmp eax, 2
jne 0x4a56cb
mov dword [esp], esi
mov dword [esp + 4], eax
mov ebp, 0x5f5b2f
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 2
call fcn.00452cd0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4a56cb
mov byte [esp + 0x32], 1
jmp 0x4a3db9
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3db9
call fcn.004288f0
ud2
call fcn.004288f0
ud2
cmp eax, 0x214
jne 0x4a3db9
cmp ecx, 2
jge 0x4a5727
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3db9
cmp ecx, 2
jb 0x4a5822
mov edx, 2
mov ebp, esi
cmp ecx, 2
jb 0x4a581b
sub ecx, 2
mov eax, esi
cmp ecx, 0
je 0x4a574d
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 0x4a57bf
mov dword [esp], esi
mov dword [esp + 0x14c], eax
mov dword [esp + 4], eax
mov ebp, 0x5f5b73
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 2
call fcn.00452cd0
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x14c]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4a57bf
mov byte [esp + 0x33], 1
jmp 0x4a3db9
mov dword [esp + 0x14c], eax
cmp eax, 2
jne 0x4a57fc
mov dword [esp], esi
mov dword [esp + 4], eax
mov ebp, 0x5f5b81
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 2
call fcn.00452cd0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4a57fc
mov byte [esp + 0x32], 1
jmp 0x4a3db9
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3db9
call fcn.004288f0
ud2
call fcn.004288f0
ud2
call fcn.004288f0
ud2
call fcn.00450fb0
jmp fcn.004a2b90