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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x58]
cmp eax, dword [ecx + 8]
jbe 0x50600b
sub esp, 0xd8
mov ecx, dword [esp + 0xf0]
test ecx, ecx
jle 0x505fb8
mov edx, dword [esp + 0xe8]
test edx, edx
je 0x504156
test edx, 0x60
je 0x505f36
mov edi, dword [esp + 0xdc]
mov dword [edi + 0xc], 0
mov ebx, dword [0x9f0ee0]
test ebx, ebx
jne 0x505f1f
mov dword [edi + 0x10], 0
mov dword [edi + 0x1c], edx
mov ebx, dword [0x9f0ee0]
test ebx, ebx
jne 0x505ee9
mov ebx, dword [esp + 0xe0]
mov dword [edi + 0x14], ebx
mov ebp, dword [esp + 0xe4]
mov dword [edi + 0x18], ebp
nop
mov esi, edx
and edx, 0x1f
cmp edx, 0x10
jbe 0x505b8a
cmp edx, 0x15
ja 0x5053ed
cmp edx, 0x13
ja 0x504ae7
cmp edx, 0x11
jne 0x504ac3
mov dword [esp + 0x7c], edx
mov eax, dword [esp + 0xec]
cmp eax, 0x71
jg 0x504aac
cmp eax, 0x58
jne 0x504a9e
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004f6560
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x80], ecx
mov edx, dword [eax + 0x28]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
cmp dword [esp + 4], 8
jne 0x50449d
mov eax, dword [esp + 0x7c]
cmp eax, 0x17
je 0x504467
mov eax, dword [esp + 0xe8]
test eax, 0x100
jne 0x5043e7
mov ecx, dword [esp + 0xe0]
mov dword [esp], ecx
mov edx, dword [esp + 0xe4]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004f36e0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
lea ecx, [0x718d60]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00445e20
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa0], eax
xor ecx, ecx
jmp 0x5042a6
mov ebx, dword [esp + 0xa0]
mov byte [ebx + eax], dl
lea edx, [eax + 1]
mov eax, ebx
mov ecx, edx
mov edx, dword [esp + 0x6c]
cmp edx, ecx
jle 0x504374
mov dword [esp + 0x60], ecx
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov edx, dword [esp + 0xe4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.004f2ba0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x7c], eax
cmp eax, 9
ja 0x504337
cmp eax, 7
jne 0x50430b
mov edx, dword [ecx]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x60]
cmp ecx, eax
ja 0x504295
jmp 0x505fc4
cmp eax, 8
jne 0x50431f
movzx edx, byte [ecx]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x60]
cmp ecx, eax
jmp 0x504304
cmp eax, 9
jne 0x505fc9
movzx edx, word [ecx]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x60]
cmp ecx, eax
jmp 0x504304
cmp eax, 0xa
jne 0x50434a
mov edx, dword [ecx]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x60]
cmp ecx, eax
jmp 0x504304
cmp eax, 0xb
jne 0x50435d
mov edx, dword [ecx]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x60]
cmp ecx, eax
jmp 0x504304
cmp eax, 0xc
jne 0x505fc9
mov edx, dword [ecx]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x60]
cmp ecx, eax
jmp 0x504304
mov ecx, edx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x8c], eax
mov ebx, dword [esp + 0x3c]
mov ebx, dword [ebx + 0x80]
mov ebp, dword [esp + 0x80]
mov dword [esp], ebp
call ebx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xdc]
mov dword [esp], edx
mov edx, dword [esp + 0x8c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xec]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.005022e0
add esp, 0xd8
ret
mov ecx, dword [esp + 0xe0]
mov dword [esp], ecx
mov edx, dword [esp + 0xe4]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004f36e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xe0]
mov dword [esp], ecx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xe8]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
call fcn.004f5e80
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004f0530
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
jmp 0x504376
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 8], eax
call fcn.004f0530
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
jmp 0x504376
mov eax, dword [esp + 0xdc]
movzx ecx, byte [eax + 0x2c]
test cl, cl
jne 0x5046be
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jb 0x50466e
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x5b
xor ecx, ecx
jmp 0x504541
mov ecx, dword [esp + 0xe0]
mov dword [esp], ecx
mov edx, dword [esp + 0xe4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.004f2ba0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xdc]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0xf0]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.00504110
mov eax, dword [esp + 0x64]
lea ecx, [eax + 1]
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov edx, dword [esp + 0xe4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 8], ebx
call fcn.004f36e0
mov eax, dword [esp + 0x64]
cmp dword [esp + 0xc], eax
jle 0x5045f9
test eax, eax
jle 0x5044d1
mov ecx, dword [esp + 0xdc]
mov edx, dword [ecx + 4]
lea ebx, [edx + 1]
mov ebp, dword [ecx]
mov esi, dword [ecx + 8]
cmp ebx, esi
ja 0x5045a6
lea ebx, [edx + 1]
mov dword [ecx + 4], ebx
mov byte [ebp + edx], 0x20
jmp 0x5044d1
lea eax, [0x718d60]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00445ed0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x9f0ee0]
test edx, edx
jne 0x5045f2
mov dword [edi], eax
mov edx, ecx
mov ebp, eax
mov eax, dword [esp + 0x64]
mov ecx, edi
jmp 0x504596
call fcn.0045f470
jmp 0x5045e6
nop
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jb 0x504621
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x5d
add esp, 0xd8
ret
lea eax, [0x718d60]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00445ed0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x9f0ee0]
test edx, edx
jne 0x504667
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x504610
call fcn.0045f470
jmp 0x504661
lea eax, [0x718d60]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00445ed0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x9f0ee0]
test edx, edx
jne 0x5046b7
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x5044c3
call fcn.0045f470
jmp 0x5046ae
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov ecx, dword [esp + 0xe4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xe8]
mov dword [esp + 8], edx
call fcn.004f6560
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0xdc]
mov edx, dword [ecx + 4]
mov dword [esp + 0x78], edx
lea ebx, [eax + edx]
mov dword [esp + 0x74], ebx
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp esi, ebx
jb 0x504a5d
mov dword [esp + 0x9c], edi
mov dword [esp + 0x70], esi
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.0045fe20
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0xdc]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x70]
mov dword [edi + 8], ecx
mov edx, dword [0x9f0ee0]
test edx, edx
jne 0x504a41
mov edx, dword [esp + 0x9c]
mov dword [edi], edx
mov ebx, dword [esp + 0x7c]
cmp ebx, 0x17
jne 0x504a35
mov ebx, dword [esp + 0xe4]
mov ebp, dword [ebx]
test ebp, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
xor ebp, 1
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5049bb
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x4c]
lea ebp, [esi + ebp + 1]
cmp ecx, ebp
jb 0x504964
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x7b
xor eax, eax
jmp 0x504831
mov ecx, dword [esp + 0xe0]
mov dword [esp], ecx
mov edx, dword [esp + 0xe4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.004f2ba0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xdc]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0xf0]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.00504110
mov eax, dword [esp + 0x54]
inc eax
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0xe0]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov edx, dword [esp + 0xe8]
mov dword [esp + 8], edx
call fcn.004f36e0
mov eax, dword [esp + 0x54]
cmp dword [esp + 0xc], eax
jle 0x5048f1
test eax, eax
jle 0x5047bc
nop
mov edi, dword [esp + 0xdc]
mov ecx, dword [edi + 4]
lea edx, [ecx + 2]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp edx, ebx
ja 0x5048ae
mov word [ebp + ecx], 0x202c
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x9f0ee0]
test ecx, ecx
jne 0x50489e
mov dword [edi], ebp
jmp 0x5047bc
mov ecx, eax
mov eax, ebp
call fcn.0045f470
mov eax, ecx
jmp 0x5047bc
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], edx
lea eax, [0x718d60]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00445ed0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0xdc]
jmp 0x504880
nop
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jb 0x504917
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x7d
jmp 0x50461a
lea eax, [0x718d60]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00445ed0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x9f0ee0]
test edx, edx
jne 0x50495d
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x504908
call fcn.0045f470
jmp 0x504957
lea ebx, [0x718d60]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00445ed0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x9f0ee0]
test edx, edx
jne 0x5049b4
mov dword [edi], eax
mov ebx, dword [esp + 0xe4]
mov edx, eax
mov eax, ecx
jmp 0x5047ae
call fcn.0045f470
jmp 0x5049a4
nop
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x4c]
lea ebx, [ebp + ebx + 5]
cmp ecx, ebx
jb 0x5049fa
mov dword [edx + eax], 0x6c696e28
mov byte [edx + eax + 4], 0x29
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x9f0ee0]
test ecx, ecx
jne 0x5049f1
mov dword [edi], edx
add esp, 0xd8
ret
mov eax, edx
call fcn.0045f470
jmp 0x5049ea
mov dword [esp + 0x78], ebx
lea ebp, [0x718d60]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.00445ed0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0xdc]
jmp 0x5049cc
mov ebx, dword [esp + 0xe4]
jmp 0x50479a
mov edx, eax
mov eax, dword [esp + 0x9c]
call fcn.0045f470
mov eax, edx
mov edx, dword [esp + 0x9c]
jmp 0x50476e
mov dword [esp + 0x98], ebp
lea eax, [0x718d60]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00445ed0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x78]
mov ebp, dword [esp + 0x98]
jmp 0x504724
cmp eax, 0x71
je 0x5041e5
jmp 0x50449d
cmp eax, 0x73
je 0x5041e5
cmp eax, 0x78
je 0x5041e5
jmp 0x50449d
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
call fcn.005029b0
jmp 0x50461a
cmp edx, 0x14
je 0x505180
movzx edx, byte [edi + 0x2c]
test dl, dl
jne 0x504f4b
nop
mov edx, dword [edi + 4]
mov eax, ecx
lea ecx, [edx + 4]
mov esi, dword [edi + 8]
mov ebp, dword [edi]
cmp esi, ecx
jb 0x504efb
mov dword [ebp + edx], 0x5b70616d
mov dword [edi + 4], ecx
mov dword [edi + 8], esi
mov ecx, dword [0x9f0ee0]
test ecx, ecx
jne 0x504eeb
mov dword [edi], ebp
mov dword [esp], ebx
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 8], eax
call fcn.004fcd00
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
test ecx, ecx
jle 0x504cbb
mov dword [esp + 0x78], ecx
mov dword [esp + 0x84], eax
xor ebx, ebx
jmp 0x504b81
mov ebp, dword [esp + 0x94]
lea edx, [ebp + 0xc]
mov ebx, eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x94], edx
mov dword [esp + 0x58], ebx
mov ebp, dword [edx + 4]
mov dword [esp + 0xa0], ebp
mov esi, dword [edx + 8]
mov dword [esp + 0x7c], esi
mov edi, edx
mov edx, dword [edx]
mov dword [esp + 0x90], edx
test ebx, ebx
jle 0x504edf
mov ecx, dword [esp + 0xdc]
movzx ebx, byte [ecx + 0x2c]
test bl, bl
je 0x504e58
nop
mov ebx, dword [ecx + 4]
lea esi, [ebx + 2]
mov ebp, dword [ecx + 8]
mov edx, dword [ecx]
cmp ebp, esi
jb 0x504e08
mov word [edx + ebx], 0x202c
mov dword [ecx + 4], esi
mov dword [ecx + 8], ebp
mov ebx, dword [0x9f0ee0]
test ebx, ebx
jne 0x504df2
mov dword [ecx], edx
mov dword [esp], ecx
mov eax, dword [esp + 0x90]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0xf0]
lea ebx, [edx + 1]
mov dword [esp + 0x74], ebx
mov dword [esp + 0x14], ebx
call fcn.00504110
nop
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jb 0x504da2
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x3a
mov edx, dword [esp + 0x84]
mov ebx, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
mov ebp, dword [esp + 0x58]
cmp ecx, ebp
jbe 0x506003
lea ecx, [ebp + ebp*2]
mov edx, dword [ebx + ecx*4]
mov esi, dword [ebx + ecx*4 + 4]
mov ecx, dword [ebx + ecx*4 + 8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xec]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x74]
mov dword [esp + 0x14], edx
call fcn.00504110
mov eax, dword [esp + 0x58]
inc eax
mov ecx, dword [esp + 0x78]
cmp ecx, eax
jg 0x504b6e
mov eax, dword [esp + 0xdc]
movzx ecx, byte [eax + 0x2c]
test cl, cl
je 0x504d36
nop
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jb 0x504ce9
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x7d
jmp 0x50461a
lea eax, [0x718d60]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00445ed0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x9f0ee0]
test edx, edx
jne 0x504d2f
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x504cda
call fcn.0045f470
jmp 0x504d29
nop
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jb 0x504d55
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x5d
jmp 0x50461a
lea eax, [0x718d60]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00445ed0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x9f0ee0]
test edx, edx
jne 0x504d9b
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x504d46
call fcn.0045f470
jmp 0x504d95
lea eax, [0x718d60]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00445ed0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x9f0ee0]
test edx, edx
jne 0x504deb
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x504c51
call fcn.0045f470
jmp 0x504de2
mov ebx, edi
mov edi, ecx
mov ebp, eax
mov eax, edx
call fcn.0045f470
mov eax, ebp
mov edi, ebx
jmp 0x504bf3
mov dword [esp + 0x74], ebx
mov dword [esp + 0x70], esi
lea eax, [0x718d60]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.00445ed0
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0xdc]
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x94]
jmp 0x504bd7
mov ebx, dword [ecx + 4]
lea edi, [ebx + 1]
mov eax, dword [ecx]
mov esi, dword [ecx + 8]
cmp esi, edi
jb 0x504e84
lea esi, [ebx + 1]
mov dword [ecx + 4], esi
mov byte [eax + ebx], 0x20
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0x94]
jmp 0x504bf3
lea ecx, [0x718d60]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
call fcn.00445ed0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x9f0ee0]
test edx, edx
jne 0x504ed8
mov dword [edi], eax
mov edx, dword [esp + 0x90]
mov ebp, dword [esp + 0xa0]
mov ebx, ecx
mov ecx, edi
jmp 0x504e67
call fcn.0045f470
jmp 0x504ec4
mov ecx, dword [esp + 0xdc]
jmp 0x504bf3
mov ecx, eax
mov eax, ebp
call fcn.0045f470
mov eax, ecx
jmp 0x504b30
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], ecx
lea eax, [0x718d60]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
call fcn.00445ed0
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0xe0]
mov edi, dword [esp + 0xdc]
jmp 0x504b12
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004f6560
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0xdc]
mov edx, dword [ecx + 4]
mov dword [esp + 0x78], edx
lea ebx, [eax + edx]
mov dword [esp + 0x74], ebx
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp esi, ebx
jb 0x50513f
mov dword [esp + 0x70], esi
mov dword [esp + 0x9c], edi
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.0045fe20
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0xdc]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x70]
mov dword [edi + 8], ecx
mov edx, dword [0x9f0ee0]
test edx, edx
jne 0x505123
mov edx, dword [esp + 0x9c]
mov dword [edi], edx
mov ebx, dword [esp + 0xe8]
test ebx, 0x200
je 0x50506f
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x44]
lea ebp, [esi + ebp + 1]
cmp ecx, ebp
jb 0x50501b
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x7b
mov ebx, dword [esp + 0xe0]
jmp 0x504b30
lea ebx, [0x718d60]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00445ed0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x9f0ee0]
test edx, edx
jne 0x505068
mov dword [edi], eax
mov ebx, dword [esp + 0xe8]
mov edx, eax
mov eax, ecx
jmp 0x505005
call fcn.0045f470
jmp 0x50505b
test ebx, 0x80
je 0x505115
mov ebp, dword [esp + 0xe4]
mov esi, dword [ebp]
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
xor esi, 1
xchg esi, eax
test al, al
xchg esi, eax
je 0x504ff5
nop
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x44]
lea ebx, [ebp + ebx + 5]
cmp ecx, ebx
jb 0x5050da
mov dword [edx + eax], 0x6c696e28
mov byte [edx + eax + 4], 0x29
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x9f0ee0]
test ecx, ecx
jne 0x5050d1
mov dword [edi], edx
add esp, 0xd8
ret
mov eax, edx
call fcn.0045f470
jmp 0x5050ca
mov dword [esp + 0x78], ebx
lea ebp, [0x718d60]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.00445ed0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0xdc]
jmp 0x5050ac
mov ebp, dword [esp + 0xe4]
mov esi, ebp
jmp 0x505085
mov edx, eax
mov eax, dword [esp + 0x9c]
call fcn.0045f470
mov eax, edx
mov edx, dword [esp + 0x9c]
jmp 0x504fe6
mov dword [esp + 0x98], ebp
lea eax, [0x718d60]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00445ed0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x78]
mov ebp, dword [esp + 0x98]
jmp 0x504f9c
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004f2330
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test eax, eax
jne 0x5053b6
mov edi, dword [esp + 0xdc]
movzx ecx, byte [edi + 0x2c]
test cl, cl
jne 0x505232
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp ebx, edx
jb 0x5051f3
mov dword [ebp + ecx], 0x6c696e3c
mov byte [ebp + ecx + 4], 0x3e
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x9f0ee0]
test ecx, ecx
jne 0x5051e7
mov dword [edi], ebp
jmp 0x50461a
mov eax, ebp
call fcn.0045f470
jmp 0x50461a
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], edx
lea eax, [0x718d60]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00445ed0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0xdc]
jmp 0x5051c3
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 8], eax
call fcn.004f6560
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0xdc]
mov edx, dword [ecx + 4]
mov dword [esp + 0x78], edx
lea ebx, [edx + eax]
mov dword [esp + 0x74], ebx
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp ebx, esi
ja 0x505375
mov dword [esp + 0x70], esi
mov dword [esp + 0x9c], edi
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.0045fe20
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0xdc]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x70]
mov dword [edi + 8], ecx
mov edx, dword [0x9f0ee0]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x78]
lea ebx, [ebp + ebx + 5]
test edx, edx
jne 0x505359
mov edx, dword [esp + 0x9c]
mov dword [edi], edx
nop
cmp ebx, ecx
ja 0x50531e
mov dword [edx + eax], 0x6c696e28
mov byte [edx + eax + 4], 0x29
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x9f0ee0]
test ecx, ecx
jne 0x505312
mov dword [edi], edx
jmp 0x50461a
mov eax, edx
call fcn.0045f470
jmp 0x50461a
mov dword [esp + 0x78], ebx
lea ebp, [0x718d60]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.00445ed0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0xdc]
jmp 0x5052ef
mov edx, eax
mov eax, dword [esp + 0x9c]
call fcn.0045f470
mov eax, edx
mov edx, dword [esp + 0x9c]
jmp 0x5052ea
mov dword [esp + 0x98], ebp
lea eax, [0x718d60]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00445ed0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x78]
mov ebp, dword [esp + 0x98]
jmp 0x505298
mov ebx, dword [esp + 0xdc]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xf0]
inc eax
mov dword [esp + 0x14], eax
call fcn.00504110
jmp 0x50461a
cmp edx, 0x17
ja 0x50558f
cmp edx, 0x16
jne 0x5041c8
test ecx, ecx
je 0x50554e
xor eax, eax
test al, al
je 0x504ac3
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004f2330
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
nop
mov ebx, eax
and eax, 0x1f
cmp eax, 0x15
ja 0x50553a
cmp eax, 0x11
jne 0x505510
mov dword [esp + 0x7c], ebx
nop
mov eax, dword [esp + 0xdc]
mov ebp, dword [eax + 4]
lea esi, [ebp + 1]
mov edi, dword [eax]
mov ebx, dword [eax + 8]
cmp ebx, esi
jb 0x5054a0
lea ebx, [ebp + 1]
mov dword [eax + 4], ebx
mov byte [edi + ebp], 0x26
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xf0]
inc eax
mov dword [esp + 0x14], eax
call fcn.00504110
add esp, 0xd8
ret
mov dword [esp + 0xa0], edx
mov dword [esp + 0x90], ecx
lea eax, [0x718d60]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call fcn.00445ed0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x9f0ee0]
test edx, edx
jne 0x505509
mov dword [edi], eax
mov edx, dword [esp + 0xa0]
mov ebp, ecx
mov ecx, dword [esp + 0x90]
mov ebx, eax
mov eax, edi
mov edi, ebx
jmp 0x505460
call fcn.0045f470
jmp 0x5054ee
cmp eax, 0x15
je 0x505445
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0xe4]
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0xdc]
jmp 0x504ac3
cmp eax, 0x17
je 0x505445
cmp eax, 0x19
je 0x505445
jmp 0x505519
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004f49d0
mov eax, dword [esp + 0xc]
test eax, eax
setne al
mov ecx, dword [esp + 0xf0]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0xe4]
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0xdc]
jmp 0x505409
cmp edx, 0x18
je 0x505b4b
cmp edx, 0x19
jne 0x505b29
movzx eax, byte [edi + 0x2c]
test al, al
jne 0x505a26
mov eax, dword [edi + 4]
lea edx, [eax + 1]
mov ecx, dword [edi]
mov esi, dword [edi + 8]
cmp esi, edx
jb 0x5059c6
lea edx, [eax + 1]
mov dword [edi + 4], edx
mov byte [ecx + eax], 0x7b
xor eax, eax
jmp 0x505651
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov ecx, dword [esp + 0xe4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xe8]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0xc], ebx
call fcn.005011c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xdc]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0xf0]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.00504110
mov eax, dword [esp + 0x5c]
inc eax
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0xe4]
mov dword [esp + 0x5c], eax
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0xe8]
mov dword [esp + 8], ecx
call fcn.004f44e0
mov eax, dword [esp + 0x5c]
cmp dword [esp + 0xc], eax
jle 0x505954
test eax, eax
jle 0x505948
mov edi, dword [esp + 0xdc]
movzx ecx, byte [edi + 0x2c]
test cl, cl
je 0x5058db
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 2]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp edx, ebx
ja 0x505895
mov word [ebp + ecx], 0x202c
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x9f0ee0]
test ecx, ecx
jne 0x505885
mov dword [edi], ebp
movzx ecx, byte [edi + 0x2b]
test cl, cl
je 0x505874
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov ecx, dword [esp + 0xe4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xe8]
mov dword [esp + 8], edx
call fcn.004f6560
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x2c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 4], ecx
call eax
lea edi, [esp + 0xa4]
lea esi, [esp + 8]
call fcn.0045fbae
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xa4]
test eax, eax
je 0x505868
mov dword [esp + 0x48], eax
nop
mov edx, dword [esp + 0xdc]
mov ebx, dword [edx + 4]
mov dword [esp + 0x78], ebx
lea ebp, [eax + ebx]
mov dword [esp + 0x74], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp ebp, esi
ja 0x505827
mov dword [esp + 0x9c], edi
mov dword [esp + 0x70], esi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045fe20
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0xdc]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x70]
mov dword [edi + 8], ecx
mov edx, dword [0x9f0ee0]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x48]
lea ebx, [ebp + ebx + 1]
test edx, edx
jne 0x50580e
mov edx, dword [esp + 0x9c]
mov dword [edi], edx
cmp ebx, ecx
ja 0x5057c1
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x3a
jmp 0x5055d1
lea ebp, [0x718d60]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.00445ed0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x9f0ee0]
test edx, edx
jne 0x505807
mov dword [edi], eax
mov edx, eax
mov eax, ecx
jmp 0x5057b2
call fcn.0045f470
jmp 0x505801
mov edx, eax
mov eax, dword [esp + 0x9c]
call fcn.0045f470
mov eax, edx
mov edx, dword [esp + 0x9c]
jmp 0x5057ae
mov dword [esp + 0x88], ecx
lea eax, [0x718d60]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00445ed0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x88]
mov ebx, dword [esp + 0x78]
jmp 0x50575c
mov edi, dword [esp + 0xdc]
jmp 0x5055d1
movzx ecx, byte [edi + 0x2c]
test cl, cl
jne 0x5056d2
jmp 0x5055d1
mov ecx, eax
mov eax, ebp
call fcn.0045f470
mov eax, ecx
jmp 0x5056c6
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], ecx
lea eax, [0x718d60]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00445ed0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0xdc]
jmp 0x5056a9
mov ecx, dword [edi + 4]
lea edx, [ecx + 1]
mov ebx, dword [edi]
mov ebp, dword [edi + 8]
cmp edx, ebp
ja 0x5058f9
lea edx, [ecx + 1]
mov dword [edi + 4], edx
mov byte [ebx + ecx], 0x20
jmp 0x5056c6
lea eax, [0x718d60]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00445ed0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x9f0ee0]
test edx, edx
jne 0x505941
mov dword [edi], eax
mov ebx, eax
mov eax, dword [esp + 0x5c]
jmp 0x5058ea
call fcn.0045f470
jmp 0x505939
mov edi, dword [esp + 0xdc]
jmp 0x5056c6
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jb 0x505979
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x7d
jmp 0x50461a
lea eax, [0x718d60]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00445ed0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x9f0ee0]
test edx, edx
jne 0x5059bf
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x50596a
call fcn.0045f470
jmp 0x5059b9
lea ebx, [0x718d60]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
call fcn.00445ed0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xdc]
mov dword [edi + 8], edx
mov edx, dword [0x9f0ee0]
test edx, edx
jne 0x505a1f
mov dword [edi], eax
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0xe4]
mov edx, eax
mov eax, ecx
mov ecx, edx
jmp 0x5055c0
call fcn.0045f470
jmp 0x505a06
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004f6560
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xdc]
mov edx, dword [ecx + 4]
lea ebx, [eax + edx]
mov dword [esp + 0x78], ebx
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp esi, ebx
jb 0x505ae0
mov dword [esp + 0x74], esi
mov dword [esp + 0x9c], edi
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.0045fe20
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xdc]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x74]
mov dword [edi + 8], eax
mov eax, dword [0x9f0ee0]
test eax, eax
jne 0x505ad2
mov eax, dword [esp + 0x9c]
mov dword [edi], eax
mov ecx, dword [esp + 0xf0]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0xe4]
mov esi, dword [esp + 0xe8]
jmp 0x5055ad
mov eax, dword [esp + 0x9c]
call fcn.0045f470
jmp 0x505ab1
mov dword [esp + 0x74], edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x98], ebp
lea eax, [0x718d60]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00445ed0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x98]
jmp 0x505a6b
cmp edx, 0x1a
je 0x504ac3
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call fcn.00501260
jmp 0x50461a
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004f6270
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xdc]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0xec]
mov dword [esp + 0xc], eax
call fcn.00502140
jmp 0x50461a
cmp edx, 0xc
ja 0x505e0c
cmp edx, 1
ja 0x505d2c
test edx, edx
jne 0x505cf4
test ecx, ecx
jne 0x505c58
nop
mov eax, dword [edi + 4]
lea ecx, [eax + 0x17]
mov dword [esp + 0x78], ecx
mov edx, dword [edi + 8]
mov ebx, dword [edi]
cmp ecx, edx
ja 0x505c25
mov dword [esp + 0x74], edx
mov dword [esp + 0x9c], ebx
add eax, ebx
mov dword [esp], eax
lea eax, [0x76fdd2]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
call fcn.0045fe20
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xdc]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x74]
mov dword [edi + 8], eax
mov eax, dword [0x9f0ee0]
test eax, eax
jne 0x505c14
mov eax, dword [esp + 0x9c]
mov dword [edi], eax
jmp 0x50461a
mov eax, dword [esp + 0x9c]
call fcn.0045f470
jmp 0x50461a
mov dword [esp + 0x74], eax
lea ebp, [0x718d60]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.00445ed0
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
jmp 0x505bc0
mov ecx, dword [esp + 0xec]
cmp ecx, 0x76
jne 0x505ce3
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp edx, ebx
ja 0x505ca4
mov dword [ebp + ecx], 0x6c696e3c
mov byte [ebp + ecx + 4], 0x3e
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x9f0ee0]
test ecx, ecx
jne 0x505c98
mov dword [edi], ebp
jmp 0x50461a
mov eax, ebp
call fcn.0045f470
jmp 0x50461a
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], ecx
lea eax, [0x718d60]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00445ed0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0xdc]
jmp 0x505c74
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.005014d0
jmp 0x50461a
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004f0480
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0xdc]
mov dword [esp], ecx
mov byte [esp + 4], al
mov eax, dword [esp + 0xec]
mov dword [esp + 8], eax
call fcn.005019f0
jmp 0x50461a
cmp edx, 6
ja 0x505d9a
cmp edx, 3
ja 0x505d73
cmp edx, 2
jne 0x505d68
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
mov dword [esp], edi
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov byte [esp + 0xc], 1
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
call fcn.00501ae0
jmp 0x50461a
movsx eax, byte [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x505d43
cmp edx, 4
jne 0x505d83
movsx eax, word [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x505d43
cmp edx, 5
jne 0x505d92
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x505d43
mov ecx, dword [ebp]
mov eax, dword [ebp + 4]
jmp 0x505d43
cmp edx, 7
jb 0x505b32
cmp edx, 9
ja 0x505dec
cmp edx, 7
jne 0x505dd7
mov eax, dword [ebp]
xor ecx, ecx
mov dword [esp], edi
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov byte [esp + 0xc], 0
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
call fcn.00501ae0
jmp 0x50461a
cmp edx, 8
jne 0x505de4
movzx eax, byte [ebp]
xor ecx, ecx
jmp 0x505db2
movzx eax, word [ebp]
xor ecx, ecx
jmp 0x505db2
cmp edx, 0xa
jne 0x505df8
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x505db2
cmp edx, 0xb
jne 0x505e05
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
jmp 0x505db2
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x505db2
cmp edx, 0xe
ja 0x505e70
cmp edx, 0xd
jne 0x505e45
movss xmm0, dword [ebp]
mov dword [esp], edi
cvtss2sd xmm0, xmm0
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x20
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
call fcn.00501df0
jmp 0x50461a
movsd xmm0, qword [ebp]
mov dword [esp], edi
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x40
mov eax, dword [esp + 0xec]
mov dword [esp + 0x10], eax
call fcn.00501df0
jmp 0x50461a
cmp edx, 0xf
jne 0x505eb3
movss xmm0, dword [ebp]
movss xmm1, dword [ebp + 4]
mov dword [esp], edi
cvtss2sd xmm0, xmm0
movsd qword [esp + 4], xmm0
cvtss2sd xmm0, xmm1
movsd qword [esp + 0xc], xmm0
mov dword [esp + 0x14], 0x40
mov eax, dword [esp + 0xec]
mov dword [esp + 0x18], eax
call fcn.00501f60
jmp 0x50461a
movsd xmm0, qword [ebp]
movsd xmm1, qword [ebp + 8]
mov dword [esp], edi
movsd qword [esp + 4], xmm0
movsd qword [esp + 0xc], xmm1
mov dword [esp + 0x14], pe_nt_image_headers32
mov eax, dword [esp + 0xec]
mov dword [esp + 0x18], eax
call fcn.00501f60
jmp 0x50461a
lea esi, [edi + 0x14]
mov eax, edi
mov edi, esi
mov ebx, eax
mov eax, dword [esp + 0xe0]
call fcn.0045f470
lea edi, [ebx + 0x18]
mov ebp, eax
mov eax, dword [esp + 0xe4]
call fcn.0045f470
mov ebx, ebp
mov ebp, eax
mov edi, dword [esp + 0xdc]
jmp 0x50419e
lea ebx, [edi + 0x10]
mov eax, edi
mov edi, ebx
mov ebp, eax
xor eax, eax
call fcn.0045f470
mov edi, ebp
jmp 0x504179
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov ecx, dword [esp + 0xe4]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004f2f20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xdc]
mov dword [edx + 0xc], ecx
mov ecx, dword [0x9f0ee0]
test ecx, ecx
jne 0x505fae
mov dword [edx + 0x10], eax
mov dword [esp], edx
mov eax, dword [esp + 0xec]
mov dword [esp + 4], eax
call fcn.00503320
movzx eax, byte [esp + 8]
test al, al
jne 0x505fa7
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xe8]
jmp 0x504156
add esp, 0xd8
ret
lea edi, [edx + 0x10]
call fcn.0045f470
jmp 0x505f78
mov edx, dword [esp + 0xe8]
jmp 0x504156
call fcn.0045f4f0
lea eax, [0x731400]
mov dword [esp], eax
call fcn.0040bc50
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x76d49e]
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
lea ecx, [0x7223c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00432820
mov eax, ebp
call fcn.0045f4f0
nop
call fcn.0045df10
jmp fcn.00504110