Function at 0x509000
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
mov dword [ebp - 4], 0
push 8
call fcn.0050d65e
add esp, 4
mov dword [ebp - 8], eax
mov edi, eax
mov esi, 0x6e
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
push 0x1c
call fcn.0050d65e
add esp, 4
mov dword [ebp - 0x1c], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 7
rep stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0x109
call fcn.0050d65e
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0xc8540
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x101
rep stosb byte es:[edi], al
add ebx, 4
push ebx
push 0x89
call fcn.0050d65e
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0xc8548
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x81
rep stosb byte es:[edi], al
add ebx, 4
push ebx
push 0x89
call fcn.0050d65e
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0xc8548
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x81
rep stosb byte es:[edi], al
add ebx, 4
push ebx
push 0x109
call fcn.0050d65e
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0xc8540
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x101
rep stosb byte es:[edi], al
add ebx, 4
push ebx
push 0x109
call fcn.0050d65e
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0xc8540
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x101
rep stosb byte es:[edi], al
add ebx, 4
push ebx
push 0x18
call fcn.0050d65e
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0xc852f
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 4
rep stosd dword es:[edi], eax
push 0x88
call fcn.0050d65e
add esp, 4
mov dword [ebp - 0x20], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0x22
rep stosd dword es:[edi], eax
add ebx, 0x10
push ebx
push 0x10
call fcn.0050d65e
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0xc8527
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0x8c
call fcn.0050d65e
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0xc851f
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x21
rep stosd dword es:[edi], eax
add ebx, 8
push ebx
push 0x10
call fcn.0050d65e
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
add ebx, 4
push ebx
push 0x10
call fcn.0050d65e
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
add ebx, 4
push ebx
push 0x10
call fcn.0050d65e
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
add ebx, 4
push ebx
push 0x10
call fcn.0050d65e
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
add ebx, 4
push ebx
push 0x10
call fcn.0050d65e
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
pop ebx
add ebx, 0x10
push ebx
push 0x10c
call fcn.0050d65e
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0xc8517
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x41
rep stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0x10c
call fcn.0050d65e
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0xc8517
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x41
rep stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0x10c
call fcn.0050d65e
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0xc8517
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x41
rep stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0x18
call fcn.0050d65e
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0xc852f
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 4
rep stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0x8c
call fcn.0050d65e
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0xc851f
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x21
rep stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0x28
call fcn.0050d65e
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0xc8590
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 8
rep stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0xd0
call fcn.0050d65e
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0xc8598
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x32
rep stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0xd0
call fcn.0050d65e
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0xc8598
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x32
rep stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0xd4
call fcn.0050d65e
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0xc85a0
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x33
rep stosd dword es:[edi], eax
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
call fcn.0050b626
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x50945b
mov eax, 0
jmp 0x50b401
mov dword [ebp - 0x38], 1
mov eax, dword [ebp - 4]
cmp eax, 0
jge 0x509477
push 0xa
call fcn.0050d66a
add esp, 4
mov dword [ebp - 0x34], eax
lea ebx, [ebp - 0x38]
call fcn.004d2467
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.0050d65e
add esp, 4
mov edi, eax
mov dword [edi], 1
add edi, 4
pop ecx
push eax
push ecx
lea esi, [ebp - 0x34]
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov ebx, dword [ebp - 8]
call fcn.004d2467
pop edx
test ecx, ecx
je 0x5094f3
push edi
push edx
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0050d658
add esp, 4
pop ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x5094e0
push ebx
call fcn.0050d658
add esp, 4
pop ebx
call fcn.0050d658
add esp, 4
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x5094b8
pop edx
pop edi
test edx, edx
je 0x50955d
mov ebx, edi
push edx
push ebx
push 0x10
call fcn.0050d65e
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
add ebx, 4
push ebx
push 0x107
call fcn.0050d65e
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0xc856d
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0xff
rep stosb byte es:[edi], al
pop ebx
pop edx
add ebx, 4
dec edx
jne 0x5094fd
push dword [ebp - 8]
call fcn.0050d658
add esp, 4
pop eax
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 8]
call fcn.004d244e
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 1
jl 0x5096ff
mov ebx, dword [ebp - 8]
call fcn.004d2467
mov eax, 0
cmp eax, ecx
jl 0x50959f
push 1
call fcn.0050d66a
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 8]
call fcn.004d2467
mov eax, 0
cmp eax, ecx
jl 0x5095c7
push 1
call fcn.0050d66a
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], esp
mov ebx, dword [ebp - 0x38]
mov eax, dword [ebx]
push eax
push 0x108
call fcn.0050d65e
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0xff
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, 0x26
call fcn.0050d670
cmp dword [ebp - 0x3c], esp
je 0x50963d
push 6
call fcn.0050d66a
add esp, 4
push eax
mov ebx, dword [ebp - 0x40]
push ebx
mov edi, dword [ebp - 0x44]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x50967e
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x50967c
imul eax, dword [edi]
jmp 0x509671
mov ecx, eax
cmp ecx, 0xff
jle 0x50968b
mov ecx, 0xff
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0xff
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
call fcn.005067bc
call fcn.0050d658
add esp, 4
pop eax
mov ebx, dword [ebp - 0x34]
mov dword [ebx], eax
mov ebx, dword [ebp - 8]
call fcn.004d2467
mov eax, 0
cmp eax, ecx
jl 0x5096d3
push 1
call fcn.0050d66a
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov dword [ebp - 0x34], ebx
fild dword [ebp - 4]
fstp qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
mov ebx, dword [ebp - 0x34]
fild dword [ebx]
fstp qword [ebp - 0x44]
fmul qword [ebp - 0x44]
fstp qword [ebp - 0x4c]
fld qword [ebp - 0x4c]
call fcn.004d299d
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x34], esp
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
push eax
mov ebx, dword [ebp - 8]
call fcn.004d2467
push ebx
mov dword [ebp - 0x38], ecx
test ecx, ecx
jne 0x50971e
xor eax, eax
jmp 0x50972d
imul ecx, ecx, 0x108
push ecx
call fcn.0050d65e
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x509790
push ecx
push edi
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0xff
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
pop ebx
pop edi
pop ecx
dec ecx
je 0x509790
add ebx, 4
add edi, 0x108
jmp 0x509742
push 0
push 0
mov eax, 0x27
call fcn.0050d670
cmp dword [ebp - 0x34], esp
je 0x5097b6
push 6
call fcn.0050d66a
add esp, 4
push eax
mov ebx, dword [ebp - 0x3c]
push ebx
mov edi, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x509847
push ecx
push edi
push ebx
mov edi, dword [edi]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x509807
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x509805
imul eax, dword [edi]
jmp 0x5097fa
mov ecx, eax
cmp ecx, 0xff
jle 0x509814
mov ecx, 0xff
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0xff
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
call fcn.005067bc
pop ebx
pop edi
pop ecx
dec ecx
je 0x509847
add ebx, 0x108
add edi, 4
jmp 0x5097c9
call fcn.0050d658
add esp, 4
pop eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
je 0x509867
mov eax, 0
jmp 0x50b401
push 0x80000301
push 0
push 0xff
push 1
mov ebx, 0x184
call fcn.0050d664
add esp, 0x10
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
push eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x50989c
push ebx
call fcn.0050d658
add esp, 4
pop eax
mov dword [ebp - 0x10], eax
push 0x80000301
push 0
push 0xff
push 1
mov ebx, 0x184
call fcn.0050d664
add esp, 0x10
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x5098d5
push ebx
call fcn.0050d658
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x34], esp
push 0
push 0x1a
push dword [ebp - 0x10]
push 0
mov eax, 0x2b
call fcn.0050d670
cmp dword [ebp - 0x34], esp
je 0x50990a
push 6
call fcn.0050d66a
add esp, 4
test eax, eax
je 0x509942
push 0xc85bd
push dword [ebp - 0x10]
mov ecx, 2
call fcn.004d34f0
add esp, 8
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
push eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x50993e
push ebx
call fcn.0050d658
add esp, 4
pop eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x34], esp
push 0
push 0x23
push dword [ebp - 0x14]
push 0
mov eax, 0x2b
call fcn.0050d670
cmp dword [ebp - 0x34], esp
je 0x509973
push 6
call fcn.0050d66a
add esp, 4
test eax, eax
je 0x5099ab
push 0xc85bd
push dword [ebp - 0x14]
mov ecx, 2
call fcn.004d34f0
add esp, 8
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x5099a7
push ebx
call fcn.0050d658
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
call fcn.0050ba0f
mov ebx, dword [ebp - 8]
call fcn.004d244e
xor ecx, ecx
push eax
lea eax, [ebp - 0x18]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x50b39d
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x38], esp
mov eax, dword [ebp - 0x1c]
push eax
push 0x419
call fcn.0050d65e
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x101
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x81
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x81
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x101
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x101
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x10
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
mov eax, 0x2c
call fcn.0050d670
cmp dword [ebp - 0x38], esp
je 0x509a9d
push 6
call fcn.0050d66a
add esp, 4
push eax
mov ebx, dword [ebp - 0x3c]
push ebx
mov edi, dword [ebp - 0x40]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x509ade
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x509adc
imul eax, dword [edi]
jmp 0x509ad1
mov ecx, eax
cmp ecx, 0x101
jle 0x509aeb
mov ecx, 0x101
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x101
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x509b29
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x509b27
imul eax, dword [edi]
jmp 0x509b1c
mov ecx, eax
cmp ecx, 0x81
jle 0x509b36
mov ecx, 0x81
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x81
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x509b74
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x509b72
imul eax, dword [edi]
jmp 0x509b67
mov ecx, eax
cmp ecx, 0x81
jle 0x509b81
mov ecx, 0x81
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x81
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x509bbf
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x509bbd
imul eax, dword [edi]
jmp 0x509bb2
mov ecx, eax
cmp ecx, 0x101
jle 0x509bcc
mov ecx, 0x101
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x101
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x509c0a
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x509c08
imul eax, dword [edi]
jmp 0x509bfd
mov ecx, eax
cmp ecx, 0x101
jle 0x509c17
mov ecx, 0x101
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x101
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x509c55
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x509c53
imul eax, dword [edi]
jmp 0x509c48
mov ecx, eax
cmp ecx, 0x10
jle 0x509c5f
mov ecx, 0x10
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x10
call fcn.0050d658
add esp, 4
pop eax
mov ebx, dword [ebp - 0x34]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x1c]
add ebx, 4
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 8]
call fcn.004d2467
push ebx
push ecx
mov eax, dword [ebp - 0x18]
dec eax
jns 0x509c9f
push 4
call fcn.0050d66a
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x509cb2
push 1
call fcn.0050d66a
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], esp
push 0xff
mov ebx, dword [ebp - 0x38]
mov ebx, dword [ebx]
call fcn.004d2467
push ebx
mov ebx, dword [ebp - 0x34]
mov ebx, dword [ebx]
call fcn.004d2467
push ebx
mov eax, 0x2d
call fcn.0050d670
cmp dword [ebp - 0x3c], esp
je 0x509cf9
push 6
call fcn.0050d66a
add esp, 4
mov dword [ebp - 0x34], esp
mov eax, 1
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x1c]
push eax
push 0x419
call fcn.0050d65e
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x101
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x81
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x81
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x101
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x101
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x10
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push 0x68
mov eax, 0x2e
call fcn.0050d670
cmp dword [ebp - 0x34], esp
je 0x509dd2
push 6
call fcn.0050d66a
add esp, 4
push eax
mov ebx, dword [ebp - 0x3c]
push ebx
mov edi, dword [ebp - 0x40]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x509e13
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x509e11
imul eax, dword [edi]
jmp 0x509e06
mov ecx, eax
cmp ecx, 0x101
jle 0x509e20
mov ecx, 0x101
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x101
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x509e5e
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x509e5c
imul eax, dword [edi]
jmp 0x509e51
mov ecx, eax
cmp ecx, 0x81
jle 0x509e6b
mov ecx, 0x81
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x81
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x509ea9
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x509ea7
imul eax, dword [edi]
jmp 0x509e9c
mov ecx, eax
cmp ecx, 0x81
jle 0x509eb6
mov ecx, 0x81
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x81
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x509ef4
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x509ef2
imul eax, dword [edi]
jmp 0x509ee7
mov ecx, eax
cmp ecx, 0x101
jle 0x509f01
mov ecx, 0x101
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x101
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x509f3f
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x509f3d
imul eax, dword [edi]
jmp 0x509f32
mov ecx, eax
cmp ecx, 0x101
jle 0x509f4c
mov ecx, 0x101
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x101
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x509f8a
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x509f88
imul eax, dword [edi]
jmp 0x509f7d
mov ecx, eax
cmp ecx, 0x10
jle 0x509f94
mov ecx, 0x10
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x10
call fcn.0050d658
add esp, 4
pop eax
mov dword [ebp - 0x34], esp
mov eax, dword [ebp - 0x20]
push eax
push 0x704
call fcn.0050d65e
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x84
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
pop ebx
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x104
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x104
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x104
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x10
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x84
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x20
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0xc8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0xc8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0xcc
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, 0x2f
call fcn.0050d670
cmp dword [ebp - 0x34], esp
je 0x50a24c
push 6
call fcn.0050d66a
add esp, 4
push eax
mov ebx, dword [ebp - 0x38]
push ebx
mov edi, dword [ebp - 0x3c]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x50a2ab
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x50a2a9
imul eax, dword [edi]
jmp 0x50a29e
mov ecx, eax
cmp ecx, 8
jle 0x50a2b5
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 8
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x50a2f0
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x50a2ee
imul eax, dword [edi]
jmp 0x50a2e3
mov ecx, eax
cmp ecx, 0x84
jle 0x50a2fd
mov ecx, 0x84
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x84
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
pop ebx
add ebx, 4
pop edi
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
pop ebx
add ebx, 4
pop edi
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
pop ebx
add ebx, 4
pop edi
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
pop ebx
add ebx, 4
pop edi
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
pop ebx
add ebx, 4
pop edi
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x50a44e
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x50a44c
imul eax, dword [edi]
jmp 0x50a441
mov ecx, eax
cmp ecx, 0x104
jle 0x50a45b
mov ecx, 0x104
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x104
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x50a499
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x50a497
imul eax, dword [edi]
jmp 0x50a48c
mov ecx, eax
cmp ecx, 0x104
jle 0x50a4a6
mov ecx, 0x104
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x104
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x50a4e4
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x50a4e2
imul eax, dword [edi]
jmp 0x50a4d7
mov ecx, eax
cmp ecx, 0x104
jle 0x50a4f1
mov ecx, 0x104
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x104
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x50a52f
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x50a52d
imul eax, dword [edi]
jmp 0x50a522
mov ecx, eax
cmp ecx, 0x10
jle 0x50a539
mov ecx, 0x10
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x10
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x50a574
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x50a572
imul eax, dword [edi]
jmp 0x50a567
mov ecx, eax
cmp ecx, 0x84
jle 0x50a581
mov ecx, 0x84
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x84
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x50a5bf
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x50a5bd
imul eax, dword [edi]
jmp 0x50a5b2
mov ecx, eax
cmp ecx, 0x20
jle 0x50a5c9
mov ecx, 0x20
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x20
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x50a604
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x50a602
imul eax, dword [edi]
jmp 0x50a5f7
mov ecx, eax
cmp ecx, 0xc8
jle 0x50a611
mov ecx, 0xc8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0xc8
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x50a64f
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x50a64d
imul eax, dword [edi]
jmp 0x50a642
mov ecx, eax
cmp ecx, 0xc8
jle 0x50a65c
mov ecx, 0xc8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0xc8
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x50a69a
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x50a698
imul eax, dword [edi]
jmp 0x50a68d
mov ecx, eax
cmp ecx, 0xcc
jle 0x50a6a7
mov ecx, 0xcc
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0xcc
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
call fcn.0050d658
add esp, 4
pop eax
mov dword [ebp - 0xc], eax
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x34], ebx
mov eax, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x34]
mov dword [ebx], eax
mov ebx, dword [ebp - 8]
call fcn.004d2467
push ebx
push ecx
mov eax, dword [ebp - 0x18]
dec eax
jns 0x50a751
push 4
call fcn.0050d66a
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x50a764
push 1
call fcn.0050d66a
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x38], esp
push dword [ebp - 0x24]
push 0x68
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x20]
push eax
push 0x704
call fcn.0050d65e
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x84
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
pop ebx
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x104
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x104
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x104
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x10
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x84
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x20
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0xc8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0xc8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0xcc
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov ebx, dword [ebp - 0x34]
mov ebx, dword [ebx]
call fcn.004d2467
push ebx
push 0x68
mov eax, 0x30
call fcn.0050d670
cmp dword [ebp - 0x38], esp
je 0x50aa30
push 6
call fcn.0050d66a
add esp, 4
push eax
mov ebx, dword [ebp - 0x3c]
push ebx
mov edi, dword [ebp - 0x40]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x50aa8f
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x50aa8d
imul eax, dword [edi]
jmp 0x50aa82
mov ecx, eax
cmp ecx, 8
jle 0x50aa99
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 8
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x50aad4
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x50aad2
imul eax, dword [edi]
jmp 0x50aac7
mov ecx, eax
cmp ecx, 0x84
jle 0x50aae1
mov ecx, 0x84
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x84
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
pop ebx
add ebx, 4
pop edi
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
pop ebx
add ebx, 4
pop edi
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
pop ebx
add ebx, 4
pop edi
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
pop ebx
add ebx, 4
pop edi
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
pop ebx
add ebx, 4
pop edi
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x50ac32
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x50ac30
imul eax, dword [edi]
jmp 0x50ac25
mov ecx, eax
cmp ecx, 0x104
jle 0x50ac3f
mov ecx, 0x104
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x104
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x50ac7d
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x50ac7b
imul eax, dword [edi]
jmp 0x50ac70
mov ecx, eax
cmp ecx, 0x104
jle 0x50ac8a
mov ecx, 0x104
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x104
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x50acc8
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x50acc6
imul eax, dword [edi]
jmp 0x50acbb
mov ecx, eax
cmp ecx, 0x104
jle 0x50acd5
mov ecx, 0x104
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x104
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x50ad13
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x50ad11
imul eax, dword [edi]
jmp 0x50ad06
mov ecx, eax
cmp ecx, 0x10
jle 0x50ad1d
mov ecx, 0x10
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x10
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x50ad58
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x50ad56
imul eax, dword [edi]
jmp 0x50ad4b
mov ecx, eax
cmp ecx, 0x84
jle 0x50ad65
mov ecx, 0x84
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x84
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x50ada3
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x50ada1
imul eax, dword [edi]
jmp 0x50ad96
mov ecx, eax
cmp ecx, 0x20
jle 0x50adad
mov ecx, 0x20
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x20
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x50ade8
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x50ade6
imul eax, dword [edi]
jmp 0x50addb
mov ecx, eax
cmp ecx, 0xc8
jle 0x50adf5
mov ecx, 0xc8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0xc8
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x50ae33
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x50ae31
imul eax, dword [edi]
jmp 0x50ae26
mov ecx, eax
cmp ecx, 0xc8
jle 0x50ae40
mov ecx, 0xc8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0xc8
push ebx
push edi
push 1
mov eax, 2
call fcn.0050d652
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x50ae7e
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x50ae7c
imul eax, dword [edi]
jmp 0x50ae71
mov ecx, eax
cmp ecx, 0xcc
jle 0x50ae8b
mov ecx, 0xcc
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0xcc
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
call fcn.0050d658
add esp, 4
pop eax
push 0x68
push dword [ebp - 0x10]
call fcn.004d4ce5
add esp, 8
cmp eax, 0
jne 0x50af3d
push 0x68
push dword [ebp - 0x14]
call fcn.004d4ce5
add esp, 8
cmp eax, 0
jne 0x50af3d
xor eax, eax
jmp 0x50af42
mov eax, 1
test eax, eax
je 0x50b305
mov ebx, dword [ebp - 0x1c]
add ebx, 4
mov dword [ebp - 0x34], ebx
push dword [ebp - 0x34]
call fcn.0050d005
mov dword [ebp - 0x38], eax
push 0x80000004
push 0
mov eax, dword [ebp - 0x38]
test eax, eax
jne 0x50af71
mov eax, 0x68
push eax
push 1
mov ebx, 0x198
call fcn.0050d664
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x50af97
push ebx
call fcn.0050d658
add esp, 4
push 0xc850e
push dword [ebp - 0x3c]
mov ecx, 2
call fcn.004f87a1
add esp, 8
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x50afbf
push ebx
call fcn.0050d658
add esp, 4
mov eax, dword [ebp - 0x40]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x50afd3
push ebx
call fcn.0050d658
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 0x1c]
add ebx, 4
mov dword [ebp - 0x34], ebx
push dword [ebp - 0x34]
call fcn.0050d005
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x38]
push eax
call fcn.0050d17f
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x50b007
push ebx
call fcn.0050d658
add esp, 4
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x50b01b
push ebx
call fcn.0050d658
add esp, 4
pop eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x34], esp
push dword [ebp - 0x10]
push 0
push 0xc85ed
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x50b039
add eax, 8
push eax
mov eax, 0x31
call fcn.0050d670
cmp dword [ebp - 0x34], esp
je 0x50b056
push 6
call fcn.0050d66a
add esp, 4
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jne 0x50b09d
mov dword [ebp - 0x34], esp
push dword [ebp - 0x14]
push 0
push 0xc85ed
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x50b07d
add eax, 8
push eax
mov eax, 0x31
call fcn.0050d670
cmp dword [ebp - 0x34], esp
je 0x50b09a
push 6
call fcn.0050d66a
add esp, 4
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jne 0x50b0e1
mov dword [ebp - 0x34], esp
push dword [ebp - 0x10]
push 0
push 0xc85ed
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x50b0c1
add eax, 8
push eax
mov eax, 0x31
call fcn.0050d670
cmp dword [ebp - 0x34], esp
je 0x50b0de
push 6
call fcn.0050d66a
add esp, 4
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jne 0x50b125
mov dword [ebp - 0x34], esp
push dword [ebp - 0x14]
push 0
push 0xc85ed
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x50b105
add eax, 8
push eax
mov eax, 0x31
call fcn.0050d670
cmp dword [ebp - 0x34], esp
je 0x50b122
push 6
call fcn.0050d66a
add esp, 4
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jle 0x50b305
mov ebx, dword [8]
call fcn.004d244e
xor ecx, ecx
push eax
lea eax, [ebp - 0x18]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x50b302
mov ebx, dword [8]
call fcn.004d2467
push ebx
push ecx
mov eax, dword [ebp - 0x18]
dec eax
jns 0x50b171
push 4
call fcn.0050d66a
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x50b184
push 1
call fcn.0050d66a
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov dword [ebp - 0x34], ebx
push 0x80000301
push 0
push dword [ebp - 0x30]
push 1
mov ebx, 0x168
call fcn.0050d664
add esp, 0x10
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push eax
mov ebx, dword [ebp - 0x34]
push dword [ebx]
call fcn.004d4ce5
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x50b1dc
push ebx
call fcn.0050d658
add esp, 4
cmp dword [ebp - 0x3c], 0
je 0x50b248
mov ebx, dword [8]
call fcn.004d2467
push ebx
push ecx
mov eax, dword [ebp - 0x18]
dec eax
jns 0x50b206
push 4
call fcn.0050d66a
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x50b219
push 1
call fcn.0050d66a
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0xc
mov dword [ebp - 0x40], ebx
push 0x68
mov ebx, dword [ebp - 0x40]
push dword [ebx]
call fcn.004d4ce5
add esp, 8
cmp eax, 0
je 0x50b248
mov eax, 1
jmp 0x50b24a
xor eax, eax
test eax, eax
je 0x50b2fa
mov ebx, dword [ebp - 0x1c]
add ebx, 0x10
mov dword [ebp - 0x34], ebx
mov ebx, dword [8]
call fcn.004d2467
push ebx
push ecx
mov eax, dword [ebp - 0x18]
dec eax
jns 0x50b27b
push 4
call fcn.0050d66a
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x50b28e
push 1
call fcn.0050d66a
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x38], ebx
push dword [ebp - 0x38]
push dword [ebp - 0x34]
call fcn.0050d35b
mov ebx, dword [ebp - 0x1c]
add ebx, 0x14
mov dword [ebp - 0x34], ebx
mov ebx, dword [8]
call fcn.004d2467
push ebx
push ecx
mov eax, dword [ebp - 0x18]
dec eax
jns 0x50b2cf
push 4
call fcn.0050d66a
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x50b2e2
push 1
call fcn.0050d66a
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0xc
mov dword [ebp - 0x38], ebx
push dword [ebp - 0x38]
push dword [ebp - 0x34]
call fcn.0050d35b
pop eax
pop ebx
pop ecx
jmp 0x50b143
add esp, 0xc
mov ebx, dword [ebp - 0x1c]
add ebx, 4
mov dword [ebp - 0x34], ebx
push dword [ebp - 0x34]
call fcn.0050d005
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push eax
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
test ebx, ebx
je 0x50b32f
push ebx
call fcn.0050d658
add esp, 4
pop eax
mov ebx, dword [ebp + 8]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x1c]
add ebx, 0x10
mov dword [ebp - 0x34], ebx
push dword [ebp - 0x34]
call fcn.0050d005
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push eax
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
test ebx, ebx
je 0x50b35f
push ebx
call fcn.0050d658
add esp, 4
pop eax
mov ebx, dword [ebp + 0x10]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x1c]
add ebx, 0x14
mov dword [ebp - 0x34], ebx
push dword [ebp - 0x34]
call fcn.0050d005
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push eax
mov ebx, dword [ebp + 0x18]
mov ebx, dword [ebx]
test ebx, ebx
je 0x50b38f
push ebx
call fcn.0050d658
add esp, 4
pop eax
mov ebx, dword [ebp + 0x18]
mov dword [ebx], eax
pop eax
pop ebx
pop ecx
jmp 0x5099c1
add esp, 0xc
push 0x80000004
push 0
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx]
test eax, eax
jne 0x50b3b5
mov eax, 0x68
push eax
push 1
mov ebx, 0x174
call fcn.0050d664
add esp, 0x10
mov dword [ebp - 0x34], eax
push 0x68
push dword [ebp - 0x34]
call fcn.004d4ce5
add esp, 8
cmp eax, 0
mov eax, 0
setne al
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x50b3f9
push ebx
call fcn.0050d658
add esp, 4
mov eax, dword [ebp - 0x38]
jmp 0x50b401
push eax
mov ebx, dword [ebp - 8]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x50b420
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x50b41c
imul eax, dword [ebx]
jmp 0x50b411
mov ecx, eax
test ecx, ecx
je 0x50b45f
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0050d658
add esp, 4
pop ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x50b44e
push ebx
call fcn.0050d658
add esp, 4
pop ebx
call fcn.0050d658
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x50b426
call fcn.0050d658
add esp, 4
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x50b477
push ebx
call fcn.0050d658
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x50b487
push ebx
call fcn.0050d658
add esp, 4
mov ebx, dword [ebp - 0x1c]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0050d658
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0050d658
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0050d658
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0050d658
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0050d658
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0050d658
add esp, 4
pop ebx
call fcn.0050d658
add esp, 4
mov ebx, dword [ebp - 0x20]
push ebx
add ebx, 0x10
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0050d658
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0050d658
add esp, 4
pop ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0050d658
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0050d658
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0050d658
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0050d658
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0050d658
add esp, 4
pop ebx
add ebx, 0x10
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0050d658
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0050d658
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0050d658
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0050d658
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0050d658
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0050d658
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0050d658
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0050d658
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0050d658
add esp, 4
pop ebx
call fcn.0050d658
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x50b60f
push ebx
call fcn.0050d658
add esp, 4
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x50b61f
push ebx
call fcn.0050d658
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 0x18