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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xd4
push ebx
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebx + 4]
push esi
push edi
mov edi, eax
mov eax, dword [edi]
mov edx, dword [ecx + eax*4]
mov eax, dword [edx]
mov esi, dword [eax]
push esi
call fcn.00487dc1
add esp, 4
mov dword [esp + 0x34], eax
inc eax
je 0x4a038a
add eax, 7
shr eax, 3
add eax, eax
add eax, eax
add eax, eax
xor ecx, ecx
mov dword [esp + 0x38], eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004881d7
mov ecx, dword [esp + 0x38]
add esp, 4
lea edx, [ecx + ecx + 2]
push edx
push esi
push eax
mov dword [esp + 0x3c], eax
call fcn.00487a60
add esp, 0xc
push 4
call fcn.004881d7
add esp, 4
test eax, eax
je 0x4a0394
mov dword [eax], 1
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x140], 0
mov dword [esp + 0x3c], eax
je 0x4a046a
cmp dword [eax], 1
jg 0x4a039b
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
push eax
push ecx
call dword [fcn.00482644]
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x13c]
test esi, esi
jne 0x4a0402
mov esi, dword [eax + 0x134]
test esi, esi
je 0x4a046a
mov dword [esp + 0x1c], esi
lea esp, [esp]
mov edx, dword [esi + 4]
cmp edx, dword [esp + 0x34]
jne 0x481275
test edx, edx
je 0x4803b9
mov ecx, dword [esp + 0x30]
mov eax, dword [esi]
jmp 0x4803a0
mov si, word [eax]
cmp si, word [ecx]
jne 0x481271
add eax, 2
add ecx, 2
dec edx
jne 0x4803a0
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
dec dword [eax]
jne 0x4803db
mov ecx, dword [esp + 0x30]
push ecx
call fcn.00487ddc
mov edx, dword [esp + 0x40]
add esp, 4
push edx
call fcn.00487ddc
add esp, 4
mov eax, esi
test eax, eax
je 0x4a0473
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x5c], edx
mov edx, dword [eax + 0x10]
mov eax, dword [edi]
mov dword [esp + 0x44], ecx
mov dword [esp + 0xcc], edx
mov edx, dword [ebx + 4]
mov ecx, dword [edx + eax*4]
movsx edx, word [ecx + 0xa]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x148]
inc eax
mov dword [edi], eax
mov esi, dword [ebx + 4]
mov dword [esp + 0xdc], ecx
xor ecx, ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], 1
mov dword [esp + 0x2c], ecx
mov esi, dword [esi + eax*4]
cmp word [esi + 8], 0x47
mov dword [esp + 0x30], 0x488088
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x60], 0x48b874
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
jne 0x4a03f6
inc eax
mov dword [esp + 0x7c], edx
mov edx, eax
mov dword [esp + 0x18], ecx
xor esi, esi
mov dword [esp + 0x54], edx
mov dword [edi], eax
mov ecx, dword [ebx + 4]
mov ecx, dword [ecx + eax*4]
movsx ecx, word [ecx + 8]
cmp ecx, 0x47
jge 0x48048c
inc eax
jmp 0x480478
sub ecx, 0x47
je 0x4a04cf
dec ecx
jne 0x4a04a6
test esi, esi
jne 0x4a04c8
mov dword [esp + 0x14], eax
inc eax
mov dword [edi], eax
mov eax, dword [esp + 0xcc]
cmp eax, dword [0x4a90f8]
jg 0x4a04d5
cmp eax, ecx
jle 0x4a04d5
shl eax, 4
add eax, dword [0x4a912c]
mov dword [esp + 0x50], eax
mov dword [esp + 0x70], ecx
cmp dword [esp + 0x5c], ecx
jle 0x4806a2
mov dword [esp + 0x10], 3
mov dword [esp + 0x78], ecx
lea ecx, [ecx]
cmp edx, dword [esp + 0x14]
jae 0x4806a2
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x10]
inc dword [esp + 0x70]
lea eax, [eax + ecx*4]
mov ecx, dword [eax]
xor edi, edi
xor bl, bl
cmp word [ecx + 8], di
je 0x4a04de
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + edx*4]
cmp word [edx + 8], 0x33
je 0x48052e
xor bl, bl
mov esi, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
cmp esi, eax
je 0x481289
push 1
call fcn.004881d7
add esp, 4
test eax, eax
je 0x4a0516
mov byte [eax], bl
mov edx, dword [esp + 0x64]
mov dword [edx + esi*4], eax
inc esi
mov dword [esp + 0x68], esi
test bl, bl
jne 0x4a051d
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x4a0627
mov eax, dword [esp + 0x28]
cmp eax, 8
je 0x4a063a
cmp eax, 0xa
je 0x4a065f
cmp eax, 5
je 0x4a0676
cmp eax, 0xb
je 0x4a0684
cmp eax, 0xc
je 0x4a06a6
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x28], 1
mov dword [esp + 0x20], 0
cmp esi, eax
je 0x4812e6
mov edi, dword [esp + 0x34]
push 0x10
call fcn.004881d7
add esp, 4
test eax, eax
je 0x4a088c
mov ebx, eax
mov eax, dword [esp + 0x28]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], 0
cmp eax, 1
jne 0x4a06bd
mov edx, dword [esp + 0x20]
mov dword [ebx], edx
mov eax, ebx
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebp + 0xc]
mov dword [edi + esi*4], eax
inc esi
push ebx
mov dword [esp + 0x3c], esi
mov esi, dword [edi + esi*4 - 4]
push esi
lea eax, [esp + 0x5c]
push eax
push ecx
mov ecx, dword [ebp + 8]
call fcn.00481380
test eax, eax
jne 0x4a1a89
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x50]
mov ecx, dword [edx + 4]
mov edx, dword [ecx + eax*4 + 4]
inc eax
cmp word [edx + 8], 0x41
mov dword [esp + 0x10], eax
je 0x4a0893
mov edx, dword [esp + 0x54]
cmp edx, ebx
je 0x4806a2
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov eax, dword [eax + edx*4]
mov ecx, 0x40
cmp word [eax + 8], cx
jne 0x4a08e2
lea eax, [edx + 1]
cmp eax, dword [esp + 0x14]
je 0x4a08e2
mov esi, dword [esp + 0x10]
mov edx, eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x54], edx
mov eax, dword [eax + 4]
mov eax, dword [eax + esi*4]
cmp word [eax + 8], cx
jne 0x48068f
inc dword [esp + 0x10]
mov eax, dword [esp + 0x78]
inc eax
mov dword [esp + 0x78], eax
cmp eax, dword [esp + 0x5c]
jl 0x4804f0
mov eax, dword [esp + 0x70]
cmp eax, dword [esp + 0x44]
jl 0x4a1a79
cmp eax, dword [esp + 0x5c]
jg 0x4a1a79
cmp edx, dword [esp + 0x14]
jne 0x4a1a79
mov ebx, dword [esp + 0xcc]
xor esi, esi
xor eax, eax
mov dword [esp + 0x10], 3
mov dword [esp + 0x1c], esi
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ebx
cmp ebx, esi
jl 0x4a08f4
cmp byte [0x4a7f3d], al
jne 0x4a08fd
push 0xc
call fcn.004881d7
add esp, 4
cmp eax, esi
je 0x4a09a0
mov edi, eax
mov dword [edi], esi
mov edx, dword [esp + 0x4c]
mov dword [edi + 4], edx
cmp dword [esp + 0x4c], esi
jl 0x4a091e
mov eax, dword [esp + 0x48]
cmp eax, esi
jne 0x4a0926
mov dword [edi], esi
mov ecx, dword [0x4a7f38]
mov dword [edi + 8], ecx
mov dword [0x4a7f38], edi
mov eax, dword [esp + 0x48]
inc dword [0x4a7f34]
cmp eax, esi
jne 0x4a09a7
mov eax, 1
cmp dword [esp + 0x5c], eax
jl 0x480bd9
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx + 4]
mov esi, dword [esp + 0x10]
xor ebx, ebx
or edx, 0xffffffff
mov word [esp + 0xd8], dx
mov dword [esp + 0xbc], 0x485a84
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0x7c], ebx
mov edi, dword [ecx + esi*4]
lea edx, [ecx + esi*4]
xor eax, eax
mov word [esp + 0xda], ax
mov dword [esp + 0x14], eax
cmp word [edi + 8], bx
je 0x4a09fa
mov edx, dword [esp + 0x78]
cmp edx, dword [esp + 0x70]
jg 0x4a0a61
mov edi, dword [esp + 0x64]
mov edx, dword [esp + 0x1c]
mov edi, dword [edi + edx*4]
or eax, 0x200
cmp byte [edi], bl
jne 0x4a0a31
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
mov edx, dword [edx + esi*4]
mov esi, eax
mov eax, dword [esp + 0x10]
add eax, eax
add eax, eax
mov dword [esp + 0x48], eax
mov eax, dword [eax + ecx]
mov edi, dword [eax]
cmp dword [0x4a7f34], ebx
je 0x4a0b2b
mov dword [esp + 0x18], edx
cmp byte [0x4a7f3d], bl
jne 0x4a0b3e
mov ebx, dword [0x4a7f38]
xor eax, eax
mov dword [esp + 0x14], ebx
cmp dword [ebx], eax
je 0x4808fc
test byte [0x4a95e4], 1
mov byte [esp + 0x43], al
je 0x4a0b4c
mov dword [0x4a95e0], eax
mov dword [0x4a95dc], eax
mov eax, 0x4a95c4
mov dword [esp + 0x74], eax
mov dword [esp + 0x58], eax
mov eax, dword [edi + 4]
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
test eax, eax
je 0x4a0b71
test edx, edx
je 0x4a0b79
cmp eax, edx
jb 0x4a0b99
test eax, eax
je 0x4a0b8a
mov ecx, dword [ecx]
mov edx, eax
mov eax, dword [edi]
mov bx, word [eax]
cmp bx, word [ecx]
jne 0x48089a
add eax, 2
add ecx, 2
dec edx
jne 0x480884
jmp 0x4a0b86
mov ebx, dword [esp + 0x14]
jb 0x4a0b91
mov eax, 1
test eax, eax
js 0x4a0ba7
jle 0x4a0c42
mov eax, dword [ebx]
mov eax, dword [eax + 0x1c]
test eax, eax
jne 0x4a0bf9
cmp byte [esp + 0x43], 0
mov eax, dword [ebx]
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0x74]
mov dword [edx + 0x1c], ecx
mov eax, dword [ebx]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x58]
mov dword [edx + 0x18], ecx
mov eax, dword [ebx]
mov ecx, dword [0x4a95e0]
mov dword [eax + 0x18], ecx
mov edx, dword [ebx]
mov eax, dword [0x4a95dc]
mov dword [edx + 0x1c], eax
jne 0x4a0c4c
and esi, 0xff00
push 0x20
mov dword [esp + 0x48], esi
call fcn.004881d7
add esp, 4
test eax, eax
je 0x4a0c6f
mov esi, eax
xor ecx, ecx
mov eax, 8
mov dword [esi + 8], eax
mov edx, 2
mul edx
seto cl
mov dword [esi + 4], 0
neg ecx
or ecx, eax
push ecx
call fcn.004881d7
add esp, 4
xor ecx, ecx
mov dword [esi], eax
push 4
mov word [eax], cx
call fcn.004881d7
add esp, 4
test eax, eax
je 0x4a0c68
mov dword [eax], 1
mov dword [esi + 0xc], eax
mov ebx, esi
cmp ebx, edi
je 0x48099e
mov eax, dword [ebx + 0xc]
cmp dword [eax], 1
jg 0x4a0c76
mov esi, dword [edi + 4]
lea eax, [esi + 1]
mov dword [ebx + 4], esi
cmp dword [ebx + 8], eax
jb 0x4a0c95
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [edx + edx + 2]
mov edx, dword [ebx]
push eax
push ecx
push edx
call fcn.00487a60
add esp, 0xc
mov eax, dword [esp + 0x44]
push 0x10
mov dword [ebx + 0x10], eax
call fcn.004881d7
xor ecx, ecx
add esp, 4
cmp eax, ecx
je 0x480a0b
mov edi, dword [esp + 0x18]
mov edx, dword [edi + 8]
mov esi, eax
lea eax, [edx - 1]
mov dword [esp + 0x58], esi
mov dword [esi + 8], edx
mov dword [esi + 0xc], ecx
cmp eax, 0xb
ja 0x480a07
jmp dword [eax*4 + 0x40a744]
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x14]
xor edi, edi
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], edi
mov esi, dword [eax]
cmp esi, edi
je 0x481339
test byte [0x4a95e4], 1
je 0x4a0e49
mov eax, 0x4a95c4
mov dword [0x4a95e0], edi
mov dword [0x4a95dc], edi
mov dword [esp + 0x74], eax
mov dword [esp + 0x58], eax
lea ebx, [ebx]
mov eax, dword [ebx + 4]
mov edx, dword [esi + 4]
cmp eax, edi
je 0x4a0e6c
cmp edx, edi
je 0x4a0e74
cmp eax, edx
jb 0x4a0e94
cmp eax, edi
jbe 0x4a0e83
mov ecx, dword [esi]
mov edx, eax
mov eax, dword [ebx]
lea esp, [esp]
mov di, word [eax]
cmp di, word [ecx]
jne 0x480a96
add eax, 2
add ecx, 2
dec edx
jne 0x480a80
jmp 0x4a0e81
jb 0x4a0e8a
mov eax, 1
xor edi, edi
cmp eax, edi
jl 0x4a0ea2
jle 0x480abe
lea eax, [esi + 0x1c]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
cmp eax, edi
jne 0x4a0f01
mov edx, dword [esi + 0x18]
mov eax, dword [esp + 0x58]
mov dword [eax + 0x1c], edx
mov ecx, dword [esi + 0x1c]
mov edx, dword [esp + 0x74]
mov dword [edx + 0x18], ecx
mov eax, dword [0x4a95e0]
mov edx, dword [esi + 4]
mov dword [esi + 0x18], eax
mov ecx, dword [0x4a95dc]
mov dword [esi + 0x1c], ecx
mov eax, dword [ebx + 4]
cmp eax, edi
je 0x4a0f4f
cmp edx, edi
je 0x4a0f57
cmp eax, edx
jb 0x4a0f77
cmp eax, edi
jbe 0x4a0f66
mov ecx, dword [esi]
mov edx, eax
mov eax, dword [ebx]
nop
mov di, word [eax]
cmp di, word [ecx]
jne 0x480b26
add eax, 2
add ecx, 2
dec edx
jne 0x480b10
jmp 0x4a0f64
jb 0x4a0f6d
mov eax, 1
xor edi, edi
cmp eax, edi
jl 0x4a0f85
jle 0x4a0f96
mov ecx, dword [0x4a95dc]
mov dword [ebx + 0x1c], ecx
mov dword [ebx + 0x18], esi
mov dword [esi + 0x1c], edi
mov eax, dword [esp + 0x14]
mov dword [eax], ebx
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx + eax + 4]
cmp word [edx + 8], 0x41
je 0x4a0f9d
add dword [esp + 0x10], 2
mov ax, word [esp + 0xd8]
inc dword [esp + 0x1c]
cmp ax, 0x30
jge 0x4a0fd1
cmp dword [esp + 0xc4], 0
mov dword [esp + 0xbc], 0x485a84
ja 0x4a0ff5
mov ecx, dword [esp + 0xc0]
push ecx
mov dword [esp + 0xc8], 0
call fcn.00487ddc
mov eax, dword [esp + 0x7c]
inc eax
add esp, 4
mov dword [esp + 0x78], eax
cmp eax, dword [esp + 0x5c]
jle 0x480760
mov ebx, dword [esp + 0xcc]
mov esi, dword [ebp + 8]
mov edx, dword [esp + 0x70]
xor eax, eax
lea ecx, [eax + 1]
mov dword [esp + 0x80], eax
mov dword [esp + 0x8c], eax
mov byte [esp + 0x90], al
mov dword [esp + 0x94], eax
mov byte [esp + 0x98], al
mov dword [esp + 0xa0], eax
mov dword [esp + 0xac], eax
mov byte [esp + 0xb0], al
mov eax, dword [esi]
mov dword [esi + 0x148], edx
mov dword [esp + 0x88], ecx
mov dword [esp + 0xa8], ecx
mov ecx, dword [eax + 4]
cmp byte [ecx + esi + 0xd], 0
lea edi, [ecx + esi + 4]
jne 0x4a101e
push 0x40
call fcn.004881d7
add esp, 4
test eax, eax
je 0x4a1070
xor ecx, ecx
mov edx, 1
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax], ecx
mov byte [eax + 0x10], cl
mov dword [eax + 0x14], ecx
mov byte [eax + 0x18], cl
mov dword [eax + 0x28], edx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x20], ecx
mov byte [eax + 0x30], cl
mov ecx, dword [edi + 4]
mov dword [eax + 0x38], ecx
mov dword [edi + 4], eax
inc dword [edi]
mov edx, dword [esi + 0xf4]
lea eax, [ebx + 1]
mov ebx, dword [esi + 0x16c]
lea edi, [esi + 0x16c]
push eax
mov ecx, esi
mov dword [esp + 0x4c], edx
call fcn.0047fde0
cmp ebx, dword [edi]
jb 0x4a1077
mov eax, dword [esp + 0x48]
mov edi, esi
mov ecx, dword [edi]
mov dword [edi + 0xf4], eax
mov edx, dword [ecx + 4]
cmp byte [edx + edi + 0xd], 0
lea eax, [edx + edi + 4]
mov eax, dword [eax + 4]
jne 0x4a1085
cmp byte [eax + 0x10], 0
je 0x4a12aa
mov ecx, dword [ebp + 0x14]
mov byte [ecx], 1
mov edx, dword [edi]
mov eax, dword [edx + 4]
cmp byte [eax + edi + 0xd], 0
lea eax, [eax + edi + 4]
jne 0x4a108d
mov esi, dword [eax + 4]
mov ebx, dword [ebp + 0x10]
cmp ebx, esi
je 0x480d8b
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x4a1098
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x4a10aa
cmp eax, 0xa
je 0x4a10cb
cmp eax, 5
je 0x4a10e0
cmp eax, 0xb
je 0x4a10ec
cmp eax, 0xc
je 0x4a110a
mov dword [ebx + 8], 1
mov dword [ebx], 0
mov eax, dword [esi + 8]
mov dword [ebx + 8], eax
cmp eax, 4
jne 0x4a111f
push 0x10
call fcn.004881d7
add esp, 4
test eax, eax
je 0x4a129b
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov ecx, dword [ecx + 0xc]
mov dword [eax + 0xc], ecx
inc dword [ecx]
mov dword [ebx + 0xc], eax
mov ecx, dword [edi]
mov edx, dword [ecx + 4]
cmp byte [edx + edi + 0xd], 0
mov eax, dword [edx + edi + 8]
lea esi, [edx + edi + 4]
jne 0x4a12a2
cmp byte [eax + 0x18], 0
jne 0x4a12ca
cmp byte [esi + 9], 0
jne 0x4a12e0
mov eax, dword [esi + 4]
cmp byte [eax + 0x30], 0
jne 0x4a12eb
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
cmp byte [ecx + ebx + 0xd], 0
lea edi, [ecx + ebx + 4]
jne 0x4a1307
cmp byte [edi + 8], 0
jne 0x4a1327
mov esi, dword [edi + 4]
mov edx, dword [esi + 0x38]
mov dword [esp + 0x48], edx
test esi, esi
je 0x480eb1
mov eax, dword [esi + 0x2c]
test eax, eax
jne 0x4a1330
mov eax, dword [esi + 0x28]
cmp eax, 8
je 0x4a1342
cmp eax, 0xa
je 0x4a1365
cmp eax, 5
je 0x4a137b
cmp eax, 0xb
je 0x4a1388
cmp eax, 0xc
je 0x4a13a8
mov dword [esi + 0x28], 1
mov dword [esi + 0x20], 0
mov ebx, dword [esi + 0xc]
test ebx, ebx
je 0x480e68
mov eax, dword [ebx + 0xc]
dec dword [eax]
mov ecx, dword [ebx + 0xc]
cmp dword [ecx], 0
je 0x4a13be
push ebx
call fcn.00487ddc
add esp, 4
mov dword [esi + 0xc], 0
mov eax, dword [esi + 8]
cmp eax, 8
je 0x4a13da
cmp eax, 0xa
je 0x4a13fb
cmp eax, 5
je 0x4a1410
cmp eax, 0xb
je 0x4a141c
cmp eax, 0xc
je 0x4a143a
push esi
mov dword [esi + 8], 1
mov dword [esi], 0
call fcn.00487ddc
mov ebx, dword [ebp + 8]
add esp, 4
mov edx, dword [esp + 0x48]
mov dword [edi + 4], edx
mov byte [edi + 9], 0
dec dword [edi]
mov eax, dword [ebx]
mov eax, dword [eax + 4]
mov ecx, dword [eax + ebx + 8]
add eax, ebx
cmp byte [eax + 0xd], 0
jne 0x4a144f
mov edx, dword [esp + 0x94]
mov dword [ecx + 0x14], edx
cmp byte [eax + 0xd], 0
mov eax, dword [eax + 8]
jne 0x4a1457
mov byte [eax + 0x18], 0
mov ecx, dword [ebx]
mov eax, dword [ecx + 4]
add eax, ebx
cmp byte [eax + 0xd], 0
mov dword [esp + 0x48], eax
jne 0x4a145f
mov eax, dword [eax + 8]
lea ebx, [eax + 0x20]
lea eax, [esp + 0xa0]
cmp ebx, eax
je 0x480f71
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x4a146a
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x4a147c
cmp eax, 0xa
je 0x4a149d
cmp eax, 5
je 0x4a14b2
cmp eax, 0xb
je 0x4a14be
cmp eax, 0xc
je 0x4a14dc
mov eax, dword [esp + 0xa8]
mov dword [ebx], 0
mov dword [ebx + 8], eax
cmp eax, 1
jne 0x4a14f1
mov eax, dword [esp + 0xa0]
mov dword [ebx], eax
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x48]
cmp byte [eax + 0xd], 0
jne 0x4a16d4
mov eax, dword [eax + 8]
mov byte [eax + 0x30], 0
cmp byte [0x4a7f3d], 0
jne 0x4a16df
mov ecx, dword [0x4a7f38]
cmp byte [0x4a7f3c], 0
jne 0x4a1701
mov esi, dword [ecx]
mov edx, dword [ecx + 8]
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], ecx
test esi, esi
je 0x481085
mov eax, dword [esi + 0x18]
mov ebx, ecx
test eax, eax
je 0x480fce
push eax
call fcn.00482000
mov eax, dword [esi + 0x1c]
test eax, eax
jne 0x4a1711
cmp byte [esi + 0x10], 0
jne 0x481054
mov ebx, dword [esi + 0x14]
test ebx, ebx
je 0x481054
mov edi, dword [ebx + 0xc]
test edi, edi
je 0x48100e
mov eax, dword [edi + 0xc]
dec dword [eax]
mov eax, dword [edi + 0xc]
cmp dword [eax], 0
je 0x4a171e
push edi
call fcn.00487ddc
add esp, 4
mov dword [ebx + 0xc], 0
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x4a173a
cmp eax, 0xa
je 0x4a175b
cmp eax, 5
je 0x4a1770
cmp eax, 0xb
je 0x4a177c
cmp eax, 0xc
je 0x4a179a
push ebx
mov dword [ebx + 8], 1
mov dword [ebx], 0
call fcn.00487ddc
add esp, 4
mov eax, dword [esi + 0xc]
dec dword [eax]
mov ecx, dword [esi + 0xc]
cmp dword [ecx], 0
jne 0x481078
mov edx, dword [esi]
push edx
call fcn.00487ddc
mov eax, dword [esi + 0xc]
add esp, 4
push eax
call fcn.00487ddc
add esp, 4
push esi
call fcn.00487ddc
mov edi, dword [esp + 0x6c]
add esp, 4
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x64]
push ecx
call fcn.00487ddc
mov edx, dword [esp + 0x48]
add esp, 4
mov dword [0x4a7f38], edx
mov byte [0x4a7f3d], 0
mov eax, dword [esp + 0xdc]
dec dword [0x4a7f34]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x148], eax
mov eax, dword [esp + 0xac]
test eax, eax
jne 0x4a17af
mov eax, dword [esp + 0xa8]
cmp eax, 8
je 0x4a17c5
cmp eax, 0xa
je 0x4a17e9
cmp eax, 5
je 0x4a1803
cmp eax, 0xb
je 0x4a1814
cmp eax, 0xc
je 0x4a1835
mov eax, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
xor ecx, ecx
mov edx, 1
mov dword [esp + 0xa8], edx
mov dword [esp + 0xa0], ecx
cmp eax, ecx
jne 0x4a184f
cmp esi, 8
je 0x4a186c
cmp esi, 0xa
je 0x4a189c
cmp esi, 5
je 0x4a18c2
cmp esi, 0xb
je 0x4a18da
cmp esi, 0xc
je 0x4a1902
mov eax, dword [esp + 0x2c]
cmp eax, ecx
jne 0x4a1928
mov eax, dword [esp + 0x28]
cmp eax, 8
je 0x4a1942
cmp eax, 0xa
je 0x4a196e
cmp eax, 5
je 0x4a198c
cmp eax, 0xb
je 0x4a19a1
cmp eax, 0xc
je 0x4a19ca
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], ecx
cmp edi, ecx
jbe 0x4811b4
xor esi, esi
mov ecx, dword [ebx + esi*4]
push ecx
call fcn.00487ddc
inc esi
add esp, 4
cmp esi, edi
jb 0x4811a3
mov edx, dword [esp + 0x64]
push edx
call fcn.00487ddc
add esp, 4
cmp dword [esp + 0x38], 0
jbe 0x481250
xor ebx, ebx
mov edi, edi
mov eax, dword [esp + 0x34]
mov esi, dword [eax + ebx*4]
test esi, esi
je 0x481249
mov edi, dword [esi + 0xc]
test edi, edi
je 0x481203
mov eax, dword [edi + 0xc]
dec dword [eax]
mov ecx, dword [edi + 0xc]
cmp dword [ecx], 0
je 0x4a19e8
push edi
call fcn.00487ddc
add esp, 4
mov dword [esi + 0xc], 0
mov eax, dword [esi + 8]
cmp eax, 8
je 0x4a1a04
cmp eax, 0xa
je 0x4a1a25
cmp eax, 5
je 0x4a1a3a
cmp eax, 0xb
je 0x4a1a46
cmp eax, 0xc
je 0x4a1a64
push esi
mov dword [esi + 8], 1
mov dword [esi], 0
call fcn.00487ddc
add esp, 4
inc ebx
cmp ebx, dword [esp + 0x38]
jb 0x4811d0
mov edx, dword [esp + 0x34]
push edx
call fcn.00487ddc
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [esp + 0x1c]
mov esi, dword [esi + 0x20]
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x480380
jmp 0x4a046a
add eax, eax
cmp eax, 4
jae 0x481295
mov eax, 4
xor ecx, ecx
mov dword [esp + 0x6c], eax
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004881d7
mov edx, dword [esp + 0x68]
add esp, 4
lea ecx, [esi*4]
push ecx
push edx
push eax
mov dword [esp + 0x54], eax
call fcn.00487a60
mov eax, dword [esp + 0x70]
add esp, 0xc
push eax
call fcn.00487ddc
mov ecx, dword [esp + 0x4c]
add esp, 4
mov dword [esp + 0x64], ecx
jmp 0x48053e
add eax, eax
cmp eax, 4
jae 0x4812f2
mov eax, 4
xor ecx, ecx
mov dword [esp + 0x3c], eax
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004881d7
mov ebx, dword [esp + 0x38]
mov edi, eax
add esp, 4
lea eax, [esi*4]
push eax
push ebx
push edi
call fcn.00487a60
add esp, 0xc
push ebx
call fcn.00487ddc
add esp, 4
mov dword [esp + 0x34], edi
jmp 0x4805c3
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], edi
jmp 0x480b54
mov eax, 8
jmp 0x4802e0
xor eax, eax
jmp 0x48032c
mov eax, dword [esp + 0x3c]
dec dword [eax]
lea esi, [esp + 0x30]
call fcn.00477fa0
mov edx, dword [esp + 0x34]
inc edx
push edx
call 0x4bd218
xor ecx, ecx
mov esi, eax
mov edx, 2
mul edx
seto cl
mov dword [esp + 0x38], esi
neg ecx
or ecx, eax
push ecx
call fcn.004881d7
mov edx, dword [esp + 0x34]
mov esi, eax
mov eax, dword [esp + 0x38]
add esp, 4
lea ecx, [eax + eax + 2]
push ecx
push edx
push esi
call fcn.00487a60
add esp, 0xc
mov dword [esp + 0x30], esi
jmp 0x480349
push edx
mov edx, dword [ebp + 8]
push 0x6f
push edx
jmp 0x4a1a84
mov eax, dword [eax + 0x140]
dec eax
js 0x4a046a
mov dword [esp + 0x5c], 0
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x70]
lea eax, [eax + edx]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [esi + eax*4]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x30]
call fcn.004828c0
test eax, eax
jns 0x4a0451
mov eax, dword [esp + 0x1c]
dec eax
mov dword [esp + 0x70], eax
jmp 0x4a0460
jle 0x4a0487
mov ecx, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x70]
cmp dword [esp + 0x5c], edx
jle 0x4a041b
lea ecx, [esp + 0x30]
call fcn.00478e50
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
push eax
push edi
push ebx
push ecx
call 0x4f48bb
jmp 0x48125f
mov eax, dword [esp + 0x70]
cmp dword [esp + 0x5c], eax
jg 0x4a046a
mov ecx, dword [esp + 0x1c]
mov esi, dword [esi + ecx*4]
lea ecx, [esp + 0x30]
call fcn.00478e50
jmp 0x4803db
sub ecx, 0x37
jne 0x480489
mov edx, eax
mov eax, dword [ebx + 4]
mov ecx, dword [eax + edx*4 - 4]
movsx edx, word [ecx + 0xa]
mov eax, dword [ebp + 8]
push edx
push 0x6f
push eax
jmp 0x4a1a84
dec esi
inc eax
jmp 0x480478
inc esi
jmp 0x480489
mov dword [esp + 0x50], ecx
jmp 0x4804d3
mov ecx, dword [eax]
mov ecx, dword [ecx]
cmp ecx, 0x24
jne 0x4a04f2
mov bl, 1
jmp 0x4a0500
cmp ecx, 0x1e
jne 0x4a089d
mov edi, 0x100
mov ecx, dword [eax + 4]
inc dword [esp + 0x10]
add eax, 4
cmp word [ecx + 8], 0
je 0x4a04de
jmp 0x48051c
xor eax, eax
jmp 0x480552
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x54]
mov eax, dword [edx + ecx*4]
cmp word [eax + 8], 0x33
jne 0x4a08a9
mov esi, dword [eax]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
xor ecx, ecx
call fcn.00482ec0
test al, al
je 0x4a08c5
test dword [esp + 0x18], 0x100
je 0x4a058a
test edi, 0x100
jne 0x4a058a
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x54]
mov ecx, dword [edx + eax*4]
movsx edx, word [ecx + 0xa]
mov eax, dword [ebp + 8]
push edx
push 0xb0
push eax
jmp 0x4a1a84
mov eax, dword [esp + 0x1c]
mov edi, 1
add dword [esp + 0x54], edi
add dword [esp + 0x10], edi
cmp dword [eax + 8], 5
jne 0x4a05fb
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x54]
mov edx, dword [edx + eax*4]
cmp word [edx + 8], 0x4e
jne 0x4a05fb
mov edx, dword [ebp + 8]
push 0
lea eax, [esp + 0x20]
push eax
push edx
lea eax, [esp + 0x60]
call fcn.004830e0
test eax, eax
je 0x4a05fb
lea esi, [esp + 0x20]
call fcn.0047fb40
lea ecx, [esp + 0x60]
call fcn.004a7a4d
lea ecx, [esp + 0x30]
call fcn.00487860
mov eax, edi
jmp 0x48125f
lea esi, [esp + 0x20]
call fcn.0047fb40
mov eax, dword [esp + 0x1c]
push esi
lea esi, [esp + 0x34]
mov dword [esp + 0x2c], 6
mov dword [esp + 0x24], eax
call fcn.00482610
mov ebx, dword [esp + 0x14]
jmp 0x480644
push eax
call 0x4b9dad
mov dword [esp + 0x2c], 0
jmp 0x480572
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4805a3
push eax
call dword [0x482430]
mov edx, dword [esp + 0x20]
push edx
call fcn.00487ddc
add esp, 4
jmp 0x4805a3
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4805a3
push eax
call 0x4b9d8e
jmp 0x4805a3
lea eax, [esp + 0x20]
call fcn.00484e70
jmp 0x4805a3
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 4]
push ecx
call fcn.00487ddc
mov edx, dword [esp + 0x24]
add esp, 4
push edx
call fcn.00487ddc
add esp, 4
jmp 0x4805a3
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4805a3
push eax
call 0x4c1fd9
jmp 0x4805a3
dec eax
cmp eax, 0xb
ja 0x4a0770
jmp dword [eax*4 + 0x42aeae]
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
jmp 0x4805f8
xor eax, eax
jmp 0x4805fa
add dword [esp + 0x10], 2
jmp 0x480644
push 0xffffffffffffffff
push 0x91
jmp 0x4a1a80
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
mov ecx, dword [eax + ecx*4]
movsx edx, word [ecx + 0xa]
mov eax, dword [ebp + 8]
push edx
push 0x91
push eax
jmp 0x4a1a84
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x54]
mov ecx, dword [edx + eax*4]
movsx edx, word [ecx + 0xa]
mov eax, dword [ebp + 8]
push edx
push 0x79
push eax
jmp 0x4a1a84
mov ecx, dword [esi + 4]
mov edx, dword [ecx + edx*4]
movsx eax, word [edx + 0xa]
push eax
push 0x6f
jmp 0x4a1a80
mov dword [esp + 0x4c], esi
jmp 0x4806eb
mov edx, dword [0x4a7f38]
mov dword [edx], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [0x4a7f38]
mov dword [ecx + 4], eax
mov byte [0x4a7f3d], 0
jmp 0x48073b
mov dword [edi + 4], esi
jmp 0x48071e
push 0x20
mov dword [esp + 0x1c], eax
call fcn.004881d7
add esp, 4
cmp eax, esi
je 0x4a0947
push eax
call 0x4c1401
jmp 0x4a0949
xor eax, eax
mov ecx, dword [esp + 0x18]
push ecx
mov esi, eax
mov dword [edi], eax
call fcn.00484ca0
mov edx, dword [edi]
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x10]
mov dword [edx + 0x10], eax
mov ecx, dword [edi]
mov edx, dword [esi + 0x14]
mov dword [ecx + 0x14], edx
mov ecx, dword [edi]
xor eax, eax
mov dword [ecx + 0x18], eax
mov edx, dword [edi]
mov dword [edx + 0x1c], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [edi]
add ecx, 0x18
push eax
push ecx
mov ecx, edi
call 0x4ca043
mov edx, dword [esi + 0x1c]
mov eax, dword [edi]
push edx
add eax, 0x1c
push eax
mov ecx, edi
call 0x4ca043
xor esi, esi
jmp 0x48072c
xor edi, edi
jmp 0x48072c
mov edi, eax
mov eax, dword [eax + 0x18]
cmp eax, esi
je 0x4a09be
push eax
lea ecx, [esp + 0x4c]
call fcn.00482000
mov eax, dword [edi + 0x1c]
cmp eax, esi
je 0x4a09d3
push eax
lea ecx, [esp + 0x4c]
call fcn.00482000
cmp byte [edi + 0x10], 0
jne 0x4a09ef
mov ecx, dword [edi + 0x14]
cmp ecx, esi
je 0x4a09ef
push 1
call fcn.00484dc0
push edi
call 0x4b9dad
jmp 0x48074d
mov edi, dword [edx]
mov edi, dword [edi]
cmp edi, 0x24
je 0x4a0a1c
cmp edi, 0x1e
jne 0x4a0a20
mov dword [esp + 0x14], 0x100
mov eax, dword [esp + 0x14]
inc esi
add edx, 4
mov edi, dword [edx]
cmp word [edi + 8], bx
je 0x4a09fa
mov dword [esp + 0x10], esi
jmp 0x4807ba
mov edi, dword [esp + 0x34]
mov edx, dword [edi + edx*4]
mov ecx, dword [ecx + esi*4]
push 1
push eax
push edx
call fcn.004a9108
push eax
mov eax, dword [ecx]
push eax
call 0x4d6108
test al, al
je 0x4a1038
add esi, 2
mov dword [esp + 0x10], esi
jmp 0x480b75
lea ebx, [esp + 0xbc]
call fcn.00484130
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + 4]
mov dword [esp + 0x7c], 0
mov eax, dword [edx + esi*4 + 8]
movzx ecx, word [eax + 8]
cmp cx, 0x4a
je 0x4a0a98
cmp cx, 0x49
jne 0x4a0ab3
lea edi, [esp + 0xbc]
call fcn.00479380
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx*4 + 0xc]
lea edi, [esp + 0xbc]
call fcn.00479380
mov edi, 0x7f
lea esi, [esp + 0xd0]
call fcn.00479310
mov eax, esi
lea edi, [esp + 0xbc]
call fcn.00479380
push 0xffffffffffffffff
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x84]
push ecx
mov ecx, dword [ebp + 8]
push edi
call fcn.00481380
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x50]
mov edx, dword [edx + 4]
mov ecx, dword [esp + 0x14]
add eax, eax
add eax, eax
mov esi, dword [eax + edx]
mov esi, dword [esi]
mov dword [esp + 0x48], eax
or ecx, 0x200
mov eax, 1
lea edx, [esp + 0x20]
call fcn.00478580
jmp 0x480b56
push esi
mov eax, edi
push edx
mov edi, 0x4a7f24
call fcn.0047aa10
jmp 0x480b56
mov ecx, dword [0x4a7f38]
mov ebx, dword [ecx + 8]
jmp 0x480820
or dword [0x4a95e4], 1
push 0x4a95c4
call 0x4c1401
push 0x425c12
call fcn.00487f0a
add esp, 4
xor eax, eax
jmp 0x48083f
test edx, edx
jne 0x4a0ba7
test eax, eax
jne 0x4808b7
jmp 0x48086e
mov ebx, dword [esp + 0x14]
xor eax, eax
jmp 0x4808a9
or eax, 0xffffffff
jmp 0x4808a9
mov ecx, dword [ecx]
mov eax, dword [edi]
call fcn.00483e60
jmp 0x4808a9
mov eax, dword [ebx]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4808c4
push eax
push edi
call fcn.004b9dcb
add esp, 8
test al, al
je 0x4a0be4
mov eax, dword [ebx]
mov eax, dword [eax + 0x18]
mov ecx, dword [ebx]
mov edx, dword [eax + 0x1c]
mov dword [ecx + 0x18], edx
mov ecx, dword [ebx]
mov dword [eax + 0x1c], ecx
mov dword [ebx], eax
cmp dword [eax + 0x18], 0
je 0x4808c4
mov edx, dword [ebx]
mov eax, dword [esp + 0x58]
mov dword [eax + 0x18], edx
mov eax, dword [ebx]
mov ecx, dword [eax + 0x18]
mov dword [ebx], ecx
jmp 0x480852
push edi
push eax
call fcn.004b9dcb
add esp, 8
test al, al
je 0x4a0c29
mov eax, dword [ebx]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebx]
mov ecx, dword [eax + 0x18]
mov dword [edx + 0x1c], ecx
mov edx, dword [ebx]
mov dword [eax + 0x18], edx
mov dword [ebx], eax
cmp dword [eax + 0x1c], 0
je 0x4808c4
mov eax, dword [ebx]
mov ecx, dword [esp + 0x74]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebx]
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x74], eax
mov dword [ebx], edx
jmp 0x480856
mov byte [esp + 0x43], 1
jmp 0x4808c4
mov ebx, dword [ebx]
test ebx, ebx
je 0x4808fc
mov ecx, dword [esp + 0x18]
mov ebx, dword [ebx + 0x14]
push ecx
call fcn.0047fa80
jmp 0x480b56
xor eax, eax
jmp 0x480961
xor ebx, ebx
jmp 0x480966
dec dword [eax]
mov edx, dword [edi + 4]
mov dword [ebx + 4], edx
mov eax, dword [edi + 8]
mov dword [ebx + 8], eax
mov ecx, dword [edi]
mov dword [ebx], ecx
mov edi, dword [edi + 0xc]
mov dword [ebx + 0xc], edi
inc dword [edi]
jmp 0x48099e
push eax
call 0x4bd218
mov dword [ebx + 8], eax
mov eax, dword [ebx]
test eax, eax
je 0x4a0cb1
push eax
call fcn.00487ddc
add esp, 4
mov eax, dword [ebx + 8]
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004881d7
add esp, 4
xor ecx, ecx
mov dword [ebx], eax
mov word [eax + esi*2], cx
jmp 0x480988
or dword [0x4a95e4], 1
push 0x4a95c4
call 0x4c1401
push 0x425c12
call fcn.00487f0a
add esp, 4
jmp 0x480a31
cmp edx, edi
jne 0x4a0ea2
cmp eax, edi
jne 0x480aad
jmp 0x480a66
xor edi, edi
xor eax, eax
jmp 0x480aa3
or eax, 0xffffffff
xor edi, edi
jmp 0x480aa3
mov ecx, dword [esi]
mov eax, dword [ebx]
call fcn.00483e60
jmp 0x480aa3
lea eax, [esi + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
cmp eax, edi
je 0x480abe
push eax
push ebx
mov dword [esp + 0x4c], eax
call fcn.004b9dcb
add esp, 8
test al, al
je 0x4a0eeb
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x18]
mov dword [edx], ecx
mov dword [eax + 0x1c], esi
mov esi, eax
cmp dword [eax + 0x18], edi
je 0x480abe
add eax, 0x18
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x18], esi
mov dword [esp + 0x74], esi
mov esi, dword [ecx]
jmp 0x480a50
push ebx
push eax
mov dword [esp + 0x4c], eax
call fcn.004b9dcb
add esp, 8
test al, al
je 0x4a0f39
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0x18]
mov dword [edx], ecx
mov dword [eax + 0x18], esi
mov esi, eax
cmp dword [eax + 0x1c], edi
je 0x480abe
add eax, 0x1c
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x1c], esi
mov dword [esp + 0x58], esi
mov esi, dword [ecx]
jmp 0x480a50
cmp edx, edi
jne 0x4a0f85
cmp eax, edi
jne 0x480b41
jmp 0x480af9
xor edi, edi
xor eax, eax
jmp 0x480b33
or eax, 0xffffffff
xor edi, edi
jmp 0x480b33
mov ecx, dword [esi]
mov eax, dword [ebx]
call fcn.00483e60
jmp 0x480b33
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], esi
mov dword [esi + 0x18], edi
jmp 0x480b50
mov ebx, esi
jmp 0x480b50
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + ecx*4 + 8]
movzx eax, word [edx + 8]
cmp ax, 0x4a
je 0x4a0fc7
cmp ax, 0x49
je 0x4a0fc7
add dword [esp + 0x10], 4
jmp 0x480b75
add dword [esp + 0x10], 5
jmp 0x480b75
cmp ax, 0x3f
jg 0x480b8b
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x480b8b
push eax
call 0x4b9dad
jmp 0x480b8b
xor esi, esi
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x4a100f
push eax
call 0x4c33c0
inc esi
cmp esi, dword [esp + 0xc4]
jb 0x4a0ff7
jmp 0x480ba4
mov eax, dword [edi + 4]
lea edx, [esp + 0x80]
push edx
push eax
call 0x4ea50f
mov byte [edi + 9], 0
jmp 0x480c84
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 4]
mov ecx, dword [eax + esi*4]
movsx edx, word [ecx + 0xa]
mov eax, dword [ebp + 8]
push edx
push 0x79
push eax
call 0x4d5337
lea ecx, [esp + 0xd0]
push ecx
call 0x4c2069
lea ecx, [esp + 0xbc]
call fcn.004859c0
jmp 0x4a1a89
xor eax, eax
jmp 0x480c7b
call fcn.00483390
cmp ebx, dword [edi]
jb 0x4a1077
jmp 0x480caf
mov eax, dword [eax + 0x38]
jmp 0x480cd2
mov ecx, dword [eax + 4]
mov esi, dword [ecx + 0x38]
jmp 0x480cf9
push eax
call 0x4b9dad
mov dword [ebx + 0xc], 0
jmp 0x480d0f
mov ecx, dword [ebx]
test ecx, ecx
je 0x480d1b
push ecx
call dword [0x482430]
mov edx, dword [ebx]
push edx
call fcn.00487ddc
add esp, 4
jmp 0x480d3f
mov eax, dword [ebx]
test eax, eax
je 0x480d3f
push eax
call 0x4b9d8e
jmp 0x480d3f
mov eax, ebx
call fcn.00484e70
jmp 0x480d3f
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
push ecx
call fcn.00487ddc
mov edx, dword [ebx]
add esp, 4
push edx
call fcn.00487ddc
add esp, 4
jmp 0x480d3f
mov eax, dword [ebx]
test eax, eax
je 0x480d3f
push eax
call 0x4c1fd9
jmp 0x480d3f
dec eax
cmp eax, 0xb
ja 0x480d8b
jmp dword [eax*4 + 0x42aede]
xor eax, eax
jmp 0x480d88
mov eax, dword [eax + 0x38]
jmp 0x480da3
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0x10]
mov byte [eax], 0
call fcn.0047fb40
mov dword [esi + 8], 1
mov dword [esi], 0
jmp 0x480d8b
mov eax, esi
call fcn.0047a8c0
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x94], ecx
jmp 0x480dad
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x38]
jmp 0x480dba
mov eax, esi
call fcn.0047a8c0
add eax, 0x20
push eax
lea ebx, [esp + 0xa4]
call fcn.0047fa80
jmp 0x480dc4
mov eax, dword [edi + 4]
mov esi, dword [eax + 0x38]
test eax, eax
je 0x4a131b
push eax
call 0x4c38f1
mov dword [edi + 4], esi
mov byte [edi + 9], 0
jmp 0x480ddb
mov byte [edi + 9], 1
jmp 0x480ebc
push eax
call 0x4b9dad
mov dword [esi + 0x2c], 0
jmp 0x480e02
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x480e0e
push ecx
call dword [0x482430]
mov eax, dword [esi + 0x20]
push eax
call fcn.00487ddc
add esp, 4
jmp 0x480e32
mov eax, dword [esi + 0x20]
test eax, eax
je 0x480e32
push eax
call 0x4b9d8e
jmp 0x480e32
lea eax, [esi + 0x20]
call fcn.00484e70
jmp 0x480e32
mov ecx, dword [esi + 0x20]
mov edx, dword [ecx + 4]
push edx
call fcn.00487ddc
mov eax, dword [esi + 0x20]
add esp, 4
push eax
call fcn.00487ddc
add esp, 4
jmp 0x480e32
mov eax, dword [esi + 0x20]
test eax, eax
je 0x480e32
push eax
call 0x4c1fd9
jmp 0x480e32
mov edx, dword [ebx]
push edx
call fcn.00487ddc
mov eax, dword [ebx + 0xc]
add esp, 4
push eax
call fcn.00487ddc
add esp, 4
jmp 0x480e58
mov ecx, dword [esi]
test ecx, ecx
je 0x480e74
push ecx
call dword [0x482430]
mov ecx, dword [esi]
push ecx
call fcn.00487ddc
add esp, 4
jmp 0x480e98
mov eax, dword [esi]
test eax, eax
je 0x480e98
push eax
call 0x4b9d8e
jmp 0x480e98
mov eax, esi
call fcn.00484e70
jmp 0x480e98
mov edx, dword [esi]
mov eax, dword [edx + 4]
push eax
call fcn.00487ddc
mov ecx, dword [esi]
add esp, 4
push ecx
call fcn.00487ddc
add esp, 4
jmp 0x480e98
mov eax, dword [esi]
test eax, eax
je 0x480e98
push eax
call 0x4c1fd9
jmp 0x480e98
mov ecx, dword [ecx + 0x38]
jmp 0x480ed3
mov eax, dword [eax + 0x38]
jmp 0x480eea
mov edx, dword [eax + 8]
mov eax, dword [edx + 0x38]
jmp 0x480f06
push eax
call 0x4b9dad
mov dword [ebx + 0xc], 0
jmp 0x480f1f
mov ecx, dword [ebx]
test ecx, ecx
je 0x480f2b
push ecx
call dword [0x482430]
mov ecx, dword [ebx]
push ecx
call fcn.00487ddc
add esp, 4
jmp 0x480f4f
mov eax, dword [ebx]
test eax, eax
je 0x480f4f
push eax
call 0x4b9d8e
jmp 0x480f4f
mov eax, ebx
call fcn.00484e70
jmp 0x480f4f
mov edx, dword [ebx]
mov eax, dword [edx + 4]
push eax
call fcn.00487ddc
mov ecx, dword [ebx]
add esp, 4
push ecx
call fcn.00487ddc
add esp, 4
jmp 0x480f4f
mov eax, dword [ebx]
test eax, eax
je 0x480f4f
push eax
call 0x4c1fd9
jmp 0x480f4f
dec eax
cmp eax, 0xb
ja 0x480f71
jmp dword [eax*4 + 0x42af0e]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0x38]
jmp 0x480f86
mov eax, dword [0x4a7f38]
mov esi, dword [eax + 8]
push eax
call 0x4e6a90
mov ecx, esi
mov dword [0x4a7f38], ecx
mov byte [0x4a7f3d], 0
jmp 0x480f9d
mov ebx, dword [esp + 0x64]
mov byte [0x4a7f3d], 1
jmp 0x4810a7
push eax
mov ecx, ebx
call fcn.00482000
jmp 0x480fd9
mov ecx, dword [edi]
push ecx
call fcn.00487ddc
mov edx, dword [edi + 0xc]
add esp, 4
push edx
call fcn.00487ddc
add esp, 4
jmp 0x480ffe
mov ecx, dword [ebx]
test ecx, ecx
je 0x48101a
push ecx
call dword [0x482430]
mov eax, dword [ebx]
push eax
call fcn.00487ddc
add esp, 4
jmp 0x48103e
mov eax, dword [ebx]
test eax, eax
je 0x48103e
push eax
call 0x4b9d8e
jmp 0x48103e
mov eax, ebx
call fcn.00484e70
jmp 0x48103e
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
push edx
call fcn.00487ddc
mov eax, dword [ebx]
add esp, 4
push eax
call fcn.00487ddc
add esp, 4
jmp 0x48103e
mov eax, dword [ebx]
test eax, eax
je 0x48103e
push eax
call 0x4c1fd9
jmp 0x48103e
push eax
call 0x4b9dad
mov dword [esp + 0xac], 0
jmp 0x4810cc
mov esi, dword [esp + 0xa0]
test esi, esi
je 0x481100
push esi
call dword [0x482430]
push esi
call fcn.00487ddc
add esp, 4
jmp 0x481100
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x481100
push eax
call 0x4b9d8e
jmp 0x481100
lea eax, [esp + 0xa0]
call fcn.00484e70
jmp 0x481100
mov esi, dword [esp + 0xa0]
mov edx, dword [esi + 4]
push edx
call fcn.00487ddc
add esp, 4
push esi
call fcn.00487ddc
add esp, 4
jmp 0x481100
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x481100
push eax
call 0x4c1fd9
jmp 0x481100
push eax
call 0x4b9dad
mov dword [esp + 0x8c], 0
mov edx, 1
xor ecx, ecx
jmp 0x48112b
cmp dword [esp + 0x80], ecx
je 0x481158
mov esi, dword [esp + 0x80]
push esi
call dword [0x482430]
push esi
call fcn.00487ddc
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x481158
cmp dword [esp + 0x80], ecx
je 0x481158
mov eax, dword [esp + 0x80]
push eax
call 0x4b9d8e
mov edx, 1
xor ecx, ecx
jmp 0x481158
lea eax, [esp + 0x80]
call fcn.00484e70
mov edx, 1
xor ecx, ecx
jmp 0x481158
mov esi, dword [esp + 0x80]
mov ecx, dword [esi + 4]
push ecx
call fcn.00487ddc
add esp, 4
push esi
call fcn.00487ddc
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x481158
cmp dword [esp + 0x80], ecx
je 0x481158
mov edx, dword [esp + 0x80]
push edx
call 0x4c1fd9
mov edx, 1
xor ecx, ecx
jmp 0x481158
push eax
call 0x4b9dad
mov dword [esp + 0x2c], 0
mov edx, 1
xor ecx, ecx
jmp 0x481164
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x481195
push eax
call dword [0x482430]
mov eax, dword [esp + 0x20]
push eax
call fcn.00487ddc
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x481195
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x481195
push eax
call 0x4b9d8e
mov edx, 1
xor ecx, ecx
jmp 0x481195
lea eax, [esp + 0x20]
call fcn.00484e70
mov edx, 1
xor ecx, ecx
jmp 0x481195
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 4]
push edx
call fcn.00487ddc
mov eax, dword [esp + 0x24]
add esp, 4
push eax
call fcn.00487ddc
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x481195
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x481195
push eax
call 0x4c1fd9
mov edx, 1
xor ecx, ecx
jmp 0x481195
mov edx, dword [edi]
push edx
call fcn.00487ddc
mov eax, dword [edi + 0xc]
add esp, 4
push eax
call fcn.00487ddc
add esp, 4
jmp 0x4811f3
mov ecx, dword [esi]
test ecx, ecx
je 0x48120f
push ecx
call dword [0x482430]
mov ecx, dword [esi]
push ecx
call fcn.00487ddc
add esp, 4
jmp 0x481233
mov eax, dword [esi]
test eax, eax
je 0x481233
push eax
call 0x4b9d8e
jmp 0x481233
mov eax, esi
call fcn.00484e70
jmp 0x481233
mov edx, dword [esi]
mov eax, dword [edx + 4]
push eax
call fcn.00487ddc
mov ecx, dword [esi]
add esp, 4
push ecx
call fcn.00487ddc
add esp, 4
jmp 0x481233
mov eax, dword [esi]
test eax, eax
je 0x481233
push eax
call 0x4c1fd9
jmp 0x481233
mov eax, dword [esp + 0x7c]
push eax
push 0x70
mov ecx, dword [ebp + 8]
push ecx
call 0x4d5337
lea esi, [esp + 0x20]
call fcn.0047fb40
lea ecx, [esp + 0x60]
call fcn.004a7a4d
lea ecx, [esp + 0x30]
call fcn.00487860
mov eax, 1
jmp 0x48125f