Function at 0x4a2a40
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 0x4a56e0
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.0049e2c0
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 0x4a56d9
cmp ebp, eax
ja 0x4a56d9
mov edx, eax
sub edx, ebp
mov eax, dword [esp + 0x194]
cmp edx, 0
je 0x4a2bbb
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.004a27d0
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 0x4a2d8a
mov dword [esp], 0x5dece0
call fcn.0040e920
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 [0x6d9e18], 0
jne 0x4a2d72
mov dword [eax], ebp
mov ebp, dword [esp + 0x124]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0x120]
cmp byte [0x6d9e18], 0
jne 0x4a2d57
mov dword [eax + 8], ebp
mov ebp, dword [esp + 0xe4]
mov dword [eax + 0x14], ebp
mov ebp, dword [esp + 0xe0]
cmp byte [0x6d9e18], 0
jne 0x4a2d3c
mov dword [eax + 0x10], ebp
mov ebp, dword [esp + 0x1a0]
mov dword [eax + 0x1c], ebp
mov ebp, dword [esp + 0x19c]
cmp byte [0x6d9e18], 0
jne 0x4a2d24
mov dword [eax + 0x18], ebp
xor ebp, ebp
mov dword [eax + 0x20], ebp
mov dword [eax + 0x24], ebp
mov ebx, dword [0x619fc0]
mov dword [esp + 0x1ac], ebx
mov ebx, dword [0x619fc4]
mov dword [esp + 0x1b0], ebx
mov ebx, dword [0x619fc8]
mov dword [esp + 0x1b4], ebx
mov ebx, dword [0x619fcc]
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.0040f2f0
mov eax, dword [esp + 0x8c]
jmp 0x4a2ccf
lea esi, [eax + 0x10]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f2f0
mov eax, dword [esp + 0x8c]
jmp 0x4a2cb2
lea esi, [eax + 8]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f2f0
mov eax, dword [esp + 0x8c]
jmp 0x4a2c91
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040f2f0
mov eax, dword [esp + 0x8c]
jmp 0x4a2c70
cmp edi, 0
jne 0x4a3b6f
cmp ecx, 0
je 0x4a2f38
mov dword [esp], 0x5dece0
call fcn.0040e920
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 [0x6d9e18], 0
jne 0x4a2f20
mov dword [eax], ebp
mov ebp, dword [esp + 0x124]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0x120]
cmp byte [0x6d9e18], 0
jne 0x4a2f05
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 [0x6d9e18], 0
jne 0x4a2ef1
mov dword [eax + 0x18], ebp
mov dword [esp], 0
mov ebx, 0x5f7e80
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.0043fe30
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x8c]
cmp ebx, 0
je 0x4a2eea
mov dword [esp + 0x14c], eax
mov dword [ebx + 0x24], eax
mov dword [esp + 0x148], ecx
cmp byte [0x6d9e18], 0
jne 0x4a2ed9
mov dword [ebx + 0x20], ecx
mov eax, dword [esp + 0x8c]
mov ebx, dword [0x619fd0]
mov dword [esp + 0x1ac], ebx
mov ebx, dword [0x619fd4]
mov dword [esp + 0x1b0], ebx
mov ebx, dword [0x619fd8]
mov dword [esp + 0x1b4], ebx
mov ebx, dword [0x619fdc]
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.0040f2f0
jmp 0x4a2e85
mov dword [ebx], eax
jmp 0x4a2e68
lea esi, [eax + 0x18]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f2f0
jmp 0x4a2e1d
lea esi, [eax + 8]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f2f0
mov eax, dword [esp + 0x8c]
jmp 0x4a2df4
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040f2f0
mov eax, dword [esp + 0x8c]
jmp 0x4a2dd3
cmp byte [esp + 0x32], 0
je 0x4a3b4a
mov ebx, dword [esp + 0x74]
cmp ebx, 0xc
jge 0x4a3b4a
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 0x4a3b00
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 0x4a2fe7
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 0x4a3b40
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 0x4a3b40
xor eax, eax
cmp al, 0
je 0x4a3b00
mov eax, 0x1d
mov ebx, dword [esp + 0x78]
cmp eax, ebx
jge 0x4a3127
mov dword [esp], 0x5dece0
call fcn.0040e920
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 [0x6d9e18], 0
jne 0x4a310f
mov dword [eax], ebp
mov ebp, dword [esp + 0x124]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0x120]
cmp byte [0x6d9e18], 0
jne 0x4a30f4
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 [0x6d9e18], 0
jne 0x4a30dc
mov dword [eax + 0x18], ebp
mov ebp, 0x5f9161
mov dword [eax + 0x20], ebp
mov dword [eax + 0x24], 0x12
mov ebx, dword [0x619f90]
mov dword [esp + 0x1ac], ebx
mov ebx, dword [0x619f94]
mov dword [esp + 0x1b0], ebx
mov ebx, dword [0x619f98]
mov dword [esp + 0x1b4], ebx
mov ebx, dword [0x619f9c]
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.0040f2f0
mov eax, dword [esp + 0x8c]
jmp 0x4a3080
lea esi, [eax + 8]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f2f0
mov eax, dword [esp + 0x8c]
jmp 0x4a305b
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040f2f0
mov eax, dword [esp + 0x8c]
jmp 0x4a303a
mov ebx, dword [esp + 0x80]
xor ebp, ebp
cmp ebx, ebp
je 0x4a31c2
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.004a7cc0
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 0x4a35d2
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 [0x6c4870]
mov dword [esp + 0x1c], ebx
call fcn.004a7cc0
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.004a8690
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 0x4a3324
cmp esi, 0
je 0x4a32d5
cmp ecx, esi
jne 0x4a3324
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.00452bf0
mov esi, dword [esp + 0x9c]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4a3324
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], 0x5e13a0
call fcn.0040e920
mov ecx, dword [esp + 4]
mov edi, ecx
cmp ecx, 0
je 0x4a35cb
xor eax, eax
call fcn.00452fb3
mov dword [esp + 0x90], ecx
mov ebp, dword [esp + 0x104]
mov dword [ecx + 4], ebp
mov ebp, dword [esp + 0x100]
cmp byte [0x6d9e18], 0
jne 0x4a35ba
mov dword [ecx], ebp
mov dword [esp], 0x5bd1a0
call fcn.0040e920
mov eax, dword [esp + 4]
mov ebp, dword [0x619fa0]
mov dword [eax], ebp
mov ebp, dword [0x619fa4]
mov dword [eax + 4], ebp
mov ebp, dword [0x619fa8]
mov dword [eax + 8], ebp
movzx ebp, byte [0x619fac]
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 [0x6d9e18], 0
jne 0x4a35a2
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 0x4a359b
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 [0x6d9e18], 0
jne 0x4a3587
mov dword [ebx + 8], eax
mov dword [esp], 0x5bd1e0
call fcn.0040e920
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 4]
mov ebp, dword [0x619d10]
mov dword [eax], ebp
mov ebp, dword [0x619d14]
mov dword [eax + 4], ebp
movzx ebp, byte [0x619d18]
xchg ebp, ebx
mov byte [eax + 8], bl
xchg ebp, ebx
movzx ebp, byte [0x619d19]
xchg ebp, ebx
mov byte [eax + 9], bl
xchg ebp, ebx
movzx ebp, byte [0x619d1a]
xchg ebp, ebx
mov byte [eax + 0xa], bl
xchg ebp, ebx
mov esi, 1
mov edx, 1
cmp ecx, 0
je 0x4a3580
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 [0x6d9e18], 0
jne 0x4a3565
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 0x4a355e
mov ebp, dword [ecx + 8]
mov dword [esp + 0x84], ecx
cmp byte [0x6d9e18], 0
jne 0x4a3546
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.0040f2f0
mov ecx, dword [esp + 0x84]
jmp 0x4a34fe
call fcn.004287a0
ud2
lea esi, [ecx + 0x14]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0040f2f0
mov ecx, dword [esp + 0x90]
jmp 0x4a34c5
mov dword [ecx], eax
jmp 0x4a349a
lea esi, [ebx + 8]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0040f2f0
jmp 0x4a3435
mov dword [ebx], eax
jmp 0x4a340a
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040f2f0
mov eax, dword [esp + 0x94]
jmp 0x4a33e9
mov dword [esp], ecx
mov dword [esp + 4], ebp
call fcn.0040f2f0
jmp 0x4a338a
mov dword [ecx], eax
jmp 0x4a335c
mov ebx, dword [esp + 0x9c]
cmp ebx, 0
je 0x4a3a76
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 [0x6c4870]
mov dword [esp + 0x1c], ebx
call fcn.004a7cc0
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.004a8b90
mov ebp, dword [esp + 0x9c]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], ecx
movzx ebx, byte [esp + 0x19]
cmp bl, 0
je 0x4a3704
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 0x4a3a6a
cmp ebp, 3
jb 0x4a3a6f
mov esi, dword [esp + 0x98]
mov eax, 3
cmp eax, 3
jne 0x4a3a6a
mov dword [esp + 0x128], esi
mov dword [esp], esi
mov dword [esp + 0x12c], eax
mov dword [esp + 4], eax
mov ebp, 0x5f5936
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 3
call fcn.00452bf0
mov ebp, dword [esp + 0x9c]
mov ecx, dword [esp + 0x4c]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4a3a6a
cmp ebp, 3
jb 0x4a3a63
mov ecx, ebp
sub ecx, 3
mov eax, dword [esp + 0x98]
cmp ecx, 0
je 0x4a378c
add eax, 3
mov dword [esp + 0x140], eax
mov dword [esp], eax
mov dword [esp + 0x144], ecx
mov dword [esp + 4], ecx
call fcn.0049feb0
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], 0x5e13a0
call fcn.0040e920
mov ecx, dword [esp + 4]
mov edi, ecx
cmp ecx, 0
je 0x4a3a5c
xor eax, eax
call fcn.00452fb3
mov dword [esp + 0x90], ecx
mov ebp, dword [esp + 0xfc]
mov dword [ecx + 4], ebp
mov ebp, dword [esp + 0xf8]
cmp byte [0x6d9e18], 0
jne 0x4a3a4b
mov dword [ecx], ebp
mov dword [esp], 0x5bd1a0
call fcn.0040e920
mov eax, dword [esp + 4]
mov ebp, dword [0x619fb0]
mov dword [eax], ebp
mov ebp, dword [0x619fb4]
mov dword [eax + 4], ebp
mov ebp, dword [0x619fb8]
mov dword [eax + 8], ebp
movzx ebp, byte [0x619fbc]
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 [0x6d9e18], 0
jne 0x4a3a33
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 0x4a3a2c
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 [0x6d9e18], 0
jne 0x4a3a18
mov dword [ebx + 8], eax
mov dword [esp], 0x5bd1e0
call fcn.0040e920
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 4]
mov ebp, dword [0x619d20]
mov dword [eax], ebp
mov ebp, dword [0x619d24]
mov dword [eax + 4], ebp
movzx ebp, byte [0x619d28]
xchg ebp, ebx
mov byte [eax + 8], bl
xchg ebp, ebx
movzx ebp, byte [0x619d29]
xchg ebp, ebx
mov byte [eax + 9], bl
xchg ebp, ebx
movzx ebp, byte [0x619d2a]
xchg ebp, ebx
mov byte [eax + 0xa], bl
xchg ebp, ebx
mov esi, 1
mov edx, 1
cmp ecx, 0
je 0x4a3a11
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 [0x6d9e18], 0
jne 0x4a39f6
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 0x4a39ef
mov ebp, dword [ecx + 8]
mov dword [esp + 0x88], ecx
cmp byte [0x6d9e18], 0
jne 0x4a39d7
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.0040f2f0
mov eax, dword [esp + 0x88]
jmp 0x4a398f
call fcn.004287a0
ud2
lea esi, [ecx + 0x14]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0040f2f0
mov ecx, dword [esp + 0x90]
jmp 0x4a3954
mov dword [ecx], eax
jmp 0x4a3929
lea esi, [ebx + 8]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0040f2f0
jmp 0x4a38c4
mov dword [ebx], eax
jmp 0x4a3899
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040f2f0
mov eax, dword [esp + 0x94]
jmp 0x4a3878
mov dword [esp], ecx
mov dword [esp + 4], ebp
call fcn.0040f2f0
jmp 0x4a3819
mov dword [ecx], eax
jmp 0x4a37eb
call fcn.00428810
ud2
jmp 0x4a37b7
call fcn.00428810
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.004a7cc0
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 0x4a3b39
shl ebx, 2
add ebp, ebx
mov ecx, dword [ebp]
mov ebx, edi
dec ebx
mov ebp, 0x6b3a80
cmp ebx, 0xd
jae 0x4a3b32
shl ebx, 2
add ebp, ebx
mov ebx, dword [ebp]
mov eax, ecx
sub eax, ebx
jmp 0x4a2ff7
call fcn.004287a0
ud2
call fcn.004287a0
ud2
mov eax, 1
jmp 0x4a2fe9
cmp byte [esp + 0x33], 0
je 0x4a2f5b
mov ebx, dword [esp + 0x74]
cmp ebx, 0xc
jne 0x4a2f5b
mov dword [esp + 0x74], 0
jmp 0x4a2f5b
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 0x4a4ca8
cmp eax, 0x1c
jg 0x4a4909
cmp eax, 0x18
jg 0x4a48d6
cmp eax, 0x16
jg 0x4a48bf
cmp eax, 0x15
jne 0x4a406b
cmp ecx, 3
jl 0x4a3fc2
cmp ecx, 3
jb 0x4a4064
mov eax, 3
cmp eax, 3
jne 0x4a3fc2
mov dword [esp + 0x128], esi
mov dword [esp], esi
mov dword [esp + 0x12c], eax
mov dword [esp + 4], eax
mov ebp, 0x5f59db
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 3
call fcn.00452bf0
mov esi, dword [esp + 0x19c]
mov ecx, dword [esp + 0x1a0]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4a3fc2
mov ebx, dword [0x6c4870]
mov dword [esp + 0x80], ebx
cmp ecx, 3
jb 0x4a3fbb
sub ecx, 3
mov eax, esi
cmp ecx, 0
je 0x4a3c5b
add eax, 3
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x19c], eax
mov ebx, dword [esp + 0xdc]
cmp ebx, 0
je 0x4a3e5a
mov dword [esp], 0x5dece0
call fcn.0040e920
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 [0x6d9e18], 0
jne 0x4a3e42
mov dword [eax], ebp
mov ebp, dword [esp + 0x124]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0x120]
cmp byte [0x6d9e18], 0
jne 0x4a3e27
mov dword [eax + 8], ebp
mov ebp, dword [esp + 0xac]
mov dword [eax + 0x14], ebp
mov ebp, dword [esp + 0xa8]
cmp byte [0x6d9e18], 0
jne 0x4a3e0c
mov dword [eax + 0x10], ebp
mov ebp, dword [esp + 0x1a0]
mov dword [eax + 0x1c], ebp
mov ebp, dword [esp + 0x19c]
cmp byte [0x6d9e18], 0
jne 0x4a3df8
mov dword [eax + 0x18], ebp
mov dword [esp], 0
mov ebx, 0x5f57db
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, 0x5f7a34
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], 0xd
call fcn.0043feb0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x8c]
cmp ebx, 0
je 0x4a3df1
mov dword [esp + 0x144], ecx
mov dword [ebx + 0x24], ecx
mov dword [esp + 0x140], eax
cmp byte [0x6d9e18], 0
jne 0x4a3de0
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x8c]
mov ebx, dword [0x619f70]
mov dword [esp + 0x1ac], ebx
mov ebx, dword [0x619f74]
mov dword [esp + 0x1b0], ebx
mov ebx, dword [0x619f78]
mov dword [esp + 0x1b4], ebx
mov ebx, dword [0x619f7c]
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.0040f2f0
jmp 0x4a3d8c
mov dword [ebx], eax
jmp 0x4a3d6f
lea esi, [eax + 0x18]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f2f0
jmp 0x4a3d13
lea esi, [eax + 0x10]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f2f0
mov eax, dword [esp + 0x8c]
jmp 0x4a3cf2
lea esi, [eax + 8]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f2f0
mov eax, dword [esp + 0x8c]
jmp 0x4a3cd1
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040f2f0
mov eax, dword [esp + 0x8c]
jmp 0x4a3cb0
mov ebx, dword [esp + 0x118]
cmp ebx, 0
je 0x4a2b3e
mov dword [esp], 0x5dece0
call fcn.0040e920
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 [0x6d9e18], 0
jne 0x4a3fa3
mov dword [eax], ebp
mov ebp, dword [esp + 0x124]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0x120]
cmp byte [0x6d9e18], 0
jne 0x4a3f88
mov dword [eax + 8], ebp
mov ebp, dword [esp + 0xac]
mov dword [eax + 0x14], ebp
mov ebp, dword [esp + 0xa8]
cmp byte [0x6d9e18], 0
jne 0x4a3f6d
mov dword [eax + 0x10], ebp
mov ebp, dword [esp + 0x1a0]
mov dword [eax + 0x1c], ebp
mov ebp, dword [esp + 0x19c]
cmp byte [0x6d9e18], 0
jne 0x4a3f55
mov dword [eax + 0x18], ebp
xor ebp, ebp
mov dword [eax + 0x20], ebp
mov dword [eax + 0x24], ebp
mov ebx, dword [0x619f80]
mov dword [esp + 0x1ac], ebx
mov ebx, dword [0x619f84]
mov dword [esp + 0x1b0], ebx
mov ebx, dword [0x619f88]
mov dword [esp + 0x1b4], ebx
mov ebx, dword [0x619f8c]
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.0040f2f0
mov eax, dword [esp + 0x8c]
jmp 0x4a3f00
lea esi, [eax + 0x10]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f2f0
mov eax, dword [esp + 0x8c]
jmp 0x4a3ee3
lea esi, [eax + 8]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040f2f0
mov eax, dword [esp + 0x8c]
jmp 0x4a3ec2
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040f2f0
mov eax, dword [esp + 0x8c]
jmp 0x4a3ea1
call fcn.00428810
ud2
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.004a56f0
mov edi, dword [esp + 0x1a0]
mov eax, dword [esp + 8]
movzx ebx, byte [esp + 0xc]
cmp bl, 0
jne 0x4a4002
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3c69
cmp eax, edi
ja 0x4a405d
mov ebp, dword [esp + 0x19c]
mov esi, eax
mov ecx, eax
cmp eax, edi
ja 0x4a4056
mov edx, edi
sub edx, eax
mov eax, dword [esp + 0x19c]
cmp edx, 0
je 0x4a4027
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 0x4a3c69
call fcn.00428810
ud2
call fcn.00428810
ud2
call fcn.00428810
ud2
cmp eax, 0x16
jne 0x4a3c69
cmp edi, 0x16
je 0x4a4867
cmp edi, 0x18
je 0x4a4867
cmp edi, 0x19
je 0x4a4867
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 0x4a4718
cmp edi, 0x1e
je 0x4a4718
cmp edi, 0x1d
je 0x4a4631
cmp edi, 0x18
je 0x4a4631
cmp edi, 0x1a
je 0x4a4489
cmp edi, 0x1f
je 0x4a4489
cmp edi, 0x17
je 0x4a4359
cmp edi, 0x1c
je 0x4a4359
cmp ecx, 5
jge 0x4a413b
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3c69
cmp ecx, 1
jb 0x4a4352
mov dword [esp + 0x14c], 1
mov dword [esp + 0x148], esi
cmp ecx, 3
jb 0x4a434b
mov ebx, esi
inc ebx
mov dword [esp + 0x144], 2
mov dword [esp + 0x140], ebx
cmp ecx, 5
jb 0x4a4344
mov edx, esi
add edx, 3
mov ebp, 2
cmp ecx, 5
jb 0x4a433d
sub ecx, 5
mov eax, esi
cmp ecx, 0
je 0x4a419d
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, 0x5f57cf
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.0049feb0
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 0x4a428a
mov ebx, dword [esp + 0x108]
mov dword [esp], ebx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
call fcn.0049feb0
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 0x4a42ce
mov ebx, dword [esp + 0xb8]
mov dword [esp], ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 4], ebx
call fcn.0049feb0
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 0x4a4336
mov ebx, dword [esp + 0xb0]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x2b
xchg ebp, eax
je 0x4a3c69
xchg ebp, eax
cmp al, 0x2d
xchg ebp, eax
jne 0x4a4317
mov ebx, ecx
neg ebx
mov dword [esp + 0x34], ebx
jmp 0x4a3c69
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3c69
call fcn.004287a0
ud2
call fcn.00428810
ud2
call fcn.00428810
ud2
call fcn.00428810
ud2
call fcn.00428810
ud2
cmp ecx, 7
jge 0x4a437d
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3c69
cmp ecx, 1
jb 0x4a4482
mov dword [esp + 0x134], 1
mov edi, esi
cmp ecx, 3
jb 0x4a447b
mov ebx, esi
inc ebx
mov dword [esp + 0x14c], 2
mov dword [esp + 0x148], ebx
cmp ecx, 5
jb 0x4a4474
mov ebx, esi
add ebx, 3
mov dword [esp + 0x144], 2
mov dword [esp + 0x140], ebx
cmp ecx, 7
jb 0x4a446d
mov edx, esi
add edx, 5
mov ebp, 2
cmp ecx, 7
jb 0x4a4466
sub ecx, 7
mov eax, esi
cmp ecx, 0
je 0x4a43f6
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 0x4a41fe
call fcn.00428810
ud2
call fcn.00428810
ud2
call fcn.00428810
ud2
call fcn.00428810
ud2
call fcn.00428810
ud2
cmp ecx, 9
jge 0x4a44ad
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3c69
cmp ecx, 3
jbe 0x4a462a
mov ebx, esi
add ebx, 3
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x3a
xchg ebp, eax
jne 0x4a4604
cmp ecx, 6
jbe 0x4a4623
mov ebx, esi
add ebx, 6
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x3a
xchg ebp, eax
jne 0x4a4604
cmp ecx, 1
jb 0x4a45fd
mov dword [esp + 0x13c], 1
mov dword [esp + 0x138], esi
cmp ecx, 3
jb 0x4a45f6
mov edi, esi
inc edi
mov dword [esp + 0x134], 2
cmp ecx, 6
jb 0x4a45ef
mov ebx, esi
add ebx, 4
mov dword [esp + 0x14c], 2
mov dword [esp + 0x148], ebx
cmp ecx, 9
jb 0x4a45e8
mov ebx, esi
add ebx, 7
mov dword [esp + 0x144], 2
mov dword [esp + 0x140], ebx
cmp ecx, 9
jb 0x4a45e1
sub ecx, 9
mov eax, esi
cmp ecx, 0
je 0x4a456d
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 0x4a41fe
call fcn.00428810
ud2
call fcn.00428810
ud2
call fcn.00428810
ud2
call fcn.00428810
ud2
call fcn.00428810
ud2
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3c69
call fcn.004287a0
ud2
call fcn.004287a0
ud2
cmp ecx, 3
jge 0x4a4655
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3c69
cmp ecx, 1
jb 0x4a4711
mov dword [esp + 0x14c], 1
mov dword [esp + 0x148], esi
cmp ecx, 3
jb 0x4a470a
mov edi, esi
inc edi
mov dword [esp + 0x13c], 2
cmp ecx, 3
jb 0x4a4703
sub ecx, 3
mov eax, esi
cmp ecx, 0
je 0x4a4699
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, 0x5f57cf
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], 2
mov ebx, 0x5f57cf
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], 2
mov dword [esp + 0x19c], edx
mov dword [esp + 0x1a0], ebp
jmp 0x4a41fe
call fcn.00428810
ud2
call fcn.00428810
ud2
call fcn.00428810
ud2
cmp ecx, 6
jge 0x4a473c
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3c69
cmp ecx, 3
jbe 0x4a4860
mov ebx, esi
add ebx, 3
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x3a
xchg ebp, eax
je 0x4a4773
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3c69
cmp ecx, 1
jb 0x4a4859
mov dword [esp + 0x144], 1
mov dword [esp + 0x140], esi
cmp ecx, 3
jb 0x4a4852
mov ebx, esi
inc ebx
mov dword [esp + 0x14c], 2
mov dword [esp + 0x148], ebx
cmp ecx, 6
jb 0x4a484b
mov edi, esi
add edi, 4
mov dword [esp + 0x13c], 2
cmp ecx, 6
jb 0x4a4844
sub ecx, 6
mov eax, esi
cmp ecx, 0
je 0x4a47d7
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, 0x5f57cf
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], 2
mov dword [esp + 0x19c], edx
mov dword [esp + 0x1a0], ebp
jmp 0x4a41fe
call fcn.00428810
ud2
call fcn.00428810
ud2
call fcn.00428810
ud2
call fcn.00428810
ud2
call fcn.004287a0
ud2
cmp ecx, 1
jl 0x4a408f
cmp ecx, 0
jbe 0x4a48b8
movzx ebp, byte [esi]
xchg ebp, eax
cmp al, 0x5a
xchg ebp, eax
jne 0x4a408f
cmp ecx, 1
jb 0x4a48b1
dec ecx
mov eax, esi
cmp ecx, 0
je 0x4a4891
inc eax
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x19c], eax
mov ebx, dword [0x6c4870]
mov dword [esp + 0x80], ebx
jmp 0x4a3c69
call fcn.00428810
ud2
call fcn.004287a0
ud2
cmp eax, 0x17
je 0x4a4074
cmp eax, 0x18
je 0x4a4074
jmp 0x4a3c69
cmp eax, 0x1a
jg 0x4a48f2
cmp eax, 0x19
je 0x4a4074
cmp eax, 0x1a
je 0x4a4074
jmp 0x4a3c69
cmp eax, 0x1b
je 0x4a4074
cmp eax, 0x1c
je 0x4a4074
jmp 0x4a3c69
cmp eax, 0x20
jg 0x4a49ec
cmp eax, 0x1e
jg 0x4a492e
cmp eax, 0x1d
je 0x4a4074
cmp eax, 0x1e
je 0x4a4074
jmp 0x4a3c69
cmp eax, 0x1f
je 0x4a4074
cmp eax, 0x20
jne 0x4a3c69
mov eax, edi
sar eax, 0x10
inc eax
cmp ecx, eax
jge 0x4a4969
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3c69
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 0x58], eax
mov dword [esp + 8], eax
call fcn.004a5aa0
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 0x4a49e5
mov edx, eax
sub edx, ecx
mov eax, dword [esp + 0x19c]
cmp edx, 0
je 0x4a49d2
add eax, ecx
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x19c], eax
jmp 0x4a3c69
call fcn.00428810
ud2
cmp eax, 0x101
jg 0x4a4bb5
cmp eax, 0x21
jne 0x4a4b47
cmp ecx, 2
jl 0x4a4b2d
cmp ecx, 0
jbe 0x4a4b40
movzx ebp, byte [esi]
xchg ebp, eax
cmp al, 0x2e
xchg ebp, eax
jne 0x4a4b2d
cmp ecx, 1
jbe 0x4a4b39
mov ebx, esi
inc ebx
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
jb 0x4a4b2d
cmp ecx, 1
jbe 0x4a4b32
mov ebx, esi
inc ebx
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x39
xchg ebp, eax
ja 0x4a4b2d
xor eax, eax
cmp eax, 9
jge 0x4a4a98
mov ebp, eax
inc ebp
cmp ebp, ecx
jge 0x4a4a98
mov ebx, eax
inc ebx
cmp ebx, ecx
jae 0x4a4b26
mov ebp, esi
add ebp, ebx
movzx ebx, byte [ebp]
cmp bl, 0x30
jb 0x4a4a98
mov ebx, eax
inc ebx
cmp ebx, ecx
jae 0x4a4b1f
mov ebp, esi
add ebp, ebx
movzx ebx, byte [ebp]
cmp bl, 0x39
ja 0x4a4a98
inc eax
cmp eax, 9
jl 0x4a4a5b
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.004a5aa0
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 0x4a4b18
mov edx, eax
sub edx, ecx
mov eax, dword [esp + 0x19c]
cmp edx, 0
je 0x4a4b05
add eax, ecx
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x19c], eax
jmp 0x4a3c69
call fcn.00428810
ud2
call fcn.004287a0
ud2
call fcn.004287a0
ud2
jmp 0x4a3c69
call fcn.004287a0
ud2
call fcn.004287a0
ud2
call fcn.004287a0
ud2
cmp eax, 0x101
jne 0x4a3c69
mov ebx, dword [0x6c4f38]
mov dword [esp], ebx
mov ebx, dword [0x6c4f3c]
mov dword [esp + 4], ebx
mov ebx, dword [0x6c4f40]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
call fcn.0049fa90
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 0x4a3c69
cmp eax, 0x102
jne 0x4a4c1f
mov ebx, dword [0x6c4f58]
mov dword [esp], ebx
mov ebx, dword [0x6c4f5c]
mov dword [esp + 4], ebx
mov ebx, dword [0x6c4f60]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
call fcn.0049fa90
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 0x4a3c69
cmp eax, 0x103
jne 0x4a3c69
mov dword [esp], esi
mov dword [esp + 4], ecx
cmp edi, 0x104
je 0x4a4ca1
mov byte [esp + 8], 0
call fcn.004a25a0
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 0x4a4c85
cmp eax, 0xc
jle 0x4a3c69
mov ebx, 0x5f5f34
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], 5
jmp 0x4a3c69
mov byte [esp + 8], 1
jmp 0x4a4c3e
cmp eax, 0x112
jg 0x4a5071
cmp eax, 0x107
jg 0x4a4e6c
cmp eax, 0x105
jg 0x4a4d36
cmp eax, 0x104
je 0x4a4c2a
cmp eax, 0x105
jne 0x4a3c69
mov ebx, dword [0x6c4f28]
mov dword [esp], ebx
mov ebx, dword [0x6c4f2c]
mov dword [esp + 4], ebx
mov ebx, dword [0x6c4f30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
call fcn.0049fa90
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 0x4a3c69
cmp eax, 0x106
jne 0x4a4d98
mov ebx, dword [0x6c4f48]
mov dword [esp], ebx
mov ebx, dword [0x6c4f4c]
mov dword [esp + 4], ebx
mov ebx, dword [0x6c4f50]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
call fcn.0049fa90
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 0x4a3c69
cmp eax, 0x107
jne 0x4a3c69
cmp edi, 0x108
jne 0x4a4dd7
cmp ecx, 0
jle 0x4a4dd7
cmp ecx, 0
jbe 0x4a4e65
movzx ebp, byte [esi]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
jne 0x4a4dd7
cmp ecx, 1
jb 0x4a4e5e
dec ecx
mov eax, esi
cmp ecx, 0
je 0x4a4dd5
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 0x4a4e57
mov byte [esp + 8], 0
call fcn.004a25a0
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 0x4a3c69
mov ebx, 0x5f5a14
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], 3
jmp 0x4a3c69
mov byte [esp + 8], 1
jmp 0x4a4df9
call fcn.00428810
ud2
call fcn.004287a0
ud2
cmp eax, 0x109
jg 0x4a4e8e
cmp eax, 0x108
je 0x4a4da3
cmp eax, 0x109
je 0x4a4da3
jmp 0x4a3c69
cmp eax, 0x111
jne 0x4a4f97
cmp ecx, 4
jl 0x4a4f4a
mov dword [esp + 0xc8], esi
xor eax, eax
mov dword [esp + 0xcc], ecx
cmp ecx, eax
jg 0x4a4f69
xor eax, eax
cmp al, 0
je 0x4a4f4a
cmp ecx, 4
jb 0x4a4f43
mov edx, 4
mov ebp, esi
cmp ecx, 4
jb 0x4a4f3c
sub ecx, 4
mov eax, esi
cmp ecx, 0
je 0x4a4ee3
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.0049feb0
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 0x4a3c69
call fcn.00428810
ud2
call fcn.00428810
ud2
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3c69
cmp eax, ecx
jae 0x4a4f90
mov ebp, esi
add ebp, eax
movzx ebx, byte [ebp]
cmp bl, 0x30
jb 0x4a4f89
cmp bl, 0x39
ja 0x4a4f89
mov eax, 1
jmp 0x4a4ebc
xor eax, eax
jmp 0x4a4ebc
call fcn.004287a0
ud2
cmp eax, 0x112
jne 0x4a3c69
cmp ecx, 2
jge 0x4a4fc6
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3c69
cmp ecx, 2
jb 0x4a506a
mov edx, 2
mov ebp, esi
cmp ecx, 2
jb 0x4a5063
sub ecx, 2
mov eax, esi
cmp ecx, 0
je 0x4a4fec
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.0049feb0
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 0x4a5052
mov ebx, eax
add ebx, 0x76c
mov dword [esp + 0x38], ebx
jmp 0x4a3c69
mov ebx, eax
add ebx, 0x7d0
mov dword [esp + 0x38], ebx
jmp 0x4a3c69
call fcn.00428810
ud2
call fcn.00428810
ud2
cmp eax, 0x20d
jg 0x4a521a
cmp eax, 0x20b
jg 0x4a5186
cmp eax, 0x20a
jne 0x4a50fd
mov dword [esp], esi
mov dword [esp + 4], ecx
mov byte [esp + 8], 0
call fcn.004a25a0
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 0x4a50e1
cmp eax, 0x18
jl 0x4a3c69
mov ebx, 0x5f5cb5
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], 4
jmp 0x4a3c69
cmp eax, 0x20b
jne 0x4a3c69
mov dword [esp], esi
mov dword [esp + 4], ecx
cmp edi, 0x20c
je 0x4a517f
mov byte [esp + 8], 0
call fcn.004a25a0
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 0x4a5163
cmp eax, 0xc
jle 0x4a3c69
mov ebx, 0x5f5cb5
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], 4
jmp 0x4a3c69
mov byte [esp + 8], 1
jmp 0x4a511c
cmp eax, 0x20c
je 0x4a5108
cmp eax, 0x20d
jne 0x4a3c69
mov dword [esp], esi
mov dword [esp + 4], ecx
cmp edi, 0x20e
je 0x4a5213
mov byte [esp + 8], 0
call fcn.004a25a0
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 0x4a51f7
cmp eax, 0x3c
jl 0x4a3c69
mov ebx, 0x5f61ba
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], 6
jmp 0x4a3c69
mov byte [esp + 8], 1
jmp 0x4a51b0
cmp eax, 0x20f
jg 0x4a546c
cmp eax, 0x20e
je 0x4a519c
cmp eax, 0x20f
jne 0x4a3c69
mov dword [esp], esi
mov dword [esp + 4], ecx
cmp edi, 0x210
je 0x4a5462
mov byte [esp + 8], 0
call fcn.004a25a0
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 0x4a5446
cmp ecx, 0x3c
jge 0x4a5446
mov dword [esp + 0x1a0], eax
cmp eax, 2
jl 0x4a540c
cmp eax, 0
jbe 0x4a543f
movzx ebp, byte [edx]
xchg ebp, eax
cmp al, 0x2e
xchg ebp, eax
jne 0x4a540c
mov dword [esp + 0xd0], edx
mov ecx, eax
mov eax, 1
mov dword [esp + 0xd4], ecx
cmp ecx, eax
jg 0x4a5411
xor eax, eax
cmp al, 0
je 0x4a540c
mov ebx, dword [esp + 0x194]
mov dword [esp], ebx
mov ebx, dword [esp + 0x198]
mov dword [esp + 4], ebx
call fcn.0049e2c0
mov esi, dword [esp + 0x1a0]
mov eax, dword [esp + 0x10]
and eax, 0xffff
cmp eax, 0x20
je 0x4a3c69
cmp eax, 0x21
je 0x4a3c69
mov eax, 2
cmp eax, esi
jge 0x4a5354
mov edi, dword [esp + 0x19c]
mov dword [esp + 0xc0], edi
mov dword [esp + 0xc4], esi
cmp esi, eax
jg 0x4a53de
xor ecx, ecx
cmp cl, 0
je 0x4a5354
inc eax
cmp eax, esi
jl 0x4a532b
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.004a5aa0
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 0x4a53d7
mov edx, eax
sub edx, ecx
mov eax, dword [esp + 0x19c]
cmp edx, 0
je 0x4a53c4
add eax, ecx
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x19c], eax
jmp 0x4a3c69
call fcn.00428810
ud2
cmp eax, esi
jae 0x4a5405
mov ebp, edi
add ebp, eax
movzx ebx, byte [ebp]
cmp bl, 0x30
jb 0x4a53fe
cmp bl, 0x39
ja 0x4a53fe
mov ecx, 1
jmp 0x4a534a
xor ecx, ecx
jmp 0x4a534a
call fcn.004287a0
ud2
jmp 0x4a3c69
cmp eax, ecx
jae 0x4a5438
mov ebp, edx
add ebp, eax
movzx ebx, byte [ebp]
cmp bl, 0x30
jb 0x4a5431
cmp bl, 0x39
ja 0x4a5431
mov eax, 1
jmp 0x4a52dd
xor eax, eax
jmp 0x4a52dd
call fcn.004287a0
ud2
call fcn.004287a0
ud2
mov ebx, 0x5f61cc
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], 6
jmp 0x4a5297
mov byte [esp + 8], 1
jmp 0x4a5253
cmp eax, 0x210
je 0x4a523b
cmp eax, 0x213
jne 0x4a55a8
cmp ecx, 2
jge 0x4a54a6
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3c69
cmp ecx, 2
jb 0x4a55a1
mov edx, 2
mov ebp, esi
cmp ecx, 2
jb 0x4a559a
sub ecx, 2
mov eax, esi
cmp ecx, 0
je 0x4a54cc
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 0x4a553e
mov dword [esp], esi
mov dword [esp + 0x14c], eax
mov dword [esp + 4], eax
mov ebp, 0x5f57e5
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 2
call fcn.00452bf0
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x14c]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4a553e
mov byte [esp + 0x33], 1
jmp 0x4a3c69
mov dword [esp + 0x14c], eax
cmp eax, 2
jne 0x4a557b
mov dword [esp], esi
mov dword [esp + 4], eax
mov ebp, 0x5f580f
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 2
call fcn.00452bf0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4a557b
mov byte [esp + 0x32], 1
jmp 0x4a3c69
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3c69
call fcn.00428810
ud2
call fcn.00428810
ud2
cmp eax, 0x214
jne 0x4a3c69
cmp ecx, 2
jge 0x4a55d7
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3c69
cmp ecx, 2
jb 0x4a56d2
mov edx, 2
mov ebp, esi
cmp ecx, 2
jb 0x4a56cb
sub ecx, 2
mov eax, esi
cmp ecx, 0
je 0x4a55fd
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 0x4a566f
mov dword [esp], esi
mov dword [esp + 0x14c], eax
mov dword [esp + 4], eax
mov ebp, 0x5f5853
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 2
call fcn.00452bf0
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x14c]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4a566f
mov byte [esp + 0x33], 1
jmp 0x4a3c69
mov dword [esp + 0x14c], eax
cmp eax, 2
jne 0x4a56ac
mov dword [esp], esi
mov dword [esp + 4], eax
mov ebp, 0x5f5861
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 2
call fcn.00452bf0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4a56ac
mov byte [esp + 0x32], 1
jmp 0x4a3c69
mov ebx, dword [0x6c87c0]
mov dword [esp + 0x118], ebx
mov ebx, dword [0x6c87c4]
mov dword [esp + 0x11c], ebx
jmp 0x4a3c69
call fcn.00428810
ud2
call fcn.00428810
ud2
call fcn.00428810
ud2
call fcn.00450ed0
jmp fcn.004a2a40