Function at 0x5072a0
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.0050edc1
add esp, 4
mov dword [esp + 0x34], eax
inc eax
je 0x52738a
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.0050f1d7
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.0050ea60
add esp, 0xc
push 4
call fcn.0050f1d7
add esp, 4
test eax, eax
je 0x527394
mov dword [eax], 1
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x140], 0
mov dword [esp + 0x3c], eax
je 0x52746a
cmp dword [eax], 1
jg 0x52739b
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 0x527402
mov esi, dword [eax + 0x134]
test esi, esi
je 0x52746a
mov dword [esp + 0x1c], esi
lea esp, [esp]
mov edx, dword [esi + 4]
cmp edx, dword [esp + 0x34]
jne 0x508275
test edx, edx
je 0x5073b9
mov ecx, dword [esp + 0x30]
mov eax, dword [esi]
jmp 0x5073a0
mov si, word [eax]
cmp si, word [ecx]
jne 0x508271
add eax, 2
add ecx, 2
dec edx
jne 0x5073a0
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
dec dword [eax]
jne 0x5073db
mov ecx, dword [esp + 0x30]
push ecx
call fcn.0050eddc
mov edx, dword [esp + 0x40]
add esp, 4
push edx
call fcn.0050eddc
add esp, 4
mov eax, esi
test eax, eax
je 0x527473
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 0x5273f6
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 0x50748c
inc eax
jmp 0x507478
sub ecx, 0x47
je 0x5274cf
dec ecx
jne 0x5274a6
test esi, esi
jne 0x5274c8
mov dword [esp + 0x14], eax
inc eax
mov dword [edi], eax
mov eax, dword [esp + 0xcc]
cmp eax, dword [0x4a90f8]
jg 0x5274d5
cmp eax, ecx
jle 0x5274d5
shl eax, 4
add eax, dword [0x4a912c]
mov dword [esp + 0x50], eax
mov dword [esp + 0x70], ecx
cmp dword [esp + 0x5c], ecx
jle 0x5076a2
mov dword [esp + 0x10], 3
mov dword [esp + 0x78], ecx
lea ecx, [ecx]
cmp edx, dword [esp + 0x14]
jae 0x5076a2
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 0x5274de
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + edx*4]
cmp word [edx + 8], 0x33
je 0x50752e
xor bl, bl
mov esi, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
cmp esi, eax
je 0x508289
push 1
call fcn.0050f1d7
add esp, 4
test eax, eax
je 0x527516
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 0x52751d
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x527627
mov eax, dword [esp + 0x28]
cmp eax, 8
je 0x52763a
cmp eax, 0xa
je 0x52765f
cmp eax, 5
je 0x527676
cmp eax, 0xb
je 0x527684
cmp eax, 0xc
je 0x5276a6
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x28], 1
mov dword [esp + 0x20], 0
cmp esi, eax
je 0x5082e6
mov edi, dword [esp + 0x34]
push 0x10
call fcn.0050f1d7
add esp, 4
test eax, eax
je 0x52788c
mov ebx, eax
mov eax, dword [esp + 0x28]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], 0
cmp eax, 1
jne 0x5276bd
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.00508380
test eax, eax
jne 0x528a89
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 0x527893
mov edx, dword [esp + 0x54]
cmp edx, ebx
je 0x5076a2
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 0x5278e2
lea eax, [edx + 1]
cmp eax, dword [esp + 0x14]
je 0x5278e2
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 0x50768f
inc dword [esp + 0x10]
mov eax, dword [esp + 0x78]
inc eax
mov dword [esp + 0x78], eax
cmp eax, dword [esp + 0x5c]
jl 0x5074f0
mov eax, dword [esp + 0x70]
cmp eax, dword [esp + 0x44]
jl 0x528a79
cmp eax, dword [esp + 0x5c]
jg 0x528a79
cmp edx, dword [esp + 0x14]
jne 0x528a79
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 0x5278f4
cmp byte [0x4a7f3d], al
jne 0x5278fd
push 0xc
call fcn.0050f1d7
add esp, 4
cmp eax, esi
je 0x5279a0
mov edi, eax
mov dword [edi], esi
mov edx, dword [esp + 0x4c]
mov dword [edi + 4], edx
cmp dword [esp + 0x4c], esi
jl 0x52791e
mov eax, dword [esp + 0x48]
cmp eax, esi
jne 0x527926
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 0x5279a7
mov eax, 1
cmp dword [esp + 0x5c], eax
jl 0x507bd9
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 0x5279fa
mov edx, dword [esp + 0x78]
cmp edx, dword [esp + 0x70]
jg 0x527a61
mov edi, dword [esp + 0x64]
mov edx, dword [esp + 0x1c]
mov edi, dword [edi + edx*4]
or eax, 0x200
cmp byte [edi], bl
jne 0x527a31
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 0x527b2b
mov dword [esp + 0x18], edx
cmp byte [0x4a7f3d], bl
jne 0x527b3e
mov ebx, dword [0x4a7f38]
xor eax, eax
mov dword [esp + 0x14], ebx
cmp dword [ebx], eax
je 0x5078fc
test byte [0x4a95e4], 1
mov byte [esp + 0x43], al
je 0x527b4c
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 0x527b71
test edx, edx
je 0x527b79
cmp eax, edx
jb 0x527b99
test eax, eax
je 0x527b8a
mov ecx, dword [ecx]
mov edx, eax
mov eax, dword [edi]
mov bx, word [eax]
cmp bx, word [ecx]
jne 0x50789a
add eax, 2
add ecx, 2
dec edx
jne 0x507884
jmp 0x527b86
mov ebx, dword [esp + 0x14]
jb 0x527b91
mov eax, 1
test eax, eax
js 0x527ba7
jle 0x527c42
mov eax, dword [ebx]
mov eax, dword [eax + 0x1c]
test eax, eax
jne 0x527bf9
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 0x527c4c
and esi, 0xff00
push 0x20
mov dword [esp + 0x48], esi
call fcn.0050f1d7
add esp, 4
test eax, eax
je 0x527c6f
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.0050f1d7
add esp, 4
xor ecx, ecx
mov dword [esi], eax
push 4
mov word [eax], cx
call fcn.0050f1d7
add esp, 4
test eax, eax
je 0x527c68
mov dword [eax], 1
mov dword [esi + 0xc], eax
mov ebx, esi
cmp ebx, edi
je 0x50799e
mov eax, dword [ebx + 0xc]
cmp dword [eax], 1
jg 0x527c76
mov esi, dword [edi + 4]
lea eax, [esi + 1]
mov dword [ebx + 4], esi
cmp dword [ebx + 8], eax
jb 0x527c95
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.0050ea60
add esp, 0xc
mov eax, dword [esp + 0x44]
push 0x10
mov dword [ebx + 0x10], eax
call fcn.0050f1d7
xor ecx, ecx
add esp, 4
cmp eax, ecx
je 0x507a0b
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 0x507a07
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 0x508339
test byte [0x4a95e4], 1
je 0x527e49
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 0x527e6c
cmp edx, edi
je 0x527e74
cmp eax, edx
jb 0x527e94
cmp eax, edi
jbe 0x527e83
mov ecx, dword [esi]
mov edx, eax
mov eax, dword [ebx]
lea esp, [esp]
mov di, word [eax]
cmp di, word [ecx]
jne 0x507a96
add eax, 2
add ecx, 2
dec edx
jne 0x507a80
jmp 0x527e81
jb 0x527e8a
mov eax, 1
xor edi, edi
cmp eax, edi
jl 0x527ea2
jle 0x507abe
lea eax, [esi + 0x1c]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
cmp eax, edi
jne 0x527f01
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 0x527f4f
cmp edx, edi
je 0x527f57
cmp eax, edx
jb 0x527f77
cmp eax, edi
jbe 0x527f66
mov ecx, dword [esi]
mov edx, eax
mov eax, dword [ebx]
nop
mov di, word [eax]
cmp di, word [ecx]
jne 0x507b26
add eax, 2
add ecx, 2
dec edx
jne 0x507b10
jmp 0x527f64
jb 0x527f6d
mov eax, 1
xor edi, edi
cmp eax, edi
jl 0x527f85
jle 0x527f96
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 0x527f9d
add dword [esp + 0x10], 2
mov ax, word [esp + 0xd8]
inc dword [esp + 0x1c]
cmp ax, 0x30
jge 0x527fd1
cmp dword [esp + 0xc4], 0
mov dword [esp + 0xbc], 0x485a84
ja 0x527ff5
mov ecx, dword [esp + 0xc0]
push ecx
mov dword [esp + 0xc8], 0
call fcn.0050eddc
mov eax, dword [esp + 0x7c]
inc eax
add esp, 4
mov dword [esp + 0x78], eax
cmp eax, dword [esp + 0x5c]
jle 0x507760
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 0x52801e
push 0x40
call fcn.0050f1d7
add esp, 4
test eax, eax
je 0x528070
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.00506de0
cmp ebx, dword [edi]
jb 0x528077
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 0x528085
cmp byte [eax + 0x10], 0
je 0x5282aa
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 0x52808d
mov esi, dword [eax + 4]
mov ebx, dword [ebp + 0x10]
cmp ebx, esi
je 0x507d8b
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x528098
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x5280aa
cmp eax, 0xa
je 0x5280cb
cmp eax, 5
je 0x5280e0
cmp eax, 0xb
je 0x5280ec
cmp eax, 0xc
je 0x52810a
mov dword [ebx + 8], 1
mov dword [ebx], 0
mov eax, dword [esi + 8]
mov dword [ebx + 8], eax
cmp eax, 4
jne 0x52811f
push 0x10
call fcn.0050f1d7
add esp, 4
test eax, eax
je 0x52829b
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 0x5282a2
cmp byte [eax + 0x18], 0
jne 0x5282ca
cmp byte [esi + 9], 0
jne 0x5282e0
mov eax, dword [esi + 4]
cmp byte [eax + 0x30], 0
jne 0x5282eb
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 0x528307
cmp byte [edi + 8], 0
jne 0x528327
mov esi, dword [edi + 4]
mov edx, dword [esi + 0x38]
mov dword [esp + 0x48], edx
test esi, esi
je 0x507eb1
mov eax, dword [esi + 0x2c]
test eax, eax
jne 0x528330
mov eax, dword [esi + 0x28]
cmp eax, 8
je 0x528342
cmp eax, 0xa
je 0x528365
cmp eax, 5
je 0x52837b
cmp eax, 0xb
je 0x528388
cmp eax, 0xc
je 0x5283a8
mov dword [esi + 0x28], 1
mov dword [esi + 0x20], 0
mov ebx, dword [esi + 0xc]
test ebx, ebx
je 0x507e68
mov eax, dword [ebx + 0xc]
dec dword [eax]
mov ecx, dword [ebx + 0xc]
cmp dword [ecx], 0
je 0x5283be
push ebx
call fcn.0050eddc
add esp, 4
mov dword [esi + 0xc], 0
mov eax, dword [esi + 8]
cmp eax, 8
je 0x5283da
cmp eax, 0xa
je 0x5283fb
cmp eax, 5
je 0x528410
cmp eax, 0xb
je 0x52841c
cmp eax, 0xc
je 0x52843a
push esi
mov dword [esi + 8], 1
mov dword [esi], 0
call fcn.0050eddc
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 0x52844f
mov edx, dword [esp + 0x94]
mov dword [ecx + 0x14], edx
cmp byte [eax + 0xd], 0
mov eax, dword [eax + 8]
jne 0x528457
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 0x52845f
mov eax, dword [eax + 8]
lea ebx, [eax + 0x20]
lea eax, [esp + 0xa0]
cmp ebx, eax
je 0x507f71
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x52846a
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x52847c
cmp eax, 0xa
je 0x52849d
cmp eax, 5
je 0x5284b2
cmp eax, 0xb
je 0x5284be
cmp eax, 0xc
je 0x5284dc
mov eax, dword [esp + 0xa8]
mov dword [ebx], 0
mov dword [ebx + 8], eax
cmp eax, 1
jne 0x5284f1
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 0x5286d4
mov eax, dword [eax + 8]
mov byte [eax + 0x30], 0
cmp byte [0x4a7f3d], 0
jne 0x5286df
mov ecx, dword [0x4a7f38]
cmp byte [0x4a7f3c], 0
jne 0x528701
mov esi, dword [ecx]
mov edx, dword [ecx + 8]
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], ecx
test esi, esi
je 0x508085
mov eax, dword [esi + 0x18]
mov ebx, ecx
test eax, eax
je 0x507fce
push eax
call fcn.00509000
mov eax, dword [esi + 0x1c]
test eax, eax
jne 0x528711
cmp byte [esi + 0x10], 0
jne 0x508054
mov ebx, dword [esi + 0x14]
test ebx, ebx
je 0x508054
mov edi, dword [ebx + 0xc]
test edi, edi
je 0x50800e
mov eax, dword [edi + 0xc]
dec dword [eax]
mov eax, dword [edi + 0xc]
cmp dword [eax], 0
je 0x52871e
push edi
call fcn.0050eddc
add esp, 4
mov dword [ebx + 0xc], 0
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x52873a
cmp eax, 0xa
je 0x52875b
cmp eax, 5
je 0x528770
cmp eax, 0xb
je 0x52877c
cmp eax, 0xc
je 0x52879a
push ebx
mov dword [ebx + 8], 1
mov dword [ebx], 0
call fcn.0050eddc
add esp, 4
mov eax, dword [esi + 0xc]
dec dword [eax]
mov ecx, dword [esi + 0xc]
cmp dword [ecx], 0
jne 0x508078
mov edx, dword [esi]
push edx
call fcn.0050eddc
mov eax, dword [esi + 0xc]
add esp, 4
push eax
call fcn.0050eddc
add esp, 4
push esi
call fcn.0050eddc
mov edi, dword [esp + 0x6c]
add esp, 4
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x64]
push ecx
call fcn.0050eddc
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 0x5287af
mov eax, dword [esp + 0xa8]
cmp eax, 8
je 0x5287c5
cmp eax, 0xa
je 0x5287e9
cmp eax, 5
je 0x528803
cmp eax, 0xb
je 0x528814
cmp eax, 0xc
je 0x528835
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 0x52884f
cmp esi, 8
je 0x52886c
cmp esi, 0xa
je 0x52889c
cmp esi, 5
je 0x5288c2
cmp esi, 0xb
je 0x5288da
cmp esi, 0xc
je 0x528902
mov eax, dword [esp + 0x2c]
cmp eax, ecx
jne 0x528928
mov eax, dword [esp + 0x28]
cmp eax, 8
je 0x528942
cmp eax, 0xa
je 0x52896e
cmp eax, 5
je 0x52898c
cmp eax, 0xb
je 0x5289a1
cmp eax, 0xc
je 0x5289ca
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], ecx
cmp edi, ecx
jbe 0x5081b4
xor esi, esi
mov ecx, dword [ebx + esi*4]
push ecx
call fcn.0050eddc
inc esi
add esp, 4
cmp esi, edi
jb 0x5081a3
mov edx, dword [esp + 0x64]
push edx
call fcn.0050eddc
add esp, 4
cmp dword [esp + 0x38], 0
jbe 0x508250
xor ebx, ebx
mov edi, edi
mov eax, dword [esp + 0x34]
mov esi, dword [eax + ebx*4]
test esi, esi
je 0x508249
mov edi, dword [esi + 0xc]
test edi, edi
je 0x508203
mov eax, dword [edi + 0xc]
dec dword [eax]
mov ecx, dword [edi + 0xc]
cmp dword [ecx], 0
je 0x5289e8
push edi
call fcn.0050eddc
add esp, 4
mov dword [esi + 0xc], 0
mov eax, dword [esi + 8]
cmp eax, 8
je 0x528a04
cmp eax, 0xa
je 0x528a25
cmp eax, 5
je 0x528a3a
cmp eax, 0xb
je 0x528a46
cmp eax, 0xc
je 0x528a64
push esi
mov dword [esi + 8], 1
mov dword [esi], 0
call fcn.0050eddc
add esp, 4
inc ebx
cmp ebx, dword [esp + 0x38]
jb 0x5081d0
mov edx, dword [esp + 0x34]
push edx
call fcn.0050eddc
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 0x507380
jmp 0x52746a
add eax, eax
cmp eax, 4
jae 0x508295
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.0050f1d7
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.0050ea60
mov eax, dword [esp + 0x70]
add esp, 0xc
push eax
call fcn.0050eddc
mov ecx, dword [esp + 0x4c]
add esp, 4
mov dword [esp + 0x64], ecx
jmp 0x50753e
add eax, eax
cmp eax, 4
jae 0x5082f2
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.0050f1d7
mov ebx, dword [esp + 0x38]
mov edi, eax
add esp, 4
lea eax, [esi*4]
push eax
push ebx
push edi
call fcn.0050ea60
add esp, 0xc
push ebx
call fcn.0050eddc
add esp, 4
mov dword [esp + 0x34], edi
jmp 0x5075c3
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], edi
jmp 0x507b54
mov eax, 8
jmp 0x5072e0
xor eax, eax
jmp 0x50732c
mov eax, dword [esp + 0x3c]
dec dword [eax]
lea esi, [esp + 0x30]
call fcn.004fefa0
mov edx, dword [esp + 0x34]
inc edx
push edx
call 0x544218
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.0050f1d7
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.0050ea60
add esp, 0xc
mov dword [esp + 0x30], esi
jmp 0x507349
push edx
mov edx, dword [ebp + 8]
push 0x6f
push edx
jmp 0x528a84
mov eax, dword [eax + 0x140]
dec eax
js 0x52746a
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.005098c0
test eax, eax
jns 0x527451
mov eax, dword [esp + 0x1c]
dec eax
mov dword [esp + 0x70], eax
jmp 0x527460
jle 0x527487
mov ecx, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x70]
cmp dword [esp + 0x5c], edx
jle 0x52741b
lea ecx, [esp + 0x30]
call fcn.004ffe50
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
push eax
push edi
push ebx
push ecx
call 0x57b8bb
jmp 0x50825f
mov eax, dword [esp + 0x70]
cmp dword [esp + 0x5c], eax
jg 0x52746a
mov ecx, dword [esp + 0x1c]
mov esi, dword [esi + ecx*4]
lea ecx, [esp + 0x30]
call fcn.004ffe50
jmp 0x5073db
sub ecx, 0x37
jne 0x507489
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 0x528a84
dec esi
inc eax
jmp 0x507478
inc esi
jmp 0x507489
mov dword [esp + 0x50], ecx
jmp 0x5074d3
mov ecx, dword [eax]
mov ecx, dword [ecx]
cmp ecx, 0x24
jne 0x5274f2
mov bl, 1
jmp 0x527500
cmp ecx, 0x1e
jne 0x52789d
mov edi, 0x100
mov ecx, dword [eax + 4]
inc dword [esp + 0x10]
add eax, 4
cmp word [ecx + 8], 0
je 0x5274de
jmp 0x50751c
xor eax, eax
jmp 0x507552
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 0x5278a9
mov esi, dword [eax]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
xor ecx, ecx
call fcn.00509ec0
test al, al
je 0x5278c5
test dword [esp + 0x18], 0x100
je 0x52758a
test edi, 0x100
jne 0x52758a
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 0x528a84
mov eax, dword [esp + 0x1c]
mov edi, 1
add dword [esp + 0x54], edi
add dword [esp + 0x10], edi
cmp dword [eax + 8], 5
jne 0x5275fb
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 0x5275fb
mov edx, dword [ebp + 8]
push 0
lea eax, [esp + 0x20]
push eax
push edx
lea eax, [esp + 0x60]
call fcn.0050a0e0
test eax, eax
je 0x5275fb
lea esi, [esp + 0x20]
call fcn.00506b40
lea ecx, [esp + 0x60]
call fcn.0052ea4d
lea ecx, [esp + 0x30]
call fcn.0050e860
mov eax, edi
jmp 0x50825f
lea esi, [esp + 0x20]
call fcn.00506b40
mov eax, dword [esp + 0x1c]
push esi
lea esi, [esp + 0x34]
mov dword [esp + 0x2c], 6
mov dword [esp + 0x24], eax
call fcn.00509610
mov ebx, dword [esp + 0x14]
jmp 0x507644
push eax
call 0x540dad
mov dword [esp + 0x2c], 0
jmp 0x507572
mov eax, dword [esp + 0x20]
test eax, eax
je 0x5075a3
push eax
call dword [0x482430]
mov edx, dword [esp + 0x20]
push edx
call fcn.0050eddc
add esp, 4
jmp 0x5075a3
mov eax, dword [esp + 0x20]
test eax, eax
je 0x5075a3
push eax
call 0x540d8e
jmp 0x5075a3
lea eax, [esp + 0x20]
call fcn.0050be70
jmp 0x5075a3
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 4]
push ecx
call fcn.0050eddc
mov edx, dword [esp + 0x24]
add esp, 4
push edx
call fcn.0050eddc
add esp, 4
jmp 0x5075a3
mov eax, dword [esp + 0x20]
test eax, eax
je 0x5075a3
push eax
call 0x548fd9
jmp 0x5075a3
dec eax
cmp eax, 0xb
ja 0x527770
jmp dword [eax*4 + 0x42aeae]
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
jmp 0x5075f8
xor eax, eax
jmp 0x5075fa
add dword [esp + 0x10], 2
jmp 0x507644
push 0xffffffffffffffff
push 0x91
jmp 0x528a80
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 0x528a84
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 0x528a84
mov ecx, dword [esi + 4]
mov edx, dword [ecx + edx*4]
movsx eax, word [edx + 0xa]
push eax
push 0x6f
jmp 0x528a80
mov dword [esp + 0x4c], esi
jmp 0x5076eb
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 0x50773b
mov dword [edi + 4], esi
jmp 0x50771e
push 0x20
mov dword [esp + 0x1c], eax
call fcn.0050f1d7
add esp, 4
cmp eax, esi
je 0x527947
push eax
call 0x548401
jmp 0x527949
xor eax, eax
mov ecx, dword [esp + 0x18]
push ecx
mov esi, eax
mov dword [edi], eax
call fcn.0050bca0
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 0x551043
mov edx, dword [esi + 0x1c]
mov eax, dword [edi]
push edx
add eax, 0x1c
push eax
mov ecx, edi
call 0x551043
xor esi, esi
jmp 0x50772c
xor edi, edi
jmp 0x50772c
mov edi, eax
mov eax, dword [eax + 0x18]
cmp eax, esi
je 0x5279be
push eax
lea ecx, [esp + 0x4c]
call fcn.00509000
mov eax, dword [edi + 0x1c]
cmp eax, esi
je 0x5279d3
push eax
lea ecx, [esp + 0x4c]
call fcn.00509000
cmp byte [edi + 0x10], 0
jne 0x5279ef
mov ecx, dword [edi + 0x14]
cmp ecx, esi
je 0x5279ef
push 1
call fcn.0050bdc0
push edi
call 0x540dad
jmp 0x50774d
mov edi, dword [edx]
mov edi, dword [edi]
cmp edi, 0x24
je 0x527a1c
cmp edi, 0x1e
jne 0x527a20
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 0x5279fa
mov dword [esp + 0x10], esi
jmp 0x5077ba
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.00530108
push eax
mov eax, dword [ecx]
push eax
call 0x55d108
test al, al
je 0x528038
add esi, 2
mov dword [esp + 0x10], esi
jmp 0x507b75
lea ebx, [esp + 0xbc]
call fcn.0050b130
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 0x527a98
cmp cx, 0x49
jne 0x527ab3
lea edi, [esp + 0xbc]
call fcn.00500380
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.00500380
mov edi, 0x7f
lea esi, [esp + 0xd0]
call fcn.00500310
mov eax, esi
lea edi, [esp + 0xbc]
call fcn.00500380
push 0xffffffffffffffff
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x84]
push ecx
mov ecx, dword [ebp + 8]
push edi
call fcn.00508380
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.004ff580
jmp 0x507b56
push esi
mov eax, edi
push edx
mov edi, 0x4a7f24
call fcn.00501a10
jmp 0x507b56
mov ecx, dword [0x4a7f38]
mov ebx, dword [ecx + 8]
jmp 0x507820
or dword [0x4a95e4], 1
push 0x4a95c4
call 0x548401
push 0x425c12
call fcn.0050ef0a
add esp, 4
xor eax, eax
jmp 0x50783f
test edx, edx
jne 0x527ba7
test eax, eax
jne 0x5078b7
jmp 0x50786e
mov ebx, dword [esp + 0x14]
xor eax, eax
jmp 0x5078a9
or eax, 0xffffffff
jmp 0x5078a9
mov ecx, dword [ecx]
mov eax, dword [edi]
call fcn.0050ae60
jmp 0x5078a9
mov eax, dword [ebx]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x5078c4
push eax
push edi
call fcn.00540dcb
add esp, 8
test al, al
je 0x527be4
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 0x5078c4
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 0x507852
push edi
push eax
call fcn.00540dcb
add esp, 8
test al, al
je 0x527c29
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 0x5078c4
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 0x507856
mov byte [esp + 0x43], 1
jmp 0x5078c4
mov ebx, dword [ebx]
test ebx, ebx
je 0x5078fc
mov ecx, dword [esp + 0x18]
mov ebx, dword [ebx + 0x14]
push ecx
call fcn.00506a80
jmp 0x507b56
xor eax, eax
jmp 0x507961
xor ebx, ebx
jmp 0x507966
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 0x50799e
push eax
call 0x544218
mov dword [ebx + 8], eax
mov eax, dword [ebx]
test eax, eax
je 0x527cb1
push eax
call fcn.0050eddc
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.0050f1d7
add esp, 4
xor ecx, ecx
mov dword [ebx], eax
mov word [eax + esi*2], cx
jmp 0x507988
or dword [0x4a95e4], 1
push 0x4a95c4
call 0x548401
push 0x425c12
call fcn.0050ef0a
add esp, 4
jmp 0x507a31
cmp edx, edi
jne 0x527ea2
cmp eax, edi
jne 0x507aad
jmp 0x507a66
xor edi, edi
xor eax, eax
jmp 0x507aa3
or eax, 0xffffffff
xor edi, edi
jmp 0x507aa3
mov ecx, dword [esi]
mov eax, dword [ebx]
call fcn.0050ae60
jmp 0x507aa3
lea eax, [esi + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
cmp eax, edi
je 0x507abe
push eax
push ebx
mov dword [esp + 0x4c], eax
call fcn.00540dcb
add esp, 8
test al, al
je 0x527eeb
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 0x507abe
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 0x507a50
push ebx
push eax
mov dword [esp + 0x4c], eax
call fcn.00540dcb
add esp, 8
test al, al
je 0x527f39
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 0x507abe
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 0x507a50
cmp edx, edi
jne 0x527f85
cmp eax, edi
jne 0x507b41
jmp 0x507af9
xor edi, edi
xor eax, eax
jmp 0x507b33
or eax, 0xffffffff
xor edi, edi
jmp 0x507b33
mov ecx, dword [esi]
mov eax, dword [ebx]
call fcn.0050ae60
jmp 0x507b33
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], esi
mov dword [esi + 0x18], edi
jmp 0x507b50
mov ebx, esi
jmp 0x507b50
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + ecx*4 + 8]
movzx eax, word [edx + 8]
cmp ax, 0x4a
je 0x527fc7
cmp ax, 0x49
je 0x527fc7
add dword [esp + 0x10], 4
jmp 0x507b75
add dword [esp + 0x10], 5
jmp 0x507b75
cmp ax, 0x3f
jg 0x507b8b
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x507b8b
push eax
call 0x540dad
jmp 0x507b8b
xor esi, esi
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x52800f
push eax
call 0x54a3c0
inc esi
cmp esi, dword [esp + 0xc4]
jb 0x527ff7
jmp 0x507ba4
mov eax, dword [edi + 4]
lea edx, [esp + 0x80]
push edx
push eax
call 0x57150f
mov byte [edi + 9], 0
jmp 0x507c84
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 0x55c337
lea ecx, [esp + 0xd0]
push ecx
call 0x549069
lea ecx, [esp + 0xbc]
call fcn.0050c9c0
jmp 0x528a89
xor eax, eax
jmp 0x507c7b
call fcn.0050a390
cmp ebx, dword [edi]
jb 0x528077
jmp 0x507caf
mov eax, dword [eax + 0x38]
jmp 0x507cd2
mov ecx, dword [eax + 4]
mov esi, dword [ecx + 0x38]
jmp 0x507cf9
push eax
call 0x540dad
mov dword [ebx + 0xc], 0
jmp 0x507d0f
mov ecx, dword [ebx]
test ecx, ecx
je 0x507d1b
push ecx
call dword [0x482430]
mov edx, dword [ebx]
push edx
call fcn.0050eddc
add esp, 4
jmp 0x507d3f
mov eax, dword [ebx]
test eax, eax
je 0x507d3f
push eax
call 0x540d8e
jmp 0x507d3f
mov eax, ebx
call fcn.0050be70
jmp 0x507d3f
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
push ecx
call fcn.0050eddc
mov edx, dword [ebx]
add esp, 4
push edx
call fcn.0050eddc
add esp, 4
jmp 0x507d3f
mov eax, dword [ebx]
test eax, eax
je 0x507d3f
push eax
call 0x548fd9
jmp 0x507d3f
dec eax
cmp eax, 0xb
ja 0x507d8b
jmp dword [eax*4 + 0x42aede]
xor eax, eax
jmp 0x507d88
mov eax, dword [eax + 0x38]
jmp 0x507da3
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0x10]
mov byte [eax], 0
call fcn.00506b40
mov dword [esi + 8], 1
mov dword [esi], 0
jmp 0x507d8b
mov eax, esi
call fcn.005018c0
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x94], ecx
jmp 0x507dad
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x38]
jmp 0x507dba
mov eax, esi
call fcn.005018c0
add eax, 0x20
push eax
lea ebx, [esp + 0xa4]
call fcn.00506a80
jmp 0x507dc4
mov eax, dword [edi + 4]
mov esi, dword [eax + 0x38]
test eax, eax
je 0x52831b
push eax
call 0x54a8f1
mov dword [edi + 4], esi
mov byte [edi + 9], 0
jmp 0x507ddb
mov byte [edi + 9], 1
jmp 0x507ebc
push eax
call 0x540dad
mov dword [esi + 0x2c], 0
jmp 0x507e02
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x507e0e
push ecx
call dword [0x482430]
mov eax, dword [esi + 0x20]
push eax
call fcn.0050eddc
add esp, 4
jmp 0x507e32
mov eax, dword [esi + 0x20]
test eax, eax
je 0x507e32
push eax
call 0x540d8e
jmp 0x507e32
lea eax, [esi + 0x20]
call fcn.0050be70
jmp 0x507e32
mov ecx, dword [esi + 0x20]
mov edx, dword [ecx + 4]
push edx
call fcn.0050eddc
mov eax, dword [esi + 0x20]
add esp, 4
push eax
call fcn.0050eddc
add esp, 4
jmp 0x507e32
mov eax, dword [esi + 0x20]
test eax, eax
je 0x507e32
push eax
call 0x548fd9
jmp 0x507e32
mov edx, dword [ebx]
push edx
call fcn.0050eddc
mov eax, dword [ebx + 0xc]
add esp, 4
push eax
call fcn.0050eddc
add esp, 4
jmp 0x507e58
mov ecx, dword [esi]
test ecx, ecx
je 0x507e74
push ecx
call dword [0x482430]
mov ecx, dword [esi]
push ecx
call fcn.0050eddc
add esp, 4
jmp 0x507e98
mov eax, dword [esi]
test eax, eax
je 0x507e98
push eax
call 0x540d8e
jmp 0x507e98
mov eax, esi
call fcn.0050be70
jmp 0x507e98
mov edx, dword [esi]
mov eax, dword [edx + 4]
push eax
call fcn.0050eddc
mov ecx, dword [esi]
add esp, 4
push ecx
call fcn.0050eddc
add esp, 4
jmp 0x507e98
mov eax, dword [esi]
test eax, eax
je 0x507e98
push eax
call 0x548fd9
jmp 0x507e98
mov ecx, dword [ecx + 0x38]
jmp 0x507ed3
mov eax, dword [eax + 0x38]
jmp 0x507eea
mov edx, dword [eax + 8]
mov eax, dword [edx + 0x38]
jmp 0x507f06
push eax
call 0x540dad
mov dword [ebx + 0xc], 0
jmp 0x507f1f
mov ecx, dword [ebx]
test ecx, ecx
je 0x507f2b
push ecx
call dword [0x482430]
mov ecx, dword [ebx]
push ecx
call fcn.0050eddc
add esp, 4
jmp 0x507f4f
mov eax, dword [ebx]
test eax, eax
je 0x507f4f
push eax
call 0x540d8e
jmp 0x507f4f
mov eax, ebx
call fcn.0050be70
jmp 0x507f4f
mov edx, dword [ebx]
mov eax, dword [edx + 4]
push eax
call fcn.0050eddc
mov ecx, dword [ebx]
add esp, 4
push ecx
call fcn.0050eddc
add esp, 4
jmp 0x507f4f
mov eax, dword [ebx]
test eax, eax
je 0x507f4f
push eax
call 0x548fd9
jmp 0x507f4f
dec eax
cmp eax, 0xb
ja 0x507f71
jmp dword [eax*4 + 0x42af0e]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0x38]
jmp 0x507f86
mov eax, dword [0x4a7f38]
mov esi, dword [eax + 8]
push eax
call 0x56da90
mov ecx, esi
mov dword [0x4a7f38], ecx
mov byte [0x4a7f3d], 0
jmp 0x507f9d
mov ebx, dword [esp + 0x64]
mov byte [0x4a7f3d], 1
jmp 0x5080a7
push eax
mov ecx, ebx
call fcn.00509000
jmp 0x507fd9
mov ecx, dword [edi]
push ecx
call fcn.0050eddc
mov edx, dword [edi + 0xc]
add esp, 4
push edx
call fcn.0050eddc
add esp, 4
jmp 0x507ffe
mov ecx, dword [ebx]
test ecx, ecx
je 0x50801a
push ecx
call dword [0x482430]
mov eax, dword [ebx]
push eax
call fcn.0050eddc
add esp, 4
jmp 0x50803e
mov eax, dword [ebx]
test eax, eax
je 0x50803e
push eax
call 0x540d8e
jmp 0x50803e
mov eax, ebx
call fcn.0050be70
jmp 0x50803e
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
push edx
call fcn.0050eddc
mov eax, dword [ebx]
add esp, 4
push eax
call fcn.0050eddc
add esp, 4
jmp 0x50803e
mov eax, dword [ebx]
test eax, eax
je 0x50803e
push eax
call 0x548fd9
jmp 0x50803e
push eax
call 0x540dad
mov dword [esp + 0xac], 0
jmp 0x5080cc
mov esi, dword [esp + 0xa0]
test esi, esi
je 0x508100
push esi
call dword [0x482430]
push esi
call fcn.0050eddc
add esp, 4
jmp 0x508100
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x508100
push eax
call 0x540d8e
jmp 0x508100
lea eax, [esp + 0xa0]
call fcn.0050be70
jmp 0x508100
mov esi, dword [esp + 0xa0]
mov edx, dword [esi + 4]
push edx
call fcn.0050eddc
add esp, 4
push esi
call fcn.0050eddc
add esp, 4
jmp 0x508100
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x508100
push eax
call 0x548fd9
jmp 0x508100
push eax
call 0x540dad
mov dword [esp + 0x8c], 0
mov edx, 1
xor ecx, ecx
jmp 0x50812b
cmp dword [esp + 0x80], ecx
je 0x508158
mov esi, dword [esp + 0x80]
push esi
call dword [0x482430]
push esi
call fcn.0050eddc
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x508158
cmp dword [esp + 0x80], ecx
je 0x508158
mov eax, dword [esp + 0x80]
push eax
call 0x540d8e
mov edx, 1
xor ecx, ecx
jmp 0x508158
lea eax, [esp + 0x80]
call fcn.0050be70
mov edx, 1
xor ecx, ecx
jmp 0x508158
mov esi, dword [esp + 0x80]
mov ecx, dword [esi + 4]
push ecx
call fcn.0050eddc
add esp, 4
push esi
call fcn.0050eddc
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x508158
cmp dword [esp + 0x80], ecx
je 0x508158
mov edx, dword [esp + 0x80]
push edx
call 0x548fd9
mov edx, 1
xor ecx, ecx
jmp 0x508158
push eax
call 0x540dad
mov dword [esp + 0x2c], 0
mov edx, 1
xor ecx, ecx
jmp 0x508164
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x508195
push eax
call dword [0x482430]
mov eax, dword [esp + 0x20]
push eax
call fcn.0050eddc
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x508195
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x508195
push eax
call 0x540d8e
mov edx, 1
xor ecx, ecx
jmp 0x508195
lea eax, [esp + 0x20]
call fcn.0050be70
mov edx, 1
xor ecx, ecx
jmp 0x508195
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 4]
push edx
call fcn.0050eddc
mov eax, dword [esp + 0x24]
add esp, 4
push eax
call fcn.0050eddc
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x508195
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x508195
push eax
call 0x548fd9
mov edx, 1
xor ecx, ecx
jmp 0x508195
mov edx, dword [edi]
push edx
call fcn.0050eddc
mov eax, dword [edi + 0xc]
add esp, 4
push eax
call fcn.0050eddc
add esp, 4
jmp 0x5081f3
mov ecx, dword [esi]
test ecx, ecx
je 0x50820f
push ecx
call dword [0x482430]
mov ecx, dword [esi]
push ecx
call fcn.0050eddc
add esp, 4
jmp 0x508233
mov eax, dword [esi]
test eax, eax
je 0x508233
push eax
call 0x540d8e
jmp 0x508233
mov eax, esi
call fcn.0050be70
jmp 0x508233
mov edx, dword [esi]
mov eax, dword [edx + 4]
push eax
call fcn.0050eddc
mov ecx, dword [esi]
add esp, 4
push ecx
call fcn.0050eddc
add esp, 4
jmp 0x508233
mov eax, dword [esi]
test eax, eax
je 0x508233
push eax
call 0x548fd9
jmp 0x508233
mov eax, dword [esp + 0x7c]
push eax
push 0x70
mov ecx, dword [ebp + 8]
push ecx
call 0x55c337
lea esi, [esp + 0x20]
call fcn.00506b40
lea ecx, [esp + 0x60]
call fcn.0052ea4d
lea ecx, [esp + 0x30]
call fcn.0050e860
mov eax, 1
jmp 0x50825f