Function at 0x4e0640
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.004e7ed5
add esp, 4
mov dword [esp + 0x34], eax
add eax, 1
je 0x503ac9
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.004e831a
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.004e7b70
add esp, 0xc
push 4
call fcn.004e831a
add esp, 4
test eax, eax
je 0x503ad3
mov dword [eax], 1
mov esi, dword [ebp + 8]
cmp dword [esi + 0x140], 0
mov dword [esp + 0x3c], eax
je 0x503bb5
cmp dword [eax], 1
jg 0x503ada
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
push eax
push ecx
call dword [fcn.00482640]
mov eax, dword [esi + 0x13c]
test eax, eax
jne 0x503b44
mov edx, dword [ebp + 8]
mov esi, dword [edx + 0x134]
test esi, esi
je 0x503bb5
mov dword [esp + 0x1c], esi
mov edi, edi
mov edx, dword [esi + 4]
cmp edx, dword [esp + 0x34]
jne 0x4e1647
test edx, edx
jbe 0x4e075b
mov ecx, dword [esp + 0x30]
mov eax, dword [esi]
jmp 0x4e0740
mov si, word [eax]
cmp si, word [ecx]
jne 0x4e1643
add eax, 2
add ecx, 2
sub edx, 1
jne 0x4e0740
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
add dword [eax], 0xffffffff
jne 0x4e077e
mov eax, dword [esp + 0x30]
push eax
call fcn.004e7eef
mov ecx, dword [esp + 0x40]
add esp, 4
push ecx
call fcn.004e7eef
add esp, 4
mov eax, esi
test eax, eax
je 0x503bbe
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x74], edx
mov edx, dword [eax + 0x10]
mov eax, dword [edi]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x7c], 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], 0x487630
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x64], 0x48af14
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], ecx
jne 0x503b38
inc eax
mov dword [esp + 0x84], edx
mov edx, eax
mov dword [esp + 0x18], ecx
xor esi, esi
mov dword [esp + 0x58], 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 0x4e082f
inc eax
jmp 0x4e081b
sub ecx, 0x47
je 0x503c1e
sub ecx, 1
jne 0x503bf5
test esi, esi
jne 0x503c17
mov dword [esp + 0x14], eax
inc eax
mov dword [edi], eax
mov eax, dword [esp + 0x7c]
cmp eax, dword [0x4a8e90]
jg 0x503c24
cmp eax, ecx
jle 0x503c24
shl eax, 4
add eax, dword [0x4a8ec4]
mov dword [esp + 0x60], eax
cmp dword [esp + 0x74], ecx
mov dword [esp + 0x5c], ecx
jle 0x4e0a4a
mov dword [esp + 0x10], 3
mov dword [esp + 0x80], ecx
cmp edx, dword [esp + 0x14]
jae 0x4e0a4a
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x10]
inc dword [esp + 0x5c]
lea eax, [eax + ecx*4]
mov ecx, dword [eax]
xor edi, edi
xor bl, bl
cmp word [ecx + 8], di
je 0x503c2d
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + edx*4]
cmp word [edx + 8], 0x33
je 0x4e08d0
xor bl, bl
mov esi, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
cmp esi, eax
je 0x4e165b
push 1
call fcn.004e831a
add esp, 4
test eax, eax
je 0x503c65
mov byte [eax], bl
mov edx, dword [esp + 0x68]
mov dword [edx + esi*4], eax
inc esi
mov dword [esp + 0x6c], esi
test bl, bl
jne 0x503c6c
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x503d76
mov eax, dword [esp + 0x28]
cmp eax, 8
je 0x503d89
cmp eax, 0xa
je 0x503dae
cmp eax, 5
je 0x503dc5
cmp eax, 0xb
je 0x503dd3
cmp eax, 0xc
je 0x503df5
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x28], 1
mov dword [esp + 0x20], 0
cmp esi, eax
je 0x4e16b8
mov edi, dword [esp + 0x34]
push 0x10
call fcn.004e831a
add esp, 4
test eax, eax
je 0x503fdb
mov ebx, eax
mov eax, dword [esp + 0x28]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], 0
cmp eax, 1
jne 0x503e0c
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 + 0x60]
push eax
push ecx
mov ecx, dword [ebp + 8]
call fcn.004e1750
test eax, eax
jne 0x5051d7
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x60]
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 0x503fe2
mov edx, dword [esp + 0x58]
cmp edx, ebx
je 0x4e0a4a
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 0x504031
lea eax, [edx + 1]
cmp eax, dword [esp + 0x14]
je 0x504031
mov esi, dword [esp + 0x10]
mov edx, eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x58], edx
mov eax, dword [eax + 4]
mov eax, dword [eax + esi*4]
cmp word [eax + 8], cx
jne 0x4e0a31
inc dword [esp + 0x10]
mov eax, dword [esp + 0x80]
inc eax
cmp eax, dword [esp + 0x74]
mov dword [esp + 0x80], eax
jl 0x4e0892
mov ebx, dword [esp + 0x5c]
cmp ebx, dword [esp + 0x44]
jl 0x5051c4
cmp ebx, dword [esp + 0x74]
jg 0x5051c4
cmp edx, dword [esp + 0x14]
jne 0x5051c4
mov eax, dword [esp + 0x7c]
xor esi, esi
xor ecx, ecx
cmp eax, esi
mov dword [esp + 0x10], 3
mov dword [esp + 0x1c], esi
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
jl 0x504043
cmp byte [0x4a7ce5], 0
jne 0x50404c
push 0xc
call fcn.004e831a
add esp, 4
cmp eax, esi
je 0x5040ef
mov edi, eax
mov dword [edi], esi
mov edx, dword [esp + 0x50]
mov dword [edi + 4], edx
cmp dword [esp + 0x50], esi
jl 0x50406d
mov eax, dword [esp + 0x4c]
cmp eax, esi
jne 0x504075
mov dword [edi], esi
mov ecx, dword [0x4a7ce0]
mov dword [edi + 8], ecx
mov dword [0x4a7ce0], edi
mov eax, dword [esp + 0x4c]
mov edx, 1
add dword [0x4a7cdc], edx
cmp eax, esi
jne 0x5040f6
cmp dword [esp + 0x74], edx
jl 0x4e0fab
mov dword [esp + 0x80], edx
lea esp, [esp]
mov ecx, dword [esp + 0x60]
mov ecx, dword [ecx + 4]
mov esi, dword [esp + 0x10]
xor ebx, ebx
or edx, 0xffffffff
mov word [esp + 0xd8], dx
mov dword [esp + 0xc0], 0x485234
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], ebx
mov dword [esp + 0x84], 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 0x504157
mov edx, dword [esp + 0x80]
cmp edx, dword [esp + 0x5c]
jg 0x5041be
mov edi, dword [esp + 0x68]
mov edx, dword [esp + 0x1c]
mov edi, dword [edi + edx*4]
or eax, 0x200
cmp byte [edi], 0
jne 0x50418e
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 + 0x4c], eax
mov eax, dword [eax + ecx]
mov edi, dword [eax]
cmp dword [0x4a7cdc], ebx
je 0x504292
cmp byte [0x4a7ce5], 0
mov dword [esp + 0x18], edx
jne 0x5042a5
mov ebx, dword [0x4a7ce0]
xor eax, eax
mov dword [esp + 0x14], ebx
cmp dword [ebx], eax
je 0x4e0cc0
test byte [0x4a937c], 1
mov byte [esp + 0x4b], al
je 0x5042b3
mov dword [0x4a9378], eax
mov dword [0x4a9374], eax
mov eax, 0x4a935c
mov dword [esp + 0x78], eax
mov dword [esp + 0x54], eax
mov edi, edi
mov eax, dword [edi + 4]
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
test eax, eax
je 0x5042d8
test edx, edx
je 0x5042e0
cmp eax, edx
jb 0x504300
test eax, eax
jbe 0x5042f1
mov ecx, dword [ecx]
mov edx, eax
mov eax, dword [edi]
mov edi, edi
mov bx, word [eax]
cmp bx, word [ecx]
jne 0x4e0c58
add eax, 2
add ecx, 2
sub edx, 1
jne 0x4e0c40
jmp 0x5042ed
mov dx, bx
mov ebx, dword [esp + 0x14]
cmp dx, word [ecx]
jb 0x5042f8
mov eax, 1
test eax, eax
jl 0x50430e
jle 0x5043a9
mov eax, dword [ebx]
mov eax, dword [eax + 0x1c]
test eax, eax
jne 0x504360
cmp byte [esp + 0x4b], 0
mov eax, dword [ebx]
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0x78]
mov dword [edx + 0x1c], ecx
mov eax, dword [ebx]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x54]
mov dword [edx + 0x18], ecx
mov eax, dword [ebx]
mov ecx, dword [0x4a9378]
mov dword [eax + 0x18], ecx
mov edx, dword [ebx]
mov eax, dword [0x4a9374]
mov dword [edx + 0x1c], eax
jne 0x5043b3
and esi, 0xff00
push 0x20
mov dword [esp + 0x48], esi
call fcn.004e831a
add esp, 4
test eax, eax
je 0x5043d6
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.004e831a
add esp, 4
xor ecx, ecx
mov dword [esi], eax
push 4
mov word [eax], cx
call fcn.004e831a
add esp, 4
test eax, eax
je 0x5043cf
mov dword [eax], 1
mov dword [esi + 0xc], eax
mov ebx, esi
cmp ebx, edi
je 0x4e0d62
mov eax, dword [ebx + 0xc]
cmp dword [eax], 1
jg 0x5043dd
mov esi, dword [edi + 4]
lea eax, [esi + 1]
mov dword [ebx + 4], esi
cmp dword [ebx + 8], eax
jb 0x5043fc
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.004e7b70
add esp, 0xc
mov eax, dword [esp + 0x44]
push 0x10
mov dword [ebx + 0x10], eax
call fcn.004e831a
xor ecx, ecx
add esp, 4
cmp eax, ecx
je 0x4e0dcd
mov edi, dword [esp + 0x18]
mov esi, eax
mov eax, dword [edi + 8]
mov dword [esi + 8], eax
dec eax
mov dword [esp + 0x54], esi
mov dword [esi + 0xc], ecx
cmp eax, 0xb
ja 0x4e0dc9
jmp dword [eax*4 + 0x40ab18]
mov ecx, dword [esp + 0x54]
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 0x4e170b
test byte [0x4a937c], 1
je 0x5045b0
mov eax, 0x4a935c
mov dword [0x4a9378], edi
mov dword [0x4a9374], edi
mov dword [esp + 0x78], eax
mov dword [esp + 0x54], eax
lea esp, [esp]
mov eax, dword [ebx + 4]
mov edx, dword [esi + 4]
cmp eax, edi
je 0x5045d3
cmp edx, edi
je 0x5045db
cmp eax, edx
jb 0x5045fb
cmp eax, edi
jbe 0x5045ea
mov ecx, dword [esi]
mov edx, eax
mov eax, dword [ebx]
lea esp, [esp]
mov di, word [eax]
cmp di, word [ecx]
jne 0x4e0e58
add eax, 2
add ecx, 2
sub edx, 1
jne 0x4e0e40
jmp 0x5045e8
mov dx, word [eax]
cmp dx, word [ecx]
jb 0x5045f1
mov eax, 1
xor edi, edi
cmp eax, edi
jl 0x504609
jle 0x4e0e86
lea eax, [esi + 0x1c]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
cmp eax, edi
jne 0x504668
mov edx, dword [esi + 0x18]
mov eax, dword [esp + 0x54]
mov dword [eax + 0x1c], edx
mov ecx, dword [esi + 0x1c]
mov edx, dword [esp + 0x78]
mov dword [edx + 0x18], ecx
mov eax, dword [0x4a9378]
mov edx, dword [esi + 4]
mov dword [esi + 0x18], eax
mov ecx, dword [0x4a9374]
mov dword [esi + 0x1c], ecx
mov eax, dword [ebx + 4]
cmp eax, edi
je 0x5046b6
cmp edx, edi
je 0x5046be
cmp eax, edx
jb 0x5046de
cmp eax, edi
jbe 0x5046cd
mov ecx, dword [esi]
mov edx, eax
mov eax, dword [ebx]
mov di, word [eax]
cmp di, word [ecx]
jne 0x4e0eef
add eax, 2
add ecx, 2
sub edx, 1
jne 0x4e0ed7
jmp 0x5046cb
mov dx, word [eax]
cmp dx, word [ecx]
jb 0x5046d4
mov eax, 1
xor edi, edi
cmp eax, edi
jl 0x5046ec
jle 0x5046fd
mov ecx, dword [0x4a9374]
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 + 0x60]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + eax + 4]
cmp word [edx + 8], 0x41
je 0x504704
add dword [esp + 0x10], 2
mov ax, word [esp + 0xd8]
inc dword [esp + 0x1c]
cmp ax, 0x30
jge 0x504738
cmp dword [esp + 0xc8], 0
mov dword [esp + 0xc0], 0x485234
ja 0x50475c
mov ecx, dword [esp + 0xc4]
push ecx
mov dword [esp + 0xcc], 0
call fcn.004e7eef
mov eax, dword [esp + 0x84]
inc eax
add esp, 4
cmp eax, dword [esp + 0x74]
mov dword [esp + 0x80], eax
jle 0x4e0b10
mov ebx, dword [esp + 0x5c]
mov esi, dword [ebp + 8]
mov edx, dword [esi]
xor eax, eax
mov dword [esi + 0x148], ebx
mov dword [esp + 0x88], eax
mov dword [esp + 0x94], eax
mov byte [esp + 0x98], al
mov dword [esp + 0x9c], eax
mov byte [esp + 0xa0], al
mov dword [esp + 0xa8], eax
mov dword [esp + 0xb4], eax
mov byte [esp + 0xb8], al
mov eax, dword [edx + 4]
cmp byte [eax + esi + 0xd], 0
mov ecx, 1
lea edi, [eax + esi + 4]
mov dword [esp + 0x90], ecx
mov dword [esp + 0xb0], ecx
jne 0x504785
push 0x40
call fcn.004e831a
xor ecx, ecx
add esp, 4
cmp eax, ecx
je 0x5047d7
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 eax, dword [esp + 0x7c]
mov edx, dword [esi + 0xf4]
mov ebx, dword [esi + 0x16c]
inc eax
lea edi, [esi + 0x16c]
push eax
mov ecx, esi
mov dword [esp + 0x50], edx
call fcn.004e0160
cmp ebx, dword [edi]
jb 0x5047de
mov ecx, dword [esp + 0x4c]
mov edi, esi
mov edx, dword [edi]
mov dword [edi + 0xf4], ecx
mov eax, dword [edx + 4]
cmp byte [eax + edi + 0xd], 0
lea eax, [eax + edi + 4]
jne 0x5047ec
mov eax, dword [eax + 4]
cmp byte [eax + 0x10], 0
je 0x504a14
mov edx, dword [ebp + 0x14]
mov byte [edx], 1
mov eax, dword [edi]
mov ecx, dword [eax + 4]
cmp byte [ecx + edi + 0xd], 0
lea eax, [ecx + edi + 4]
jne 0x5047f7
mov esi, dword [eax + 4]
mov ebx, dword [ebp + 0x10]
cmp ebx, esi
je 0x4e115d
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x504802
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x504814
cmp eax, 0xa
je 0x504835
cmp eax, 5
je 0x50484a
cmp eax, 0xb
je 0x504856
cmp eax, 0xc
je 0x504874
mov dword [ebx + 8], 1
mov dword [ebx], 0
mov eax, dword [esi + 8]
mov dword [ebx + 8], eax
cmp eax, 4
jne 0x504889
push 0x10
call fcn.004e831a
add esp, 4
test eax, eax
je 0x504a05
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 0x504a0c
cmp byte [eax + 0x18], 0
jne 0x504a34
cmp byte [esi + 9], 0
jne 0x504a4a
mov eax, dword [esi + 4]
cmp byte [eax + 0x30], 0
jne 0x504a55
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 0x504a71
cmp byte [edi + 8], 0
jne 0x504a91
mov esi, dword [edi + 4]
mov edx, dword [esi + 0x38]
mov dword [esp + 0x4c], edx
test esi, esi
je 0x4e1285
mov eax, dword [esi + 0x2c]
lea ebx, [esi + 0x20]
test eax, eax
jne 0x504a9a
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x504aac
cmp eax, 0xa
je 0x504acd
cmp eax, 5
je 0x504ae2
cmp eax, 0xb
je 0x504aee
cmp eax, 0xc
je 0x504b0c
mov dword [ebx + 8], 1
mov dword [ebx], 0
mov ebx, dword [esi + 0xc]
test ebx, ebx
je 0x4e123c
mov eax, dword [ebx + 0xc]
dec dword [eax]
mov ecx, dword [ebx + 0xc]
cmp dword [ecx], 0
je 0x504b21
push ebx
call fcn.004e7eef
add esp, 4
mov dword [esi + 0xc], 0
mov eax, dword [esi + 8]
cmp eax, 8
je 0x504b3d
cmp eax, 0xa
je 0x504b5e
cmp eax, 5
je 0x504b73
cmp eax, 0xb
je 0x504b7f
cmp eax, 0xc
je 0x504b9d
push esi
mov dword [esi + 8], 1
mov dword [esi], 0
call fcn.004e7eef
mov ebx, dword [ebp + 8]
add esp, 4
mov edx, dword [esp + 0x4c]
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 0x504bb2
mov edx, dword [esp + 0x9c]
mov dword [ecx + 0x14], edx
cmp byte [eax + 0xd], 0
mov eax, dword [eax + 8]
jne 0x504bba
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 + 0x4c], eax
jne 0x504bc2
mov eax, dword [eax + 8]
lea ebx, [eax + 0x20]
lea eax, [esp + 0xa8]
cmp ebx, eax
je 0x4e1345
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x504bcd
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x504bdf
cmp eax, 0xa
je 0x504c00
cmp eax, 5
je 0x504c15
cmp eax, 0xb
je 0x504c21
cmp eax, 0xc
je 0x504c3f
mov eax, dword [esp + 0xb0]
mov dword [ebx], 0
mov dword [ebx + 8], eax
cmp eax, 1
jne 0x504c54
mov eax, dword [esp + 0xa8]
mov dword [ebx], eax
mov edi, dword [esp + 0x6c]
mov eax, dword [esp + 0x4c]
cmp byte [eax + 0xd], 0
jne 0x504e37
mov eax, dword [eax + 8]
mov byte [eax + 0x30], 0
cmp byte [0x4a7ce5], 0
jne 0x504e42
mov ecx, dword [0x4a7ce0]
cmp byte [0x4a7ce4], 0
jne 0x504e64
mov esi, dword [ecx]
mov edx, dword [ecx + 8]
mov dword [esp + 0x44], edx
mov dword [esp + 0x4c], ecx
test esi, esi
je 0x4e1459
mov eax, dword [esi + 0x18]
mov ebx, ecx
test eax, eax
je 0x4e13a2
push eax
call fcn.004e2400
mov eax, dword [esi + 0x1c]
test eax, eax
jne 0x504e74
cmp byte [esi + 0x10], 0
jne 0x4e1428
mov ebx, dword [esi + 0x14]
test ebx, ebx
je 0x4e1428
mov edi, dword [ebx + 0xc]
test edi, edi
je 0x4e13e2
mov eax, dword [edi + 0xc]
dec dword [eax]
mov eax, dword [edi + 0xc]
cmp dword [eax], 0
je 0x504e81
push edi
call fcn.004e7eef
add esp, 4
mov dword [ebx + 0xc], 0
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x504e9d
cmp eax, 0xa
je 0x504ebe
cmp eax, 5
je 0x504ed3
cmp eax, 0xb
je 0x504edf
cmp eax, 0xc
je 0x504efd
push ebx
mov dword [ebx + 8], 1
mov dword [ebx], 0
call fcn.004e7eef
add esp, 4
mov eax, dword [esi + 0xc]
dec dword [eax]
mov ecx, dword [esi + 0xc]
cmp dword [ecx], 0
jne 0x4e144c
mov edx, dword [esi]
push edx
call fcn.004e7eef
mov eax, dword [esi + 0xc]
add esp, 4
push eax
call fcn.004e7eef
add esp, 4
push esi
call fcn.004e7eef
mov edi, dword [esp + 0x70]
add esp, 4
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x68]
push ecx
call fcn.004e7eef
mov edx, dword [esp + 0x48]
add esp, 4
mov dword [0x4a7ce0], edx
mov byte [0x4a7ce5], 0
mov eax, dword [esp + 0xdc]
dec dword [0x4a7cdc]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x148], eax
mov eax, dword [esp + 0xb4]
test eax, eax
jne 0x504f12
mov eax, dword [esp + 0xb0]
cmp eax, 8
je 0x504f28
cmp eax, 0xa
je 0x504f4c
cmp eax, 5
je 0x504f66
cmp eax, 0xb
je 0x504f77
cmp eax, 0xc
je 0x504f98
mov eax, dword [esp + 0x94]
mov esi, dword [esp + 0x90]
xor ecx, ecx
mov edx, 1
mov dword [esp + 0xb0], edx
mov dword [esp + 0xa8], ecx
cmp eax, ecx
jne 0x504fb2
cmp esi, 8
je 0x504fcd
cmp esi, 0xa
je 0x504ffb
cmp esi, 5
je 0x50501f
cmp esi, 0xb
je 0x505035
cmp esi, 0xc
je 0x50505b
mov eax, dword [esp + 0x2c]
cmp eax, ecx
jne 0x50507f
mov eax, dword [esp + 0x28]
cmp eax, 8
je 0x505097
cmp eax, 0xa
je 0x5050c1
cmp eax, 5
je 0x5050dd
cmp eax, 0xb
je 0x5050f0
cmp eax, 0xc
je 0x505117
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], ecx
cmp edi, ecx
jbe 0x4e1588
xor esi, esi
mov ecx, dword [ebx + esi*4]
push ecx
call fcn.004e7eef
inc esi
add esp, 4
cmp esi, edi
jb 0x4e1577
mov edx, dword [esp + 0x68]
push edx
call fcn.004e7eef
add esp, 4
cmp dword [esp + 0x38], 0
jbe 0x4e1622
xor ebx, ebx
mov eax, dword [esp + 0x34]
mov esi, dword [eax + ebx*4]
test esi, esi
je 0x4e161b
mov edi, dword [esi + 0xc]
test edi, edi
je 0x4e15d5
mov eax, dword [edi + 0xc]
dec dword [eax]
mov ecx, dword [edi + 0xc]
cmp dword [ecx], 0
je 0x505133
push edi
call fcn.004e7eef
add esp, 4
mov dword [esi + 0xc], 0
mov eax, dword [esi + 8]
cmp eax, 8
je 0x50514f
cmp eax, 0xa
je 0x505170
cmp eax, 5
je 0x505185
cmp eax, 0xb
je 0x505191
cmp eax, 0xc
je 0x5051af
push esi
mov dword [esi + 8], 1
mov dword [esi], 0
call fcn.004e7eef
add esp, 4
inc ebx
cmp ebx, dword [esp + 0x38]
jb 0x4e15a2
mov edx, dword [esp + 0x34]
push edx
call fcn.004e7eef
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 0x4e0720
jmp 0x503bb5
add eax, eax
cmp eax, 4
jae 0x4e1667
mov eax, 4
xor ecx, ecx
mov dword [esp + 0x70], eax
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004e831a
mov edx, dword [esp + 0x6c]
add esp, 4
lea ecx, [esi*4]
push ecx
push edx
push eax
mov dword [esp + 0x58], eax
call fcn.004e7b70
mov eax, dword [esp + 0x74]
add esp, 0xc
push eax
call fcn.004e7eef
mov ecx, dword [esp + 0x50]
add esp, 4
mov dword [esp + 0x68], ecx
jmp 0x4e08e0
add eax, eax
cmp eax, 4
jae 0x4e16c4
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.004e831a
mov ebx, dword [esp + 0x38]
mov edi, eax
add esp, 4
lea eax, [esi*4]
push eax
push ebx
push edi
call fcn.004e7b70
add esp, 0xc
push ebx
call fcn.004e7eef
add esp, 4
mov dword [esp + 0x34], edi
jmp 0x4e0965
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], edi
jmp 0x4e0f23
mov eax, 8
jmp 0x4e0682
xor eax, eax
jmp 0x4e06ce
mov eax, dword [esp + 0x3c]
dec dword [eax]
lea esi, [esp + 0x30]
call fcn.004d7fe0
mov eax, dword [esp + 0x34]
inc eax
push eax
call 0x51d147
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.004e831a
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.004e7b70
mov dword [esp + 0x3c], esi
mov esi, dword [ebp + 8]
add esp, 0xc
jmp 0x4e06eb
push edx
mov edx, dword [ebp + 8]
push 0x6f
push edx
jmp 0x5051d2
mov esi, dword [esi + 0x140]
sub esi, 1
js 0x503bb5
mov dword [esp + 0x7c], eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x5c], esi
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x7c]
add eax, edx
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [ecx + eax*4]
lea esi, [esp + 0x30]
mov dword [esp + 0x1c], eax
call fcn.004e2cb0
test eax, eax
jge 0x503b9c
mov edx, dword [esp + 0x1c]
dec edx
mov dword [esp + 0x5c], edx
jmp 0x503bab
jle 0x503bd2
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x5c]
cmp dword [esp + 0x74], ecx
jle 0x503b63
lea ecx, [esp + 0x30]
call fcn.004d9220
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
push eax
push edi
push ebx
push ecx
call 0x553d0e
jmp 0x4e1631
mov edx, dword [esp + 0x5c]
cmp dword [esp + 0x74], edx
jg 0x503bb5
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x1c]
mov esi, dword [eax + ecx*4]
lea ecx, [esp + 0x30]
call fcn.004d9220
jmp 0x4e077e
sub ecx, 0x37
jne 0x4e082c
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 0x5051d2
dec esi
inc eax
jmp 0x4e081b
inc esi
jmp 0x4e082c
mov dword [esp + 0x60], ecx
jmp 0x4e0875
mov ecx, dword [eax]
mov ecx, dword [ecx]
cmp ecx, 0x24
jne 0x503c41
mov bl, 1
jmp 0x503c4f
cmp ecx, 0x1e
jne 0x503fec
mov edi, 0x100
mov ecx, dword [eax + 4]
inc dword [esp + 0x10]
add eax, 4
cmp word [ecx + 8], 0
je 0x503c2d
jmp 0x4e08be
xor eax, eax
jmp 0x4e08f4
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x58]
mov eax, dword [edx + ecx*4]
cmp word [eax + 8], 0x33
jne 0x503ff8
mov esi, dword [eax]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
xor ecx, ecx
call fcn.004e2fe0
test al, al
je 0x504014
test dword [esp + 0x18], 0x100
je 0x503cd9
test edi, 0x100
jne 0x503cd9
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x58]
mov ecx, dword [edx + eax*4]
movsx edx, word [ecx + 0xa]
mov eax, dword [ebp + 8]
push edx
push 0xb0
push eax
jmp 0x5051d2
mov eax, dword [esp + 0x1c]
mov edi, 1
add dword [esp + 0x58], edi
add dword [esp + 0x10], edi
cmp dword [eax + 8], 5
jne 0x503d4a
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x58]
mov edx, dword [edx + eax*4]
cmp word [edx + 8], 0x4e
jne 0x503d4a
mov edx, dword [ebp + 8]
push 0
lea eax, [esp + 0x20]
push eax
push edx
lea eax, [esp + 0x64]
call fcn.004e3220
test eax, eax
je 0x503d4a
lea esi, [esp + 0x20]
call fcn.004dfec0
lea ecx, [esp + 0x64]
call fcn.0050ae22
lea ecx, [esp + 0x30]
call fcn.004e76e0
mov eax, edi
jmp 0x4e1631
lea esi, [esp + 0x20]
call fcn.004dfec0
mov eax, dword [esp + 0x1c]
push esi
lea esi, [esp + 0x34]
mov dword [esp + 0x2c], 6
mov dword [esp + 0x24], eax
call fcn.004e2a00
mov ebx, dword [esp + 0x14]
jmp 0x4e09e6
push eax
call 0x51a2f6
mov dword [esp + 0x2c], 0
jmp 0x4e0914
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4e0945
push eax
call dword [0x48242c]
mov edx, dword [esp + 0x20]
push edx
call fcn.004e7eef
add esp, 4
jmp 0x4e0945
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4e0945
push eax
call 0x51b38f
jmp 0x4e0945
lea eax, [esp + 0x20]
call fcn.004e4f80
jmp 0x4e0945
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 4]
push ecx
call fcn.004e7eef
mov edx, dword [esp + 0x24]
add esp, 4
push edx
call fcn.004e7eef
add esp, 4
jmp 0x4e0945
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4e0945
push eax
call 0x521fb8
jmp 0x4e0945
dec eax
cmp eax, 0xb
ja 0x503ebf
jmp dword [eax*4 + 0x42e5fd]
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
jmp 0x4e099a
xor eax, eax
jmp 0x4e099c
add dword [esp + 0x10], 2
jmp 0x4e09e6
push 0xffffffffffffffff
push 0x91
jmp 0x5051ce
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 0x5051d2
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x58]
mov ecx, dword [edx + eax*4]
movsx edx, word [ecx + 0xa]
mov eax, dword [ebp + 8]
push edx
push 0x79
push eax
jmp 0x5051d2
mov ecx, dword [esi + 4]
mov edx, dword [ecx + edx*4]
movsx eax, word [edx + 0xa]
push eax
push 0x6f
jmp 0x5051ce
mov dword [esp + 0x50], esi
jmp 0x4e0a90
mov edx, dword [0x4a7ce0]
mov dword [edx], ecx
mov eax, dword [esp + 0x50]
mov ecx, dword [0x4a7ce0]
mov dword [ecx + 4], eax
mov byte [0x4a7ce5], 0
jmp 0x4e0ae1
mov dword [edi + 4], esi
jmp 0x4e0ac4
push 0x20
mov dword [esp + 0x1c], eax
call fcn.004e831a
add esp, 4
cmp eax, esi
je 0x504096
push eax
call 0x521ff6
jmp 0x504098
xor eax, eax
mov ecx, dword [esp + 0x18]
push ecx
mov esi, eax
mov dword [edi], eax
call fcn.004e4b50
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 0x529cb3
mov edx, dword [esi + 0x1c]
mov eax, dword [edi]
push edx
add eax, 0x1c
push eax
mov ecx, edi
call 0x529cb3
xor esi, esi
jmp 0x4e0ad2
xor edi, edi
jmp 0x4e0ad2
mov edi, eax
mov eax, dword [eax + 0x18]
cmp eax, esi
je 0x504112
push eax
lea ecx, [esp + 0x50]
call fcn.004e2400
mov edx, 1
mov eax, dword [edi + 0x1c]
cmp eax, esi
je 0x50412c
push eax
lea ecx, [esp + 0x50]
call fcn.004e2400
mov edx, 1
cmp byte [edi + 0x10], 0
jne 0x504147
mov ecx, dword [edi + 0x14]
cmp ecx, esi
je 0x504147
push edx
call fcn.004e4ee0
push edi
call 0x51a2f6
mov edx, 1
jmp 0x4e0af8
mov edi, dword [edx]
mov edi, dword [edi]
cmp edi, 0x24
je 0x504179
cmp edi, 0x1e
jne 0x50417d
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 0x504157
mov dword [esp + 0x10], esi
jmp 0x4e0b6d
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.0050c1fd
push eax
mov eax, dword [ecx]
push eax
call 0x535a98
test al, al
je 0x50479f
add esi, 2
mov dword [esp + 0x10], esi
jmp 0x4e0f44
lea ebx, [esp + 0xc0]
call fcn.004e3de0
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + 4]
mov dword [esp + 0x84], 0
mov esi, dword [edx + esi*4 + 8]
movzx eax, word [esi + 8]
cmp ax, 0x4a
je 0x5041fe
cmp ax, 0x49
je 0x5041fe
push esi
jmp 0x50421b
push esi
lea edi, [esp + 0xc4]
call fcn.004d98c0
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx*4 + 0xc]
push eax
lea edi, [esp + 0xc4]
call fcn.004d98c0
mov edi, 0x7f
lea esi, [esp + 0xd0]
call fcn.004d9700
push esi
lea edi, [esp + 0xc4]
call fcn.004d98c0
mov ecx, dword [ebp + 8]
push 0xffffffffffffffff
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x8c]
push eax
push edi
call fcn.004e1750
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x60]
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 + 0x4c], eax
or ecx, 0x200
mov eax, 1
lea edx, [esp + 0x20]
call fcn.004d85e0
jmp 0x4e0f25
push esi
mov eax, edi
push edx
mov edi, 0x4a7ccc
call fcn.004dae60
jmp 0x4e0f25
mov ecx, dword [0x4a7ce0]
mov ebx, dword [ecx + 8]
jmp 0x4e0bd8
or dword [0x4a937c], 1
push 0x4a935c
call 0x521ff6
push 0x429283
call fcn.004e8021
add esp, 4
xor eax, eax
jmp 0x4e0bf7
test edx, edx
jne 0x50430e
test eax, eax
jne 0x4e0c7b
jmp 0x4e0c28
mov ebx, dword [esp + 0x14]
xor eax, eax
jmp 0x4e0c6d
or eax, 0xffffffff
jmp 0x4e0c6d
mov ecx, dword [ecx]
mov eax, dword [edi]
call fcn.004e2ce0
jmp 0x4e0c6d
mov eax, dword [ebx]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4e0c88
push eax
push edi
call 0x51a311
add esp, 8
test al, al
je 0x50434b
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 0x4e0c88
mov edx, dword [ebx]
mov eax, dword [esp + 0x54]
mov dword [eax + 0x18], edx
mov eax, dword [ebx]
mov ecx, dword [eax + 0x18]
mov dword [ebx], ecx
jmp 0x4e0c0a
push edi
push eax
call 0x51a311
add esp, 8
test al, al
je 0x504390
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 0x4e0c88
mov eax, dword [ebx]
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebx]
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x78], eax
mov dword [ebx], edx
jmp 0x4e0c10
mov byte [esp + 0x4b], 1
jmp 0x4e0c88
mov ebx, dword [ebx]
test ebx, ebx
je 0x4e0cc0
mov ecx, dword [esp + 0x18]
mov ebx, dword [ebx + 0x14]
push ecx
call fcn.004dfe10
jmp 0x4e0f25
xor eax, eax
jmp 0x4e0d25
xor ebx, ebx
jmp 0x4e0d2a
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 0x4e0d62
push eax
call 0x51d147
mov dword [ebx + 8], eax
mov eax, dword [ebx]
test eax, eax
je 0x504418
push eax
call fcn.004e7eef
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.004e831a
add esp, 4
xor ecx, ecx
mov dword [ebx], eax
mov word [eax + esi*2], cx
jmp 0x4e0d4c
or dword [0x4a937c], 1
push 0x4a935c
call 0x521ff6
push 0x429283
call fcn.004e8021
add esp, 4
jmp 0x4e0df3
cmp edx, edi
jne 0x504609
cmp eax, edi
jne 0x4e0e75
jmp 0x4e0e26
xor edi, edi
xor eax, eax
jmp 0x4e0e6b
or eax, 0xffffffff
xor edi, edi
jmp 0x4e0e6b
mov ecx, dword [esi]
mov eax, dword [ebx]
call fcn.004e2ce0
jmp 0x4e0e6b
lea eax, [esi + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
cmp eax, edi
je 0x4e0e86
push eax
push ebx
mov dword [esp + 0x4c], eax
call 0x51a311
add esp, 8
test al, al
je 0x504652
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 0x4e0e86
add eax, 0x18
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x18], esi
mov dword [esp + 0x78], esi
mov esi, dword [ecx]
jmp 0x4e0e10
push ebx
push eax
mov dword [esp + 0x4c], eax
call 0x51a311
add esp, 8
test al, al
je 0x5046a0
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 0x4e0e86
add eax, 0x1c
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x1c], esi
mov dword [esp + 0x54], esi
mov esi, dword [ecx]
jmp 0x4e0e10
cmp edx, edi
jne 0x5046ec
cmp eax, edi
jne 0x4e0f10
jmp 0x4e0ec1
xor edi, edi
xor eax, eax
jmp 0x4e0f02
or eax, 0xffffffff
xor edi, edi
jmp 0x4e0f02
mov ecx, dword [esi]
mov eax, dword [ebx]
call fcn.004e2ce0
jmp 0x4e0f02
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], esi
mov dword [esi + 0x18], edi
jmp 0x4e0f1f
mov ebx, esi
jmp 0x4e0f1f
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + ecx*4 + 8]
movzx eax, word [edx + 8]
cmp ax, 0x4a
je 0x50472e
cmp ax, 0x49
je 0x50472e
add dword [esp + 0x10], 4
jmp 0x4e0f44
add dword [esp + 0x10], 5
jmp 0x4e0f44
cmp ax, 0x3f
jg 0x4e0f5a
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4e0f5a
push eax
call 0x51a2f6
jmp 0x4e0f5a
xor esi, esi
mov eax, dword [esp + 0xc4]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x504776
push eax
call 0x5233f2
inc esi
cmp esi, dword [esp + 0xc8]
jb 0x50475e
jmp 0x4e0f73
mov edx, dword [edi + 4]
lea ecx, [esp + 0x88]
push ecx
push edx
call 0x548de5
mov byte [edi + 9], 0
jmp 0x4e1054
mov edx, dword [esp + 0x60]
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 0x53522e
lea ecx, [esp + 0xd0]
push ecx
call 0x522053
lea ecx, [esp + 0xc0]
call fcn.004e5960
jmp 0x5051d7
xor eax, eax
jmp 0x4e104b
call fcn.004e34a0
cmp ebx, dword [edi]
jb 0x5047de
jmp 0x4e1081
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 0x38]
jmp 0x4e10a4
mov edx, dword [eax + 4]
mov esi, dword [edx + 0x38]
jmp 0x4e10cb
push eax
call 0x51a2f6
mov dword [ebx + 0xc], 0
jmp 0x4e10e1
mov ecx, dword [ebx]
test ecx, ecx
je 0x4e10ed
push ecx
call dword [0x48242c]
mov eax, dword [ebx]
push eax
call fcn.004e7eef
add esp, 4
jmp 0x4e1111
mov eax, dword [ebx]
test eax, eax
je 0x4e1111
push eax
call 0x51b38f
jmp 0x4e1111
mov eax, ebx
call fcn.004e4f80
jmp 0x4e1111
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
push edx
call fcn.004e7eef
mov eax, dword [ebx]
add esp, 4
push eax
call fcn.004e7eef
add esp, 4
jmp 0x4e1111
mov eax, dword [ebx]
test eax, eax
je 0x4e1111
push eax
call 0x521fb8
jmp 0x4e1111
dec eax
cmp eax, 0xb
ja 0x4e115d
jmp dword [eax*4 + 0x42e62d]
xor eax, eax
jmp 0x4e115a
mov eax, dword [eax + 0x38]
jmp 0x4e1175
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0x10]
mov byte [eax], 0
call fcn.004dfec0
mov dword [esi + 8], 1
mov dword [esi], 0
jmp 0x4e115d
mov eax, esi
call fcn.004dad10
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x9c], ecx
jmp 0x4e117f
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x38]
jmp 0x4e118c
mov eax, esi
call fcn.004dad10
add eax, 0x20
push eax
lea ebx, [esp + 0xac]
call fcn.004dfe10
jmp 0x4e1196
mov eax, dword [edi + 4]
mov esi, dword [eax + 0x38]
test eax, eax
je 0x504a85
push eax
call 0x52386c
mov dword [edi + 4], esi
mov byte [edi + 9], 0
jmp 0x4e11ad
mov byte [edi + 9], 1
jmp 0x4e1290
push eax
call 0x51a2f6
mov dword [ebx + 0xc], 0
jmp 0x4e11d7
mov ecx, dword [ebx]
test ecx, ecx
je 0x4e11e3
push ecx
call dword [0x48242c]
mov eax, dword [ebx]
push eax
call fcn.004e7eef
add esp, 4
jmp 0x4e1207
mov eax, dword [ebx]
test eax, eax
je 0x4e1207
push eax
call 0x51b38f
jmp 0x4e1207
mov eax, ebx
call fcn.004e4f80
jmp 0x4e1207
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
push edx
call fcn.004e7eef
mov eax, dword [ebx]
add esp, 4
push eax
call fcn.004e7eef
add esp, 4
jmp 0x4e1207
mov eax, dword [ebx]
test eax, eax
je 0x4e1207
push eax
call 0x521fb8
jmp 0x4e1207
mov edx, dword [ebx]
push edx
call fcn.004e7eef
mov eax, dword [ebx + 0xc]
add esp, 4
push eax
call fcn.004e7eef
add esp, 4
jmp 0x4e122c
mov ecx, dword [esi]
test ecx, ecx
je 0x4e1248
push ecx
call dword [0x48242c]
mov ecx, dword [esi]
push ecx
call fcn.004e7eef
add esp, 4
jmp 0x4e126c
mov eax, dword [esi]
test eax, eax
je 0x4e126c
push eax
call 0x51b38f
jmp 0x4e126c
mov eax, esi
call fcn.004e4f80
jmp 0x4e126c
mov edx, dword [esi]
mov eax, dword [edx + 4]
push eax
call fcn.004e7eef
mov ecx, dword [esi]
add esp, 4
push ecx
call fcn.004e7eef
add esp, 4
jmp 0x4e126c
mov eax, dword [esi]
test eax, eax
je 0x4e126c
push eax
call 0x521fb8
jmp 0x4e126c
mov ecx, dword [ecx + 0x38]
jmp 0x4e12a7
mov eax, dword [eax + 0x38]
jmp 0x4e12be
mov edx, dword [eax + 8]
mov eax, dword [edx + 0x38]
jmp 0x4e12da
push eax
call 0x51a2f6
mov dword [ebx + 0xc], 0
jmp 0x4e12f3
mov ecx, dword [ebx]
test ecx, ecx
je 0x4e12ff
push ecx
call dword [0x48242c]
mov ecx, dword [ebx]
push ecx
call fcn.004e7eef
add esp, 4
jmp 0x4e1323
mov eax, dword [ebx]
test eax, eax
je 0x4e1323
push eax
call 0x51b38f
jmp 0x4e1323
mov eax, ebx
call fcn.004e4f80
jmp 0x4e1323
mov edx, dword [ebx]
mov eax, dword [edx + 4]
push eax
call fcn.004e7eef
mov ecx, dword [ebx]
add esp, 4
push ecx
call fcn.004e7eef
add esp, 4
jmp 0x4e1323
mov eax, dword [ebx]
test eax, eax
je 0x4e1323
push eax
call 0x521fb8
jmp 0x4e1323
dec eax
cmp eax, 0xb
ja 0x4e1345
jmp dword [eax*4 + 0x42e65d]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0x38]
jmp 0x4e135a
mov eax, dword [0x4a7ce0]
mov esi, dword [eax + 8]
push eax
call 0x545309
mov ecx, esi
mov dword [0x4a7ce0], ecx
mov byte [0x4a7ce5], 0
jmp 0x4e1371
mov ebx, dword [esp + 0x68]
mov byte [0x4a7ce5], 1
jmp 0x4e147b
push eax
mov ecx, ebx
call fcn.004e2400
jmp 0x4e13ad
mov ecx, dword [edi]
push ecx
call fcn.004e7eef
mov edx, dword [edi + 0xc]
add esp, 4
push edx
call fcn.004e7eef
add esp, 4
jmp 0x4e13d2
mov ecx, dword [ebx]
test ecx, ecx
je 0x4e13ee
push ecx
call dword [0x48242c]
mov eax, dword [ebx]
push eax
call fcn.004e7eef
add esp, 4
jmp 0x4e1412
mov eax, dword [ebx]
test eax, eax
je 0x4e1412
push eax
call 0x51b38f
jmp 0x4e1412
mov eax, ebx
call fcn.004e4f80
jmp 0x4e1412
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
push edx
call fcn.004e7eef
mov eax, dword [ebx]
add esp, 4
push eax
call fcn.004e7eef
add esp, 4
jmp 0x4e1412
mov eax, dword [ebx]
test eax, eax
je 0x4e1412
push eax
call 0x521fb8
jmp 0x4e1412
push eax
call 0x51a2f6
mov dword [esp + 0xb4], 0
jmp 0x4e14a0
mov esi, dword [esp + 0xa8]
test esi, esi
je 0x4e14d4
push esi
call dword [0x48242c]
push esi
call fcn.004e7eef
add esp, 4
jmp 0x4e14d4
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x4e14d4
push eax
call 0x51b38f
jmp 0x4e14d4
lea eax, [esp + 0xa8]
call fcn.004e4f80
jmp 0x4e14d4
mov esi, dword [esp + 0xa8]
mov edx, dword [esi + 4]
push edx
call fcn.004e7eef
add esp, 4
push esi
call fcn.004e7eef
add esp, 4
jmp 0x4e14d4
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x4e14d4
push eax
call 0x521fb8
jmp 0x4e14d4
push eax
call 0x51a2f6
xor ecx, ecx
mov dword [esp + 0x94], 0
lea edx, [ecx + 1]
jmp 0x4e14ff
cmp dword [esp + 0x88], ecx
je 0x4e152c
mov esi, dword [esp + 0x88]
push esi
call dword [0x48242c]
push esi
call fcn.004e7eef
add esp, 4
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x4e152c
cmp dword [esp + 0x88], ecx
je 0x4e152c
mov eax, dword [esp + 0x88]
push eax
call 0x51b38f
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x4e152c
lea eax, [esp + 0x88]
call fcn.004e4f80
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x4e152c
mov esi, dword [esp + 0x88]
mov ecx, dword [esi + 4]
push ecx
call fcn.004e7eef
add esp, 4
push esi
call fcn.004e7eef
add esp, 4
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x4e152c
cmp dword [esp + 0x88], ecx
je 0x4e152c
mov edx, dword [esp + 0x88]
push edx
call 0x521fb8
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x4e152c
push eax
call 0x51a2f6
xor ecx, ecx
mov dword [esp + 0x2c], 0
lea edx, [ecx + 1]
jmp 0x4e1538
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x4e1569
push eax
call dword [0x48242c]
mov eax, dword [esp + 0x20]
push eax
call fcn.004e7eef
add esp, 4
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x4e1569
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x4e1569
push eax
call 0x51b38f
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x4e1569
lea eax, [esp + 0x20]
call fcn.004e4f80
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x4e1569
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 4]
push edx
call fcn.004e7eef
mov eax, dword [esp + 0x24]
add esp, 4
push eax
call fcn.004e7eef
add esp, 4
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x4e1569
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x4e1569
push eax
call 0x521fb8
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x4e1569
mov edx, dword [edi]
push edx
call fcn.004e7eef
mov eax, dword [edi + 0xc]
add esp, 4
push eax
call fcn.004e7eef
add esp, 4
jmp 0x4e15c5
mov ecx, dword [esi]
test ecx, ecx
je 0x4e15e1
push ecx
call dword [0x48242c]
mov ecx, dword [esi]
push ecx
call fcn.004e7eef
add esp, 4
jmp 0x4e1605
mov eax, dword [esi]
test eax, eax
je 0x4e1605
push eax
call 0x51b38f
jmp 0x4e1605
mov eax, esi
call fcn.004e4f80
jmp 0x4e1605
mov edx, dword [esi]
mov eax, dword [edx + 4]
push eax
call fcn.004e7eef
mov ecx, dword [esi]
add esp, 4
push ecx
call fcn.004e7eef
add esp, 4
jmp 0x4e1605
mov eax, dword [esi]
test eax, eax
je 0x4e1605
push eax
call 0x521fb8
jmp 0x4e1605
mov eax, dword [esp + 0x84]
push eax
push 0x70
mov ecx, dword [ebp + 8]
push ecx
call 0x53522e
lea esi, [esp + 0x20]
call fcn.004dfec0
lea ecx, [esp + 0x64]
call fcn.0050ae22
lea ecx, [esp + 0x30]
call fcn.004e76e0
mov eax, 1
jmp 0x4e1631