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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xc0]
cmp eax, dword [ecx + 8]
jbe 0x4ae238
sub esp, 0x140
lea edi, [esp + 0x15c]
xor eax, eax
call fcn.004572ab
mov ecx, dword [esp + 0x148]
mov edx, dword [esp + 0x144]
mov ebx, dword [esp + 0x150]
mov ebp, dword [esp + 0x14c]
xor esi, esi
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x5c], ecx
xor ecx, ecx
mov dword [esp + 0xf8], ecx
xor ecx, ecx
mov byte [esp + 0x36], cl
xor edx, edx
mov dword [esp + 0x3c], edx
mov edx, 0xffffffff
mov dword [esp + 0x78], edx
mov ebx, 0xffffffff
mov dword [esp + 0x64], ebx
xor ebx, ebx
mov dword [esp + 0x8c], ebx
mov ebx, 0xffffffff
mov dword [esp + 0x44], ebx
xor ebx, ebx
mov byte [esp + 0x37], bl
mov ebx, 0xffffffff
mov dword [esp + 0x94], ebx
xor ebx, ebx
mov dword [esp + 0xd8], ebx
xor ebp, ebp
mov dword [esp + 0x80], ebp
xor ebp, ebp
mov dword [esp + 0x50], ebp
xor ebp, ebp
mov dword [esp + 0x6c], ebp
mov ecx, dword [esp + 0x148]
mov edx, dword [esp + 0x144]
mov ebx, dword [esp + 0x150]
mov ebp, dword [esp + 0x14c]
jmp 0x4ab4f5
mov edx, dword [esp + 0xdc]
mov ebx, edi
mov ebp, dword [esp + 0x114]
mov edi, dword [esp + 0xf0]
mov edx, dword [esp + 0xd4]
mov dword [esp + 0xf8], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x64], edx
mov dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xdc]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x114], edx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0x110], ebp
mov dword [esp + 0x74], esi
mov dword [esp + 0xf0], edi
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.004a7cf0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0xa8]
mov edi, esi
sub esi, ebp
cmp esi, edi
ja 0x4ae22e
cmp ecx, esi
ja 0x4ae225
mov dword [esp + 0x4c], eax
mov dword [esp + 0xa8], esi
mov dword [esp + 0x60], ecx
mov dword [esp + 0xdc], edx
mov dword [esp + 0xf4], ebx
mov dword [esp + 0x48], ebp
mov eax, dword [esp + 0x110]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
call fcn.004ab2a0
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x60]
sub eax, ecx
mov edx, eax
neg eax
sar eax, 0x1f
and eax, ecx
mov ebx, dword [esp + 0x114]
add eax, ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xe4], ebx
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x58], esi
test ebp, ebp
jne 0x4ae074
mov edi, dword [esp + 0x4c]
test edi, edi
je 0x4acd5f
mov dword [esp + 0xa8], edx
mov dword [esp + 0xe0], eax
mov ecx, edi
and edi, 0xffff
cmp edi, 0x106
jg 0x4ac3e9
cmp edi, 0x23
jg 0x4ac10b
cmp edi, 0x21
jg 0x4abf0c
cmp edi, 0x17
jne 0x4aba5f
mov dword [esp + 0x90], ebp
cmp esi, 3
jl 0x4ab990
cmp word [ebx], 0x5455
jne 0x4aba58
cmp byte [ebx + 2], 0x43
sete cl
test cl, cl
je 0x4ab990
mov ecx, dword [0xdb93ec]
add esi, 0xfffffffd
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 3
add ebx, esi
mov esi, dword [esp + 0x74]
mov esi, dword [esp + 0xf8]
mov dword [esp + 0xd4], esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x64]
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x74]
mov dword [esp + 0x114], ebx
mov dword [esp + 0xa4], edi
mov eax, dword [esp + 0x5c]
test eax, eax
jne 0x4ab7f6
test ebp, ebp
je 0x4ab4ae
lea eax, [0x9401c0]
mov dword [esp], eax
call fcn.0040ae10
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x148]
mov dword [edi + 4], eax
mov eax, dword [0xdd7ec0]
test eax, eax
jne 0x4ab7e5
mov ecx, dword [esp + 0x144]
mov dword [edi], ecx
mov ecx, dword [esp + 0x150]
mov dword [edi + 0xc], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4ab7c9
mov ecx, dword [esp + 0x14c]
mov dword [edi + 8], ecx
mov ecx, dword [esp + 0xa8]
mov dword [edi + 0x14], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4ab7ad
mov ecx, dword [esp + 0xe0]
mov dword [edi + 0x10], ecx
mov ecx, dword [esp + 0xa4]
mov dword [edi + 0x1c], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4ab794
mov ecx, dword [esp + 0x114]
mov dword [edi + 0x18], ecx
mov dword [edi + 0x24], 0
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4ab780
mov dword [edi + 0x20], 0
mov eax, edi
lea edi, [esp + 0x15c]
lea esi, [0xa50f80]
call fcn.0045778e
lea ecx, [0xa4e5a0]
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], eax
add esp, 0x140
ret
lea ecx, [edi + 0x20]
mov eax, edi
mov edi, ecx
mov edx, eax
xor eax, eax
call fcn.00456fe0
mov edi, edx
jmp 0x4ab751
lea ecx, [edi + 0x18]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x114]
call fcn.00456fe0
mov edi, edx
jmp 0x4ab739
lea ecx, [edi + 0x10]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xe0]
call fcn.00456fe0
mov edi, edx
jmp 0x4ab71b
lea ecx, [edi + 8]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x14c]
call fcn.00456fe0
mov edi, edx
jmp 0x4ab6f9
mov eax, dword [esp + 0x144]
call fcn.00456fe0
jmp 0x4ab6d7
lea eax, [0x9401c0]
mov dword [esp], eax
call fcn.0040ae10
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x148]
mov dword [edi + 4], eax
mov eax, dword [0xdd7ec0]
test eax, eax
jne 0x4ab97f
mov ecx, dword [esp + 0x144]
mov dword [edi], ecx
mov ecx, dword [esp + 0x150]
mov dword [edi + 0xc], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4ab963
mov ecx, dword [esp + 0x14c]
mov dword [edi + 8], ecx
mov ecx, dword [esp + 0xa8]
mov dword [edi + 0x14], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4ab947
mov ecx, dword [esp + 0xe0]
mov dword [edi + 0x10], ecx
mov dword [esp + 0x10c], edi
mov ecx, dword [esp + 0xa4]
mov dword [edi + 0x1c], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4ab931
mov eax, dword [esp + 0x114]
mov dword [edi + 0x18], eax
mov dword [esp], 0
lea eax, [0x981db3]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x10], eax
lea eax, [0x988e36]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0xd
call fcn.00443960
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10c]
mov dword [edx + 0x24], eax
mov eax, dword [0xdd7ec0]
test eax, eax
jne 0x4ab925
mov dword [edx + 0x20], ecx
lea edi, [esp + 0x15c]
lea esi, [0xa50f60]
call fcn.0045778e
lea eax, [0xa4e5a0]
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], edx
add esp, 0x140
ret
lea edi, [edx + 0x20]
mov eax, ecx
call fcn.00456fe0
jmp 0x4ab8f8
lea ecx, [edi + 0x18]
mov edi, ecx
mov eax, dword [esp + 0x114]
call fcn.00456fe0
jmp 0x4ab896
lea ecx, [edi + 0x10]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xe0]
call fcn.00456fe0
mov edi, edx
jmp 0x4ab86d
lea ecx, [edi + 8]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x14c]
call fcn.00456fe0
mov edi, edx
jmp 0x4ab84b
mov eax, dword [esp + 0x144]
call fcn.00456fe0
jmp 0x4ab829
mov dword [esp], ebx
mov dword [esp + 4], esi
call fcn.004ae250
mov ecx, dword [esp + 8]
movzx eax, byte [esp + 0xc]
test al, al
je 0x4aba0b
mov edx, dword [esp + 0x58]
cmp ecx, edx
ja 0x4ae210
sub edx, ecx
mov edi, edx
neg edx
sar edx, 0x1f
and edx, ecx
mov eax, dword [esp + 0xe4]
lea ebx, [edx + eax]
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xa8]
mov esi, ecx
mov ebp, dword [esp + 0xe4]
mov dword [esp + 0xd4], ebp
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x90]
jmp 0x4ab682
mov ebp, dword [0xdc3418]
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xd4], ecx
mov ebx, dword [esp + 0xe4]
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xd8]
jmp 0x4ab682
xor ecx, ecx
jmp 0x4ab63b
add edi, 0xffffffe8
cmp edi, 9
ja 0x4abeda
cmp ecx, 0x18
jne 0x4abec3
cmp esi, 1
jl 0x4abac2
cmp byte [ebx], 0x5a
jne 0x4abac2
lea edi, [esi - 1]
mov ecx, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, 1
add ebx, edi
mov esi, dword [0xdb93ec]
mov edi, dword [esp + 0xf8]
mov dword [esp + 0xd4], edi
mov edi, ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov ecx, esi
mov esi, dword [esp + 0x74]
jmp 0x4ab682
cmp ecx, 0x1b
jne 0x4abc87
cmp esi, 6
jge 0x4abb08
mov ebp, dword [0xdc3418]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xd4], ecx
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xd8]
jmp 0x4ab682
cmp byte [ebx + 3], 0x3a
je 0x4abb46
mov ebp, dword [0xdc3418]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xd4], ecx
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xd8]
jmp 0x4ab682
lea ecx, [ebx + 1]
lea ebp, [ebx + 4]
add esi, 0xfffffffa
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 6
add esi, ebx
mov dword [esp + 0xac], eax
lea eax, [0x981d9f]
mov dword [esp + 0xe8], eax
mov dword [esp + 0xfc], ebp
mov dword [esp + 0xa4], edi
mov dword [esp + 0x114], esi
mov dword [esp], ecx
mov dword [esp + 4], 2
call fcn.004a9020
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x88], ecx
test eax, eax
je 0x4abc5c
xor edx, edx
test eax, eax
je 0x4abc29
xor ebx, ebx
imul ecx, ecx, 0x3c
add ecx, edx
imul ecx, ecx, 0x3c
add ecx, ebx
mov edx, dword [esp + 0xe4]
movzx edx, byte [edx]
cmp dl, 0x2b
jne 0x4abc18
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0xf8]
mov dword [esp + 0xd4], ebx
mov ebx, dword [esp + 0x114]
mov edi, dword [esp + 0xa4]
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xd8]
mov ebp, eax
mov eax, dword [esp + 0xe0]
jmp 0x4ab682
cmp dl, 0x2d
jne 0x4abc21
neg ecx
jmp 0x4abbd0
mov eax, dword [0xdc3418]
jmp 0x4abbd0
mov dword [esp + 0x7c], edx
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.004a9020
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x7c]
jmp 0x4abbb7
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.004a9020
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0x88]
jmp 0x4abbb1
cmp ecx, 0x20
je 0x4abacb
cmp ecx, 0x1f
jne 0x4abd1c
cmp esi, 3
jge 0x4abcd6
mov ebp, dword [0xdc3418]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xd4], ecx
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xd8]
jmp 0x4ab682
lea ecx, [ebx + 1]
lea ebp, [esi - 3]
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 3
add ebp, ebx
lea edi, [0x981d9f]
lea edi, [0x981d9f]
mov dword [esp + 0xfc], edi
lea edi, [0x981d9f]
mov dword [esp + 0xe8], edi
mov edi, esi
mov esi, ebp
mov ebp, dword [esp + 0xfc]
jmp 0x4abb73
cmp ecx, 0x1a
je 0x4abc99
cmp ecx, 0x1c
jne 0x4abde5
cmp esi, 9
jge 0x4abd6b
mov ebp, dword [0xdc3418]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xd4], ecx
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xd8]
jmp 0x4ab682
cmp byte [ebx + 3], 0x3a
je 0x4abda9
mov ebp, dword [0xdc3418]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xd4], ecx
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xd8]
jmp 0x4ab682
cmp byte [ebx + 6], 0x3a
jne 0x4abd71
lea ecx, [ebx + 1]
lea ebp, [ebx + 4]
lea edi, [ebx + 7]
add esi, 0xfffffff7
mov dword [esp + 0xa4], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 9
add esi, ebx
mov dword [esp + 0xfc], ebp
mov ebp, esi
mov esi, dword [esp + 0xa4]
jmp 0x4abd05
cmp ecx, 0x21
je 0x4abd2e
cmp ecx, 0x19
jne 0x4abe56
cmp esi, 7
jge 0x4abe30
mov ebp, dword [0xdc3418]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xd4], ecx
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xd8]
jmp 0x4ab682
lea ecx, [ebx + 1]
lea ebp, [ebx + 3]
lea edi, [ebx + 5]
add esi, 0xfffffff9
mov dword [esp + 0xa4], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 7
add esi, ebx
jmp 0x4abdd0
cmp ecx, 0x1e
je 0x4abdf3
cmp esi, 5
jge 0x4abe98
mov ebp, dword [0xdc3418]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xd4], ecx
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xd8]
jmp 0x4ab682
lea ecx, [ebx + 1]
lea ebp, [ebx + 3]
add esi, 0xfffffffb
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 5
add esi, ebx
mov dword [esp + 0xa4], edi
lea edi, [0x981d9f]
jmp 0x4abdd0
cmp ecx, 0x1a
je 0x4aba74
cmp ecx, 0x1b
je 0x4aba74
jmp 0x4abac2
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xd4], ecx
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xd8]
jmp 0x4ab682
cmp edi, 0x22
jne 0x4abff4
sar ecx, 0x10
inc ecx
cmp esi, ecx
jge 0x4abf55
mov ebp, dword [0xdc3418]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xd4], ecx
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xd8]
jmp 0x4ab682
mov dword [esp + 0x70], ecx
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
call fcn.004ae5c0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x58]
cmp ebp, esi
ja 0x4ae207
sub esi, ebp
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ebp, esi
mov esi, dword [esp + 0xe4]
add ebp, esi
mov esi, dword [esp + 0x74]
mov esi, dword [esp + 0xf8]
mov dword [esp + 0xd4], esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x64]
mov dword [esp + 0x38], esi
mov dword [esp + 0x5c], edx
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x6c], ebx
mov edx, dword [esp + 0xa8]
mov ebx, ebp
mov ecx, dword [esp + 0xd8]
mov ebp, eax
mov esi, dword [esp + 0x74]
mov eax, dword [esp + 0xe0]
jmp 0x4ab682
cmp esi, 2
jge 0x4ac02b
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xd4], ecx
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xd8]
jmp 0x4ab682
cmp byte [ebx], 0x2e
jne 0x4abff9
movzx ecx, byte [ebx + 1]
cmp cl, 0x30
jb 0x4abff9
cmp cl, 0x39
ja 0x4abff9
xor ecx, ecx
jmp 0x4ac044
mov ecx, ebp
cmp ecx, 9
jge 0x4ac063
lea ebp, [ecx + 1]
cmp ebp, esi
jge 0x4ac063
movzx edi, byte [ecx + ebx + 1]
xchg edi, eax
cmp al, 0x30
xchg edi, eax
jb 0x4ac063
xchg edi, eax
cmp al, 0x39
xchg edi, eax
jbe 0x4ac042
mov dword [esp], ebx
mov dword [esp + 4], esi
lea eax, [ecx + 1]
mov dword [esp + 0xa4], eax
mov dword [esp + 8], eax
call fcn.004ae5c0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0xa4]
mov esi, dword [esp + 0x58]
cmp ebp, esi
ja 0x4ae1fe
sub esi, ebp
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, ebp
mov ebp, dword [esp + 0xe4]
add ebp, esi
mov esi, dword [esp + 0x74]
mov esi, dword [esp + 0xf8]
mov dword [esp + 0xd4], esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x64]
mov dword [esp + 0x38], esi
mov dword [esp + 0x5c], ecx
mov dword [esp + 0xf0], edx
mov dword [esp + 0x6c], ebx
mov edx, dword [esp + 0xa8]
mov ebx, ebp
mov ecx, dword [esp + 0xd8]
mov ebp, eax
mov esi, dword [esp + 0x74]
mov eax, dword [esp + 0xe0]
jmp 0x4ab682
cmp edi, 0x102
jg 0x4ac225
cmp edi, 0x101
je 0x4ac1aa
cmp edi, 0x102
jne 0x4abeda
mov eax, dword [0xdba5dc]
mov ecx, dword [0xdba5e0]
mov edx, dword [0xdba5d8]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call fcn.004a8cf0
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
inc eax
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xd4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xd8]
mov eax, dword [esp + 0xe0]
jmp 0x4ab682
mov eax, dword [0xdba5c0]
mov ecx, dword [0xdba5bc]
mov edx, dword [0xdba5b8]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call fcn.004a8cf0
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
inc eax
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xd4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xd8]
mov eax, dword [esp + 0xe0]
jmp 0x4ab682
lea eax, [edi - 0x103]
cmp eax, 1
jbe 0x4ac338
cmp edi, 0x105
je 0x4ac2c6
cmp edi, 0x106
je 0x4ac254
mov eax, dword [esp + 0xe0]
jmp 0x4abeda
mov eax, dword [0xdba5d0]
mov ecx, dword [0xdba5cc]
mov edx, dword [0xdba5c8]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call fcn.004a8cf0
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xd4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xd8]
jmp 0x4ab682
mov eax, dword [0xdba5b0]
mov ecx, dword [0xdba5ac]
mov edx, dword [0xdba5a8]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call fcn.004a8cf0
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xd4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xd8]
jmp 0x4ab682
mov dword [esp], ebx
mov dword [esp + 4], esi
cmp ecx, 0x104
sete al
mov byte [esp + 8], al
call fcn.004ab000
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x4ac3c1
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0xf0]
mov edi, dword [esp + 0xf8]
mov dword [esp + 0xd4], edi
mov edi, edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x40], edx
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x64]
mov dword [esp + 0x38], edx
mov dword [esp + 0x5c], ebp
mov dword [esp + 0xf0], esi
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0x74]
mov ebp, ebx
mov ebx, ecx
mov ecx, dword [esp + 0xd8]
jmp 0x4ab682
test eax, eax
jg 0x4ac3dd
mov ebp, 1
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4ac365
mov ebp, 5
lea esi, [0x98323f]
jmp 0x4ac370
cmp eax, 0xc
xchg ebp, ebx
setg bl
xchg ebp, ebx
jmp 0x4ac3ca
cmp edi, 0x20c
jg 0x4ac7a4
cmp edi, 0x10b
jg 0x4ac55e
lea eax, [edi - 0x107]
cmp eax, 2
jbe 0x4ac4c4
lea eax, [edi - 0x10a]
cmp eax, 1
ja 0x4ac4b8
xor eax, eax
jmp 0x4ac424
inc eax
cmp eax, 2
jge 0x4ac44f
cmp ecx, 0x10a
jne 0x4ac423
test esi, esi
jle 0x4ac423
cmp byte [ebx], 0x20
jne 0x4ac423
lea ebp, [esi - 1]
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 1
add ebx, ebp
jmp 0x4ac423
mov dword [esp], ebx
mov dword [esp + 4], esi
cmp ecx, 0x10b
sete al
mov byte [esp + 8], al
call fcn.004ab130
mov eax, dword [esp + 0xc]
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xd4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0xd8]
mov eax, dword [esp + 0xe0]
jmp 0x4ab682
mov eax, dword [esp + 0xe0]
jmp 0x4abeda
cmp ecx, 0x108
jne 0x4ac558
test esi, esi
jle 0x4ac558
cmp byte [ebx], 0x20
jne 0x4ac558
lea eax, [esi - 1]
mov ebp, eax
neg eax
sar eax, 0x1f
and eax, 1
add eax, ebx
mov dword [esp], eax
mov dword [esp + 4], ebp
cmp ecx, 0x109
sete al
mov byte [esp + 8], al
call fcn.004ab000
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xd4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x94], eax
mov ecx, dword [esp + 0xd8]
mov eax, dword [esp + 0xe0]
jmp 0x4ab682
mov eax, ebx
mov ebp, esi
jmp 0x4ac4ec
cmp edi, 0x113
jne 0x4ac62e
cmp esi, 4
jge 0x4ac5a7
mov ebp, dword [0xdc3418]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xd4], ecx
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xd8]
jmp 0x4ab682
movzx ecx, byte [ebx]
cmp cl, 0x30
jb 0x4ac62a
cmp cl, 0x39
setbe cl
test cl, cl
je 0x4ac56f
mov dword [esp], ebx
mov dword [esp + 4], 4
call fcn.004a9020
mov eax, dword [esp + 0x58]
lea edi, [eax - 4]
mov eax, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, 4
mov ecx, dword [esp + 0xe4]
lea ebx, [edi + ecx]
mov ecx, dword [esp + 8]
mov ebp, dword [esp + 0xc]
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0xf8]
mov dword [esp + 0xd4], edi
mov edi, eax
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x64]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0xd8]
mov eax, dword [esp + 0xe0]
jmp 0x4ab682
xor ecx, ecx
jmp 0x4ac5b5
cmp edi, 0x114
jne 0x4ac704
cmp esi, 2
jge 0x4ac677
mov ebp, dword [0xdc3418]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xd4], ecx
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xd8]
jmp 0x4ab682
mov dword [esp], ebx
mov dword [esp + 4], 2
call fcn.004a9020
mov eax, dword [esp + 0x58]
lea ecx, [eax - 2]
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
mov ebx, dword [esp + 0xe4]
add ecx, ebx
mov ebp, dword [esp + 8]
mov esi, dword [esp + 0xc]
test esi, esi
je 0x4ac6e9
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xd4], ecx
mov edi, eax
mov dword [esp + 0x40], ebp
mov eax, dword [esp + 0x64]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0xd8]
mov ebp, esi
mov eax, dword [esp + 0xe0]
mov esi, dword [esp + 0x74]
jmp 0x4ab682
cmp ebp, 0x45
jl 0x4ac6fc
lea eax, [ebp + 0x76c]
mov ebp, eax
mov eax, edx
mov ebx, ecx
jmp 0x4ac6ad
lea eax, [ebp + 0x7d0]
jmp 0x4ac6f4
cmp edi, 0x20c
jne 0x4ac4b8
mov dword [esp], ebx
mov dword [esp + 4], esi
mov byte [esp + 8], 0
call fcn.004ab000
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
test eax, eax
jge 0x4ac792
mov ebp, 4
lea esi, [0x98275c]
mov edi, dword [esp + 0xf8]
mov dword [esp + 0xd4], edi
mov edi, edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x38], edx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x5c], ebp
mov dword [esp + 0xf0], esi
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0x74]
mov ebp, ecx
mov ecx, dword [esp + 0xd8]
jmp 0x4ab682
cmp eax, 0x18
jge 0x4ac735
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0xf0]
jmp 0x4ac740
cmp edi, 0x210
jg 0x4ac906
lea eax, [edi - 0x20d]
cmp eax, 1
jbe 0x4ac86a
lea eax, [edi - 0x20f]
cmp eax, 1
ja 0x4ac4b8
mov dword [esp], ebx
mov dword [esp + 4], esi
cmp ecx, 0x210
sete al
mov byte [esp + 8], al
call fcn.004ab000
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
test eax, eax
jge 0x4ac858
mov ebp, 6
lea esi, [0x984087]
mov edi, dword [esp + 0xf8]
mov dword [esp + 0xd4], edi
mov edi, edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x38], edx
mov dword [esp + 0x80], eax
mov dword [esp + 0x5c], ebp
mov dword [esp + 0xf0], esi
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0x74]
mov ebp, ecx
mov ecx, dword [esp + 0xd8]
jmp 0x4ab682
cmp eax, 0x3c
jge 0x4ac7fb
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0xf0]
jmp 0x4ac806
mov dword [esp], ebx
mov dword [esp + 4], esi
cmp ecx, 0x20e
sete al
mov byte [esp + 8], al
call fcn.004ab000
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
test eax, eax
jge 0x4ac8f4
mov ebp, 4
lea esi, [0x98275c]
mov edi, dword [esp + 0xf8]
mov dword [esp + 0xd4], edi
mov edi, ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x5c], ebp
mov dword [esp + 0xf0], esi
mov eax, dword [esp + 0xe0]
mov esi, dword [esp + 0x74]
mov ebp, edx
mov edx, dword [esp + 0xa8]
jmp 0x4ab682
cmp eax, 0xc
jg 0x4ac897
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0xf0]
jmp 0x4ac8a2
lea eax, [edi - 0x211]
cmp eax, 1
jbe 0x4acac5
cmp edi, 0x215
jne 0x4ac9ed
cmp esi, 2
jge 0x4ac965
mov ebp, dword [0xdc3418]
mov eax, dword [esp + 0xe0]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xd4], ecx
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xd8]
jmp 0x4ab682
lea eax, [esi - 2]
mov ecx, eax
neg eax
sar eax, 0x1f
and eax, 2
add eax, ebx
cmp word [ebx], 0x4d41
jne 0x4ac9c8
movzx ebx, byte [esp + 0x36]
mov esi, 1
mov edi, dword [esp + 0xf8]
mov dword [esp + 0xd4], edi
mov edi, ecx
mov byte [esp + 0x36], bl
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
xchg esi, eax
mov byte [esp + 0x37], al
xchg esi, eax
mov ecx, dword [esp + 0xd8]
mov esi, dword [esp + 0x74]
mov ebx, eax
mov eax, dword [esp + 0xe0]
jmp 0x4ab682
cmp word [ebx], 0x4d50
jne 0x4ac9db
mov ebx, 1
movzx esi, byte [esp + 0x37]
jmp 0x4ac985
mov ebp, dword [0xdc3418]
movzx ebx, byte [esp + 0x36]
movzx esi, byte [esp + 0x37]
jmp 0x4ac985
cmp edi, 0x216
jne 0x4ac4b8
cmp esi, 2
jge 0x4aca3d
mov ebp, dword [0xdc3418]
mov eax, dword [esp + 0xe0]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xd4], ecx
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xd8]
jmp 0x4ab682
lea eax, [esi - 2]
mov ecx, eax
neg eax
sar eax, 0x1f
and eax, 2
add eax, ebx
cmp word [ebx], 0x6d61
jne 0x4acaa0
movzx ebx, byte [esp + 0x36]
mov esi, 1
mov edi, dword [esp + 0xf8]
mov dword [esp + 0xd4], edi
mov edi, ecx
mov byte [esp + 0x36], bl
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
xchg esi, eax
mov byte [esp + 0x37], al
xchg esi, eax
mov ecx, dword [esp + 0xd8]
mov esi, dword [esp + 0x74]
mov ebx, eax
mov eax, dword [esp + 0xe0]
jmp 0x4ab682
cmp word [ebx], 0x6d70
jne 0x4acab3
mov ebx, 1
movzx esi, byte [esp + 0x37]
jmp 0x4aca5d
mov ebp, dword [0xdc3418]
movzx ebx, byte [esp + 0x36]
movzx esi, byte [esp + 0x37]
jmp 0x4aca5d
mov dword [esp], ebx
mov dword [esp + 4], esi
cmp ecx, 0x212
sete al
mov byte [esp + 8], al
call fcn.004ab000
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
test eax, eax
jge 0x4acb4c
mov esi, dword [esp + 0x74]
mov ebp, dword [esp + 0xf8]
mov dword [esp + 0xd4], ebp
mov edi, edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x38], edx
mov dword [esp + 0x50], eax
mov ebp, ecx
mov ecx, 6
mov dword [esp + 0x5c], ecx
lea edx, [0x984387]
mov dword [esp + 0xf0], edx
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0xd8]
jmp 0x4ab682
cmp eax, 0x3c
jge 0x4acaf2
cmp edx, 2
jl 0x4acb80
cmp byte [ebx], 0x2e
jne 0x4acb80
movzx ebp, byte [ebx + 1]
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
jb 0x4acd58
xchg ebp, eax
cmp al, 0x39
xchg ebp, eax
xchg ebp, ebx
setbe bl
xchg ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x4acc16
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0xf0]
mov edi, dword [esp + 0x6c]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov dword [esp + 0xbc], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x38], edx
mov dword [esp + 0xb4], ebx
mov ebx, dword [esp + 0xcc]
mov dword [esp + 0x50], ebx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x5c], ebp
mov dword [esp + 0xf0], esi
mov dword [esp + 0x6c], edi
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc4]
mov ebx, dword [esp + 0xb4]
jmp 0x4ab682
mov dword [esp + 0xa0], eax
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0xec], ebx
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.004a7cf0
mov eax, dword [esp + 0x10]
and eax, 0xffff
cmp eax, 0x22
jne 0x4accad
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xd4], ecx
mov ebx, dword [esp + 0xec]
mov edi, dword [esp + 0x54]
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x40], ebp
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x9c]
jmp 0x4ab682
cmp eax, 0x23
je 0x4acc54
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x54]
mov eax, 2
jmp 0x4accc5
inc eax
cmp eax, ebx
jge 0x4accec
jae 0x4ae21e
movzx ebp, byte [edx + eax]
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
jb 0x4acd54
xchg ebp, eax
cmp al, 0x39
xchg ebp, eax
xchg ebp, ebx
setbe bl
xchg ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x4accc4
mov dword [esp + 0x84], eax
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.004ae5c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x84]
mov esi, dword [esp + 0x54]
cmp ebp, esi
ja 0x4ae215
sub esi, ebp
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ebp, esi
mov esi, dword [esp + 0xec]
add ebp, esi
mov esi, ebx
mov ebx, ebp
mov ebp, edx
mov edx, edi
mov edi, eax
mov eax, dword [esp + 0xa0]
jmp 0x4acb8f
xor ebp, ebp
jmp 0x4acce6
xor ebp, ebp
jmp 0x4acb76
test esi, esi
jne 0x4adf07
movzx edx, byte [esp + 0x36]
test dl, dl
je 0x4adefe
mov edx, dword [esp + 0x8c]
cmp edx, 0xc
jge 0x4adee1
add edx, 0xc
mov ebp, dword [esp + 0x44]
test ebp, ebp
jl 0x4adea5
mov eax, dword [esp + 0x3c]
test eax, 3
jne 0x4ade95
mov edi, 0x51eb851f
mov ecx, edx
imul edi
mov dword [esp + 0xa8], edx
mov eax, dword [esp + 0x3c]
sar eax, 0x1f
sar edx, 5
sub edx, eax
imul edx, edx, 0x64
mov ebx, dword [esp + 0x3c]
cmp ebx, edx
je 0x4ade79
mov eax, 1
test al, al
je 0x4ade70
cmp ebp, 0x3c
jne 0x4ade5c
mov eax, 2
mov edx, 0x1d
cmp ebp, 1
jge 0x4acf40
lea eax, [0x9401c0]
mov dword [esp], eax
call fcn.0040ae10
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x148]
mov dword [edi + 4], eax
mov eax, dword [0xdd7ec0]
test eax, eax
jne 0x4acf2f
mov ecx, dword [esp + 0x144]
mov dword [edi], ecx
mov ecx, dword [esp + 0x150]
mov dword [edi + 0xc], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4acf13
mov ecx, dword [esp + 0x14c]
mov dword [edi + 8], ecx
mov dword [edi + 0x14], 0
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4acefc
mov dword [edi + 0x10], 0
mov ecx, dword [esp + 0x58]
mov dword [edi + 0x1c], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4acee3
mov ecx, dword [esp + 0xe4]
mov dword [edi + 0x18], ecx
mov dword [edi + 0x24], 0x1a
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4acecb
lea eax, [0x9934ea]
mov dword [edi + 0x20], eax
mov eax, edi
lea edi, [esp + 0x15c]
lea esi, [0xa50fa0]
call fcn.0045778e
lea ecx, [0xa4e5a0]
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], eax
add esp, 0x140
ret
lea ecx, [edi + 0x20]
mov eax, edi
mov edi, ecx
mov edx, eax
lea eax, [0x9934ea]
call fcn.00456fe0
mov edi, edx
jmp 0x4ace9c
lea ecx, [edi + 0x18]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xe4]
call fcn.00456fe0
mov edi, edx
jmp 0x4ace82
lea ecx, [edi + 0x10]
mov eax, edi
mov edi, ecx
mov edx, eax
xor eax, eax
call fcn.00456fe0
mov edi, edx
jmp 0x4ace67
lea ecx, [edi + 8]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x14c]
call fcn.00456fe0
mov edi, edx
jmp 0x4ace4b
mov eax, dword [esp + 0x144]
call fcn.00456fe0
jmp 0x4ace29
cmp ebp, 0x16d
jg 0x4acdf6
test eax, eax
jne 0x4ade4b
mov eax, 0x84210843
imul ebp
add edx, ebp
mov eax, ebp
sar ebp, 0x1f
sar edx, 4
sub edx, ebp
lea ebp, [edx + 1]
cmp ebp, 0xd
jae 0x4ae1f2
lea esi, [0xd85520]
mov edi, dword [esi + edx*4 + 4]
cmp edi, eax
jge 0x4ade44
add edx, 2
lea ebp, [edx - 1]
cmp ebp, 0xd
jae 0x4ae1e6
mov ebp, dword [esi + edx*4 - 4]
sub eax, ebp
mov ebp, dword [esp + 0x78]
test ebp, ebp
jl 0x4acfaa
cmp edx, ebp
jne 0x4adcfa
mov ebp, dword [esp + 0x94]
test ebp, ebp
jl 0x4acfbd
cmp eax, ebp
jne 0x4adbb0
cmp eax, 1
jge 0x4ad110
lea eax, [0x9401c0]
mov dword [esp], eax
call fcn.0040ae10
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x148]
mov dword [edi + 4], eax
mov eax, dword [0xdd7ec0]
test eax, eax
jne 0x4ad0ff
mov ecx, dword [esp + 0x144]
mov dword [edi], ecx
mov ecx, dword [esp + 0x150]
mov dword [edi + 0xc], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4ad0e3
mov ecx, dword [esp + 0x14c]
mov dword [edi + 8], ecx
mov dword [edi + 0x14], 0
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4ad0cc
mov dword [edi + 0x10], 0
mov ecx, dword [esp + 0x58]
mov dword [edi + 0x1c], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4ad0b3
mov ecx, dword [esp + 0xe4]
mov dword [edi + 0x18], ecx
mov dword [edi + 0x24], 0x12
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4ad09b
lea eax, [0x98c871]
mov dword [edi + 0x20], eax
mov eax, edi
lea edi, [esp + 0x15c]
lea esi, [0xa51000]
call fcn.0045778e
lea ecx, [0xa4e5a0]
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], eax
add esp, 0x140
ret
lea ecx, [edi + 0x20]
mov eax, edi
mov edi, ecx
mov edx, eax
lea eax, [0x98c871]
call fcn.00456fe0
mov edi, edx
jmp 0x4ad06c
lea ecx, [edi + 0x18]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xe4]
call fcn.00456fe0
mov edi, edx
jmp 0x4ad052
lea ecx, [edi + 0x10]
mov eax, edi
mov edi, ecx
mov edx, eax
xor eax, eax
call fcn.00456fe0
mov edi, edx
jmp 0x4ad037
lea ecx, [edi + 8]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x14c]
call fcn.00456fe0
mov edi, edx
jmp 0x4ad01b
mov eax, dword [esp + 0x144]
call fcn.00456fe0
jmp 0x4acff9
mov dword [esp + 0xa8], edx
cmp edx, 2
jne 0x4adbaa
test ebx, 3
jne 0x4adb9f
mov ebp, eax
mov eax, ebx
mov edi, 0x51eb851f
imul edi
mov edi, edx
sar edx, 5
mov eax, ebx
sar ebx, 0x1f
sub edx, ebx
imul edx, edx, 0x64
cmp eax, edx
je 0x4adb8a
mov edx, 1
test dl, dl
je 0x4adb5d
mov edx, 0x1d
cmp ebp, edx
jg 0x4acfc6
lea edx, [esp + 0x20]
mov dword [esp + 0x108], edx
mov ebx, dword [esp + 0xd8]
test ebx, ebx
jne 0x4adaf3
mov ebx, dword [esp + 0x64]
cmp ebx, 0xffffffff
jne 0x4ad684
mov ebx, dword [esp + 0x74]
test ebx, ebx
je 0x4ad613
mov dword [esp], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x80]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x18], eax
mov eax, dword [0xdb93ec]
mov dword [esp + 0x1c], eax
call fcn.004b2d40
lea edi, [esp + 0x12c]
mov esi, dword [esp + 0x108]
call fcn.0045778e
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x12c]
mov edx, eax
shr eax, 0x1f
shl eax, 0x1f
test eax, eax
je 0x4ad600
shl edx, 1
mov eax, ecx
shr ecx, 0x1f
or ecx, edx
shl eax, 1
mov edx, ecx
shl ecx, 1
shr eax, 0x1f
or eax, ecx
mov ecx, eax
add eax, 0xd7b17f80
shr edx, 0x1f
add ecx, 0xd7b17f80
adc edx, 0xd
add eax, 0x886e0900
mov ecx, dword [esp + 0x158]
mov dword [esp], ecx
mov ebx, dword [esp + 0xf8]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x74]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
adc edx, 0xfffffff1
mov dword [esp + 0x10], edx
call fcn.004b4270
mov eax, dword [esp + 0x14]
movzx ecx, byte [esp + 0x18]
test cl, cl
jne 0x4ad523
mov ecx, dword [esp + 0x74]
cmp ecx, 3
jle 0x4ad517
mov edx, dword [esp + 0xf8]
cmp word [edx], 0x4d47
jne 0x4ad510
cmp byte [edx + 2], 0x54
sete bl
test bl, bl
jne 0x4ad4ef
mov dword [esp + 0x68], eax
nop
lea ecx, [0x947e60]
mov dword [esp], ecx
call fcn.0040ae10
mov edi, dword [esp + 4]
mov dword [esp + 0x100], edi
mov eax, dword [esp + 0x74]
mov dword [edi + 4], eax
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4ad4de
mov ecx, dword [esp + 0xf8]
mov dword [edi], ecx
lea eax, [0x8d5ba0]
mov dword [esp], eax
call fcn.0040ae10
movzx eax, byte [0xa4bcfc]
mov edi, dword [esp + 4]
mov byte [edi + 0xc], al
mov eax, dword [esp + 0x74]
mov dword [edi + 4], eax
mov eax, dword [0xdd7ec0]
test eax, eax
jne 0x4ad4cd
mov ecx, dword [esp + 0xf8]
mov dword [edi], ecx
mov ecx, dword [esp + 0x68]
mov dword [edi + 8], ecx
mov ecx, dword [esp + 0x100]
mov dword [ecx + 0xc], 1
mov dword [ecx + 0x10], 1
mov edx, dword [0xdd7ec0]
test edx, edx
jne 0x4ad4bc
mov dword [ecx + 8], edi
lea eax, [0x8d5be0]
mov dword [esp], eax
call fcn.0040ae10
mov eax, dword [0xa4b668]
mov ecx, dword [0xa4b66c]
movzx edx, byte [0xa4b672]
movzx ebx, byte [0xa4b671]
movzx ebp, byte [0xa4b670]
mov esi, dword [esp + 4]
mov dword [esi], eax
mov dword [esi + 4], ecx
xchg ebp, eax
mov byte [esi + 8], al
xchg ebp, eax
mov byte [esi + 9], bl
mov byte [esi + 0xa], dl
mov eax, dword [esp + 0x100]
mov dword [eax + 0x18], 1
mov dword [eax + 0x1c], 1
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4ad4a9
mov dword [eax + 0x14], esi
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0x80000000
mov dword [eax + 0x28], 0xffffffff
mov dword [eax + 0x2c], 0x7fffffff
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
test ecx, ecx
jbe 0x4ae1c0
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4ad496
mov dword [eax + 0x30], edx
nop
lea ecx, [0xdbd460]
cmp eax, ecx
jne 0x4ad3f8
xor eax, eax
nop
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x12c]
mov ebx, ecx
shr ecx, 0x1f
shl ecx, 0x1f
test ecx, ecx
je 0x4ad45f
mov ecx, edx
shr edx, 0x1f
shl ebx, 1
or edx, ebx
shl ecx, 1
shr ecx, 0x1f
mov ebx, edx
shl edx, 1
or edx, ecx
mov ecx, edx
add edx, 0xd7b17f80
mov dword [esp + 0x134], edx
shr ebx, 0x1f
add ecx, 0xd7b17f80
adc ebx, 0xd
mov dword [esp + 0x138], ebx
and dword [esp + 0x12c], 0x3fffffff
mov dword [esp + 0x130], 0
mov dword [esp + 0x13c], eax
lea edi, [esp + 0x15c]
lea esi, [esp + 0x12c]
call fcn.0045778e
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0
add esp, 0x140
ret
lea edi, [eax + 0x30]
mov ecx, eax
mov eax, edx
call fcn.00456fe0
mov eax, ecx
jmp 0x4ad3eb
lea edi, [eax + 0x14]
mov ecx, eax
mov eax, esi
call fcn.00456fe0
mov eax, ecx
jmp 0x4ad3b0
lea edx, [ecx + 8]
mov eax, edi
mov edi, edx
call fcn.00456fe0
jmp 0x4ad347
mov eax, dword [esp + 0xf8]
call fcn.00456fe0
jmp 0x4ad31a
mov eax, dword [esp + 0xf8]
call fcn.00456fe0
jmp 0x4ad2e0
lea eax, [edx + 3]
mov dword [esp], eax
lea eax, [ecx - 3]
mov dword [esp + 4], eax
call fcn.004a9020
mov eax, dword [esp + 8]
imul eax, eax, 0xe10
jmp 0x4ad2a4
xor ebx, ebx
jmp 0x4ad29c
mov edx, dword [esp + 0xf8]
jmp 0x4ad2a4
xor ecx, ecx
sub ecx, eax
lea edx, [esp + 0x12c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ecx, eax
sar eax, 0x1f
xor ebx, ebx
sub ebx, ecx
mov ecx, 0
sbb ecx, eax
mov dword [esp + 8], ecx
call fcn.004aeeb0
nop
mov eax, dword [esp + 0x158]
lea ecx, [0xdbd460]
cmp eax, ecx
jne 0x4ad562
xor eax, eax
nop
mov ecx, dword [esp + 0x12c]
mov edx, dword [esp + 0x130]
mov ebx, edx
shr edx, 0x1f
shl edx, 0x1f
test edx, edx
je 0x4ad5c9
mov edx, ecx
shr ecx, 0x1f
shl ebx, 1
or ecx, ebx
shl edx, 1
mov ebx, ecx
shl ecx, 1
shr edx, 0x1f
or edx, ecx
mov ecx, edx
add edx, 0xd7b17f80
mov dword [esp + 0x134], edx
shr ebx, 0x1f
add ecx, 0xd7b17f80
adc ebx, 0xd
mov dword [esp + 0x138], ebx
and dword [esp + 0x12c], 0x3fffffff
mov dword [esp + 0x130], 0
mov dword [esp + 0x13c], eax
lea edi, [esp + 0x15c]
lea esi, [esp + 0x12c]
call fcn.0045778e
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0
add esp, 0x140
ret
mov eax, dword [esp + 0x134]
mov edx, dword [esp + 0x138]
jmp 0x4ad233
mov dword [esp], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x80]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x154]
mov dword [esp + 0x1c], eax
call fcn.004b2d40
lea edi, [esp + 0x15c]
mov esi, dword [esp + 0x108]
call fcn.0045778e
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0
add esp, 0x140
ret
xor edx, edx
sub edx, ebx
mov dword [esp + 0x98], edx
mov dword [esp], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x80]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x18], eax
mov eax, dword [0xdb93ec]
mov dword [esp + 0x1c], eax
call fcn.004b2d40
lea edi, [esp + 0x118]
mov esi, dword [esp + 0x108]
call fcn.0045778e
lea eax, [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x64]
mov edx, ecx
sar ecx, 0x1f
xor ebx, ebx
sub ebx, edx
mov ebx, 0
sbb ebx, ecx
mov dword [esp + 8], ebx
call fcn.004aeeb0
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x11c]
mov edx, ecx
shr ecx, 0x1f
shl ecx, 0x1f
test ecx, ecx
je 0x4adae0
mov ecx, eax
shr eax, 0x1f
shl edx, 1
or eax, edx
shl ecx, 1
shr ecx, 0x1f
mov edx, eax
shl eax, 1
or eax, ecx
mov ecx, eax
add eax, 0xd7b17f80
shr edx, 0x1f
add ecx, 0xd7b17f80
adc edx, 0xd
add eax, 0x886e0900
mov ecx, dword [esp + 0x158]
mov dword [esp], ecx
mov dword [esp + 4], eax
adc edx, 0xfffffff1
mov dword [esp + 8], edx
call fcn.004b3db0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x64]
cmp dword [esp + 0x14], edx
jne 0x4adad5
mov ebx, dword [esp + 0x74]
test ebx, ebx
jne 0x4adaa1
mov eax, 1
test al, al
je 0x4ad859
nop
mov eax, dword [esp + 0x158]
lea ecx, [0xdbd460]
cmp eax, ecx
jne 0x4ad7bb
xor eax, eax
nop
mov ecx, dword [esp + 0x11c]
mov edx, dword [esp + 0x118]
mov ebx, ecx
shr ecx, 0x1f
shl ecx, 0x1f
test ecx, ecx
je 0x4ad822
mov ecx, edx
shr edx, 0x1f
shl ebx, 1
or edx, ebx
shl ecx, 1
shr ecx, 0x1f
mov ebx, edx
shl edx, 1
or edx, ecx
mov ecx, edx
add edx, 0xd7b17f80
mov dword [esp + 0x120], edx
shr ebx, 0x1f
add ecx, 0xd7b17f80
adc ebx, 0xd
mov dword [esp + 0x124], ebx
and dword [esp + 0x118], 0x3fffffff
mov dword [esp + 0x11c], 0
mov dword [esp + 0x128], eax
lea edi, [esp + 0x15c]
lea esi, [esp + 0x118]
call fcn.0045778e
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0
add esp, 0x140
ret
nop
lea eax, [0x947e60]
mov dword [esp], eax
call fcn.0040ae10
mov edi, dword [esp + 4]
mov dword [esp + 0x104], edi
mov eax, dword [esp + 0x74]
mov dword [edi + 4], eax
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4ada90
mov ecx, dword [esp + 0xf8]
mov dword [edi], ecx
lea eax, [0x8d5ba0]
mov dword [esp], eax
call fcn.0040ae10
mov eax, dword [esp + 4]
movzx ecx, byte [0xa4bcec]
mov byte [eax + 0xc], cl
mov ecx, dword [esp + 0x74]
mov dword [eax + 4], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4ada7b
mov ecx, dword [esp + 0xf8]
mov dword [eax], ecx
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x104]
mov dword [ecx + 0xc], 1
mov dword [ecx + 0x10], 1
mov edx, dword [0xdd7ec0]
test edx, edx
jne 0x4ada6e
mov dword [ecx + 8], eax
lea eax, [0x8d5be0]
mov dword [esp], eax
call fcn.0040ae10
mov eax, dword [0xa4b658]
mov ecx, dword [0xa4b65c]
movzx edx, byte [0xa4b661]
movzx ebx, byte [0xa4b660]
mov ebp, dword [esp + 4]
movzx esi, byte [0xa4b662]
mov dword [ebp], eax
mov dword [ebp + 4], ecx
mov byte [ebp + 8], bl
mov byte [ebp + 9], dl
xchg esi, eax
mov byte [ebp + 0xa], al
xchg esi, eax
mov eax, dword [esp + 0x104]
mov dword [eax + 0x18], 1
mov dword [eax + 0x1c], 1
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4ada5b
mov dword [eax + 0x14], ebp
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0x80000000
mov dword [eax + 0x28], 0xffffffff
mov dword [eax + 0x2c], 0x7fffffff
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
test ecx, ecx
jbe 0x4ae1c7
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4ada48
mov dword [eax + 0x30], edx
nop
lea ecx, [0xdbd460]
cmp eax, ecx
jne 0x4ad9aa
xor eax, eax
nop
mov ecx, dword [esp + 0x11c]
mov edx, dword [esp + 0x118]
mov ebx, ecx
shr ecx, 0x1f
shl ecx, 0x1f
test ecx, ecx
je 0x4ada11
mov ecx, edx
shr edx, 0x1f
shl ebx, 1
or edx, ebx
shl ecx, 1
shr ecx, 0x1f
mov ebx, edx
shl edx, 1
or edx, ecx
mov ecx, edx
add edx, 0xd7b17f80
mov dword [esp + 0x120], edx
shr ebx, 0x1f
add ecx, 0xd7b17f80
adc ebx, 0xd
mov dword [esp + 0x124], ebx
and dword [esp + 0x118], 0x3fffffff
mov dword [esp + 0x11c], 0
mov dword [esp + 0x128], eax
lea edi, [esp + 0x15c]
lea esi, [esp + 0x118]
call fcn.0045778e
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0
add esp, 0x140
ret
lea edi, [eax + 0x30]
mov ecx, eax
mov eax, edx
call fcn.00456fe0
mov eax, ecx
jmp 0x4ad99d
lea edi, [eax + 0x14]
mov ecx, eax
mov eax, ebp
call fcn.00456fe0
mov eax, ecx
jmp 0x4ad962
lea edi, [ecx + 8]
call fcn.00456fe0
jmp 0x4ad8f8
mov edi, eax
mov eax, dword [esp + 0xf8]
call fcn.00456fe0
mov eax, edi
jmp 0x4ad8cb
mov eax, dword [esp + 0xf8]
call fcn.00456fe0
jmp 0x4ad891
cmp eax, ebx
je 0x4adaac
xor eax, eax
jmp 0x4ad79f
mov dword [esp], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00402300
movzx eax, byte [esp + 0xc]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x74]
jmp 0x4ad79f
mov ebx, dword [esp + 0x74]
xor eax, eax
jmp 0x4ad79f
mov eax, dword [esp + 0x120]
mov edx, dword [esp + 0x124]
jmp 0x4ad759
mov dword [esp], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x80]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ebx
call fcn.004b2d40
lea edi, [esp + 0x15c]
mov esi, dword [esp + 0x108]
call fcn.0045778e
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0
add esp, 0x140
ret
mov edx, dword [esp + 0xa8]
cmp edx, 0xd
jae 0x4ae1da
mov ebx, dword [esi + edx*4]
lea esi, [edx - 1]
cmp esi, 0xd
jae 0x4ae1ce
sub ebx, dword [edx*4 + 0xd8551c]
mov edx, ebx
jmp 0x4ad160
sar edi, 7
sub edi, ebx
imul ebx, edi, 0x190
cmp eax, ebx
sete dl
jmp 0x4ad153
mov ebp, eax
xor edx, edx
mov eax, ebx
jmp 0x4ad153
mov ebp, eax
mov eax, ebx
jmp 0x4adb5d
lea eax, [0x9401c0]
mov dword [esp], eax
call fcn.0040ae10
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x148]
mov dword [edi + 4], eax
mov eax, dword [0xdd7ec0]
test eax, eax
jne 0x4adce9
mov ecx, dword [esp + 0x144]
mov dword [edi], ecx
mov ecx, dword [esp + 0x150]
mov dword [edi + 0xc], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4adccd
mov ecx, dword [esp + 0x14c]
mov dword [edi + 8], ecx
mov dword [edi + 0x14], 0
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4adcb6
mov dword [edi + 0x10], 0
mov ecx, dword [esp + 0x58]
mov dword [edi + 0x1c], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4adc9d
mov ecx, dword [esp + 0xe4]
mov dword [edi + 0x18], ecx
mov dword [edi + 0x24], 0x20
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4adc85
lea eax, [0x998348]
mov dword [edi + 0x20], eax
mov eax, edi
lea edi, [esp + 0x15c]
lea esi, [0xa50fe0]
call fcn.0045778e
lea ecx, [0xa4e5a0]
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], eax
add esp, 0x140
ret
lea ecx, [edi + 0x20]
mov eax, edi
mov edi, ecx
mov edx, eax
lea eax, [0x998348]
call fcn.00456fe0
mov edi, edx
jmp 0x4adc56
lea ecx, [edi + 0x18]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xe4]
call fcn.00456fe0
mov edi, edx
jmp 0x4adc3c
lea ecx, [edi + 0x10]
mov eax, edi
mov edi, ecx
mov edx, eax
xor eax, eax
call fcn.00456fe0
mov edi, edx
jmp 0x4adc21
lea ecx, [edi + 8]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x14c]
call fcn.00456fe0
mov edi, edx
jmp 0x4adc05
mov eax, dword [esp + 0x144]
call fcn.00456fe0
jmp 0x4adbe3
lea eax, [0x9401c0]
mov dword [esp], eax
call fcn.0040ae10
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x148]
mov dword [edi + 4], eax
mov eax, dword [0xdd7ec0]
test eax, eax
jne 0x4ade33
mov ecx, dword [esp + 0x144]
mov dword [edi], ecx
mov ecx, dword [esp + 0x150]
mov dword [edi + 0xc], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4ade17
mov ecx, dword [esp + 0x14c]
mov dword [edi + 8], ecx
mov dword [edi + 0x14], 0
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4ade00
mov dword [edi + 0x10], 0
mov ecx, dword [esp + 0x58]
mov dword [edi + 0x1c], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4adde7
mov ecx, dword [esp + 0xe4]
mov dword [edi + 0x18], ecx
mov dword [edi + 0x24], 0x22
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4addcf
lea eax, [0x999cee]
mov dword [edi + 0x20], eax
mov eax, edi
lea edi, [esp + 0x15c]
lea esi, [0xa50fc0]
call fcn.0045778e
lea ecx, [0xa4e5a0]
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], eax
add esp, 0x140
ret
lea ecx, [edi + 0x20]
mov eax, edi
mov edi, ecx
mov edx, eax
lea eax, [0x999cee]
call fcn.00456fe0
mov edi, edx
jmp 0x4adda0
lea ecx, [edi + 0x18]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xe4]
call fcn.00456fe0
mov edi, edx
jmp 0x4add86
lea ecx, [edi + 0x10]
mov eax, edi
mov edi, ecx
mov edx, eax
xor eax, eax
call fcn.00456fe0
mov edi, edx
jmp 0x4add6b
lea ecx, [edi + 8]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x14c]
call fcn.00456fe0
mov edi, edx
jmp 0x4add4f
mov eax, dword [esp + 0x144]
call fcn.00456fe0
jmp 0x4add2d
mov edx, ebp
jmp 0x4acf88
lea esi, [0xd85520]
mov ebp, edx
mov edx, eax
mov eax, ebp
jmp 0x4acf9a
jle 0x4ade6c
lea edx, [ebp - 1]
mov ebp, edx
xor eax, eax
xor edx, edx
jmp 0x4acded
mov edx, ebp
jmp 0x4ade61
xor eax, eax
xor edx, edx
jmp 0x4acded
mov edx, dword [esp + 0xa8]
sar edx, 7
sub edx, eax
imul edx, edx, 0x190
cmp ebx, edx
sete al
jmp 0x4acdd2
mov ecx, edx
mov ebx, eax
mov edi, 0x51eb851f
xor eax, eax
jmp 0x4acdd2
mov ebp, dword [esp + 0x78]
test ebp, ebp
jge 0x4adedd
mov eax, 1
mov ebp, dword [esp + 0x94]
test ebp, ebp
jge 0x4aded9
mov ecx, 1
mov ebx, dword [esp + 0x3c]
lea esi, [0xd85520]
mov ebp, ecx
mov ecx, edx
mov edx, eax
mov eax, ebp
jmp 0x4acfbd
mov ecx, ebp
jmp 0x4adec2
mov eax, ebp
jmp 0x4adeb2
movzx ebp, byte [esp + 0x37]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4adefa
cmp edx, 0xc
jne 0x4adefa
xor eax, eax
mov edx, eax
jmp 0x4acd87
mov eax, edx
jmp 0x4adef3
mov edx, dword [esp + 0x8c]
jmp 0x4adee1
lea eax, [0x9401c0]
mov dword [esp], eax
call fcn.0040ae10
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x148]
mov dword [edi + 4], eax
mov eax, dword [0xdd7ec0]
test eax, eax
jne 0x4ae063
mov ecx, dword [esp + 0x144]
mov dword [edi], ecx
mov ecx, dword [esp + 0x150]
mov dword [edi + 0xc], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4ae047
mov ecx, dword [esp + 0x14c]
mov dword [edi + 8], ecx
mov dword [edi + 0x14], 0
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4ae030
mov dword [edi + 0x10], 0
mov dword [esp + 0x10c], edi
mov ecx, dword [esp + 0x58]
mov dword [edi + 0x1c], ecx
mov edx, dword [0xdd7ec0]
test edx, edx
jne 0x4ae01a
mov eax, dword [esp + 0xe4]
mov dword [edi + 0x18], eax
mov dword [esp], 0
lea edx, [0x9898f4]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xe
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00443900
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10c]
mov dword [edx + 0x24], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4ae010
mov dword [edx + 0x20], eax
lea edi, [esp + 0x15c]
lea esi, [0xa50f40]
call fcn.0045778e
lea eax, [0xa4e5a0]
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], edx
add esp, 0x140
ret
lea edi, [edx + 0x20]
call fcn.00456fe0
jmp 0x4adfe3
lea edx, [edi + 0x18]
mov edi, edx
mov eax, dword [esp + 0xe4]
call fcn.00456fe0
jmp 0x4adf9e
lea ecx, [edi + 0x10]
mov eax, edi
mov edi, ecx
mov edx, eax
xor eax, eax
call fcn.00456fe0
mov edi, edx
jmp 0x4adf78
lea ecx, [edi + 8]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x14c]
call fcn.00456fe0
mov edi, edx
jmp 0x4adf5c
mov eax, dword [esp + 0x144]
call fcn.00456fe0
jmp 0x4adf3a
lea eax, [0x9401c0]
mov dword [esp], eax
call fcn.0040ae10
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x148]
mov dword [edi + 4], eax
mov eax, dword [0xdd7ec0]
test eax, eax
jne 0x4ae1af
mov ecx, dword [esp + 0x144]
mov dword [edi], ecx
mov ecx, dword [esp + 0x150]
mov dword [edi + 0xc], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4ae193
mov ecx, dword [esp + 0x14c]
mov dword [edi + 8], ecx
mov ecx, dword [esp + 0x60]
mov dword [edi + 0x14], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4ae177
mov ecx, dword [esp + 0xf4]
mov dword [edi + 0x10], ecx
mov ecx, dword [esp + 0x58]
mov dword [edi + 0x1c], ecx
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4ae15e
mov ecx, dword [esp + 0xe4]
mov dword [edi + 0x18], ecx
mov dword [edi + 0x24], 0
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x4ae14a
mov dword [edi + 0x20], 0
mov eax, edi
lea edi, [esp + 0x15c]
lea esi, [0xa50f20]
call fcn.0045778e
lea ecx, [0xa4e5a0]
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], eax
add esp, 0x140
ret
lea ecx, [edi + 0x20]
mov eax, edi
mov edi, ecx
mov edx, eax
xor eax, eax
call fcn.00456fe0
mov edi, edx
jmp 0x4ae11b
lea ecx, [edi + 0x18]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xe4]
call fcn.00456fe0
mov edi, edx
jmp 0x4ae103
lea ecx, [edi + 0x10]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xf4]
call fcn.00456fe0
mov edi, edx
jmp 0x4ae0e8
lea ecx, [edi + 8]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x14c]
call fcn.00456fe0
mov edi, edx
jmp 0x4ae0c9
mov eax, dword [esp + 0x144]
call fcn.00456fe0
jmp 0x4ae0a7
xor eax, eax
call fcn.00457060
xor eax, eax
call fcn.00457060
mov eax, esi
mov ecx, 0xd
call fcn.00457060
mov eax, edx
mov ecx, 0xd
call fcn.00457060
mov eax, ebp
mov ecx, 0xd
call fcn.00457060
mov eax, ebp
mov ecx, 0xd
call fcn.00457060
mov eax, ebp
mov ecx, esi
call fcn.004570c0
mov eax, ebp
mov ecx, esi
call fcn.004570c0
call fcn.00457080
mov eax, ebp
mov ecx, esi
call fcn.004570c0
mov ecx, ebx
call fcn.00457060
mov eax, ecx
mov ecx, esi
call fcn.004570c0
mov ecx, esi
mov edx, edi
call fcn.00457080
nop
call fcn.004557a0
jmp fcn.004ab3d0