Function at 0x51a393
Capabilities:
Check for software breakpoints
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x80
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
push 0x14
call fcn.0054ef50
add esp, 4
mov dword [ebp - 0xc], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 5
rep stosd dword es:[edi], eax
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
push 0x4c
call fcn.0054ef50
add esp, 4
mov dword [ebp - 0x18], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0x13
rep stosd dword es:[edi], eax
add ebx, 0x38
push ebx
push 0x10
call fcn.0054ef50
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x100ad7a4
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, 0xc
push ebx
push 0x1c
call fcn.0054ef50
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x100ad7ac
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 5
rep stosd dword es:[edi], eax
push 0x14
call fcn.0054ef50
add esp, 4
mov dword [ebp - 0x1c], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 5
rep stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0x1c
call fcn.0054ef50
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 7
rep stosd dword es:[edi], eax
pop ebx
add ebx, 4
push ebx
push 0x7c
call fcn.0054ef50
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0x1f
rep stosd dword es:[edi], eax
add ebx, 0x78
push ebx
push 0x80
call fcn.0054ef50
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0x20
rep stosd dword es:[edi], eax
pop ebx
pop ebx
add ebx, 4
push ebx
push 0x208
call fcn.0054ef50
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x100ad7b4
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push ebx
mov ebx, edi
mov ecx, 0x80
push ecx
push ebx
push 0x28
call fcn.0054ef50
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0xa
rep stosd dword es:[edi], eax
push ebx
push 0x10
call fcn.0054ef50
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x100ad784
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
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x51a4ea
pop ebx
add ebx, 4
push ebx
push 0x208
call fcn.0054ef50
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x100ad7b4
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x80
rep stosd dword es:[edi], eax
push 0x14
call fcn.0054ef50
add esp, 4
mov dword [ebp - 0x20], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 5
rep stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0x1c
call fcn.0054ef50
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 7
rep stosd dword es:[edi], eax
pop ebx
add ebx, 4
push ebx
push 0x7c
call fcn.0054ef50
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0x1f
rep stosd dword es:[edi], eax
add ebx, 0x78
push ebx
push 0x80
call fcn.0054ef50
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0x20
rep stosd dword es:[edi], eax
pop ebx
pop ebx
add ebx, 4
push ebx
push 0x208
call fcn.0054ef50
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x100ad7b4
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push ebx
mov ebx, edi
mov ecx, 0x80
push ecx
push ebx
push 0x28
call fcn.0054ef50
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0xa
rep stosd dword es:[edi], eax
push ebx
push 0x10
call fcn.0054ef50
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x100ad784
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
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x51a608
pop ebx
add ebx, 4
push ebx
push 0x208
call fcn.0054ef50
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x100ad7b4
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x80
rep stosd dword es:[edi], eax
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
push 0x2c
call fcn.0054ef50
add esp, 4
mov dword [ebp - 0x30], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0xb
rep stosd dword es:[edi], eax
push 8
call fcn.0054ef50
add esp, 4
mov dword [ebp - 0x34], eax
mov edi, eax
mov esi, 0x100ad689
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 8
call fcn.0054ef50
add esp, 4
mov dword [ebp - 0x38], eax
mov edi, eax
mov esi, 0x100ad689
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 8
call fcn.0054ef50
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x100ad689
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], 0
mov ebx, dword [0x100df0fc]
call fcn.0051a040
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
jne 0x51e81a
xor ecx, ecx
lea eax, [ebp - 4]
mov ebx, eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
cmp ecx, 3
jg 0x51e817
cmp dword [ebp - 4], 1
jne 0x51a789
mov eax, 0x100ad750
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00519732
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x51a76c
push ebx
call fcn.0054ef4a
add esp, 4
mov eax, dword [ebp - 0x50]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x51a780
push ebx
call fcn.0054ef4a
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x51a824
cmp dword [ebp - 4], 2
jne 0x51a7d4
mov eax, 0x100ad761
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00519732
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x51a7b7
push ebx
call fcn.0054ef4a
add esp, 4
mov eax, dword [ebp - 0x50]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x51a7cb
push ebx
call fcn.0054ef4a
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x51a824
cmp dword [ebp - 4], 3
jne 0x51a81f
mov eax, 0x100ad773
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00519732
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x51a802
push ebx
call fcn.0054ef4a
add esp, 4
mov eax, dword [ebp - 0x50]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x51a816
push ebx
call fcn.0054ef4a
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x51a824
jmp 0x51e81a
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x4c], ebx
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0
push 0
push 0
push 1
mov ebx, 0x1003a870
call fcn.0054ef56
add esp, 0x10
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
push eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x51a861
push ebx
call fcn.0054ef4a
add esp, 4
pop eax
mov dword [ebp - 0x10], eax
call fcn.0051ea16
mov dword [ebp - 0x4c], eax
push dword [ebp - 8]
push 0x100ad6de
push dword [ebp - 0x4c]
mov ecx, 3
call fcn.0051938c
add esp, 0xc
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x51a898
push ebx
call fcn.0054ef4a
add esp, 4
mov dword [ebp - 0x54], esp
push 0
push dword [ebp - 0x10]
push dword [ebp - 0x50]
mov eax, 4
call fcn.0054ef62
cmp dword [ebp - 0x54], esp
je 0x51a8c2
push 6
call fcn.0054ef5c
add esp, 4
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x51a8d2
push ebx
call fcn.0054ef4a
add esp, 4
mov dword [ebp - 0x4c], esp
push 0
push 0
push 3
push 0
push 1
push closesocket
push dword [ebp - 0x10]
mov eax, 5
call fcn.0054ef62
cmp dword [ebp - 0x4c], esp
je 0x51a912
push 6
call fcn.0054ef5c
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x51e7cc
mov dword [ebp - 0x4c], esp
push 0
push 0
push 0
push dword [ebp - 0x14]
mov eax, 6
call fcn.0054ef62
cmp dword [ebp - 0x4c], esp
je 0x51a950
push 6
call fcn.0054ef5c
add esp, 4
mov dword [ebp - 0x4c], esp
push 0
mov eax, 0
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
push 0x40
mov eax, dword [ebp - 0x18]
push eax
push 0x40
call fcn.0054ef50
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], eax
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 4
mov esi, ebx
shl ecx, 1
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0xa
mov esi, ebx
shl ecx, 1
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 dword [ebp - 0x14]
mov eax, 7
call fcn.0054ef62
cmp dword [ebp - 0x4c], esp
je 0x51aa8d
push 6
call fcn.0054ef5c
add esp, 4
push eax
mov ebx, dword [ebp - 0x54]
push ebx
mov edi, dword [ebp - 0x58]
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 2
mov eax, 2
call fcn.0054ef44
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 0x51ab5e
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x51ab5c
imul eax, dword [edi]
jmp 0x51ab51
mov ecx, eax
cmp ecx, 4
jle 0x51ab68
mov ecx, 4
mov esi, ebx
shl ecx, 1
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 8
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 2
mov eax, 2
call fcn.0054ef44
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 0x51abbb
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x51abb9
imul eax, dword [edi]
jmp 0x51abae
mov ecx, eax
cmp ecx, 0xa
jle 0x51abc5
mov ecx, 0xa
mov esi, ebx
shl ecx, 1
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x14
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
call fcn.0054ef4a
add esp, 4
pop eax
test eax, eax
je 0x51ac09
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
cmp word [ebx], 0x5a4d
jne 0x51ac09
mov eax, 1
jmp 0x51ac0b
xor eax, eax
test eax, eax
je 0x51e7cc
mov ebx, dword [ebp - 0x18]
add ebx, 0x48
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x50], esp
push 0
push 0
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
push dword [ebp - 0x14]
mov eax, 6
call fcn.0054ef62
cmp dword [ebp - 0x50], esp
je 0x51ac4d
push 6
call fcn.0054ef5c
add esp, 4
mov eax, dword [ebp - 0x20]
push eax
push 0x14
call fcn.0054ef50
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push 0x1c
call fcn.0054ef50
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push 0x7c
call fcn.0054ef50
add esp, 4
pop esi
mov edi, eax
push eax
mov ecx, 0x1e
rep movsd dword es:[edi], dword [esi]
lodsd eax, dword [esi]
push esi
push edi
push eax
push 0x80
call fcn.0054ef50
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
pop eax
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
mov ebx, eax
call fcn.00517e1a
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.0054ef50
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x51ad2e
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
push eax
push 0x28
call fcn.0054ef50
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push eax
mov ebx, eax
call fcn.00517e1a
pop eax
sub ebx, eax
add ecx, ebx
push ecx
call fcn.0054ef50
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop eax
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x51ace4
pop eax
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push eax
mov ebx, eax
call fcn.00517e1a
pop eax
sub ebx, eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.0054ef50
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
pop eax
push eax
mov ebx, dword [ebp - 0x1c]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0054ef4a
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 0x78
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0054ef4a
add esp, 4
pop ebx
call fcn.0054ef4a
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x51adab
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x51ada7
imul eax, dword [ebx]
jmp 0x51ad9c
mov ecx, eax
test ecx, ecx
je 0x51add3
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0054ef4a
add esp, 4
pop ebx
call fcn.0054ef4a
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x51adb1
call fcn.0054ef4a
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0054ef4a
add esp, 4
pop ebx
call fcn.0054ef4a
add esp, 4
pop eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x4c], esp
push 0
mov eax, 0
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
push 0xf8
mov eax, dword [ebp - 0x1c]
push eax
push 0x16f8
call fcn.0054ef50
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], eax
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 word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
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 word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
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 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 word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
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 word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
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
push ebx
mov ebx, dword [ebx]
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, 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, 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, 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
pop ebx
add ebx, 4
pop ebx
add ebx, 4
push ebx
mov ecx, 0x80
mov ebx, dword [ebx]
add ebx, 8
push ebx
push ecx
mov ebx, dword [ebx]
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
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 word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
pop ecx
pop ebx
add ebx, 4
dec ecx
jne 0x51b114
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x80
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
pop ebx
add ebx, 4
push dword [ebp - 0x14]
mov eax, 8
call fcn.0054ef62
cmp dword [ebp - 0x4c], esp
je 0x51b1cf
push 6
call fcn.0054ef5c
add esp, 4
push eax
mov ebx, dword [ebp - 0x54]
push ebx
mov edi, dword [ebp - 0x58]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
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 ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
pop ebx
add ebx, 0x14
pop edi
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov ax, word [ebx]
add ebx, 2
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 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 ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
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 ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
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
push edi
mov edi, dword [edi]
push ebx
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, 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, 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, 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
pop ebx
add ebx, 0x80
pop edi
add edi, 4
pop ebx
add ebx, 0xe0
pop edi
add edi, 4
push edi
mov edi, dword [edi]
mov ecx, 0x80
add edi, 8
push ebx
push edi
push ecx
mov edi, dword [edi]
push ebx
push edi
push 1
mov eax, 2
call fcn.0054ef44
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 0x51b50b
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x51b509
imul eax, dword [edi]
jmp 0x51b4fe
mov ecx, eax
cmp ecx, 8
jle 0x51b515
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 8
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 ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
pop ecx
pop edi
pop ebx
add edi, 4
add ebx, 0x28
dec ecx
jne 0x51b4d7
pop edi
add edi, 4
push ebx
push edi
push 4
mov eax, 2
call fcn.0054ef44
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 0x51b5c3
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x51b5c1
imul eax, dword [edi]
jmp 0x51b5b6
mov ecx, eax
cmp ecx, 0x80
jle 0x51b5d0
mov ecx, 0x80
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x200
call fcn.0054ef4a
add esp, 4
pop eax
test eax, eax
je 0x51b60c
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
cmp dword [ebx], 0x4550
jne 0x51b60c
mov eax, 1
jmp 0x51b60e
xor eax, eax
test eax, eax
je 0x51e7cc
mov ebx, dword [ebp - 0x1c]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 4]
add ebx, 4
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x58], 1
mov ebx, dword [ebp - 0x50]
mov ax, word [ebx]
cwde
cmp eax, 0
jge 0x51b64b
push 0xa
call fcn.0054ef5c
add esp, 4
mov dword [ebp - 0x54], eax
lea ebx, [ebp - 0x58]
call fcn.00517e1a
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.0054ef50
add esp, 4
mov edi, eax
mov dword [edi], 1
add edi, 4
pop ecx
push eax
push ecx
lea esi, [ebp - 0x54]
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov ebx, dword [ebp - 0x4c]
mov ebx, dword [ebx]
call fcn.00517e1a
pop edx
test ecx, ecx
je 0x51b6b2
push edi
push edx
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0054ef4a
add esp, 4
pop ebx
call fcn.0054ef4a
add esp, 4
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x51b68e
pop edx
pop edi
test edx, edx
je 0x51b704
mov ebx, edi
push edx
push ebx
push 0x28
call fcn.0054ef50
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0xa
rep stosd dword es:[edi], eax
push ebx
push 0x10
call fcn.0054ef50
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x100ad784
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
pop ebx
pop edx
add ebx, 4
dec edx
jne 0x51b6bc
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
call fcn.0054ef4a
add esp, 4
pop eax
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x1c]
add ebx, 0x10
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 4]
add ebx, 4
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x58], 1
mov ebx, dword [ebp - 0x50]
mov ax, word [ebx]
cwde
cmp eax, 0
jge 0x51b74c
push 0xa
call fcn.0054ef5c
add esp, 4
mov dword [ebp - 0x54], eax
lea ebx, [ebp - 0x58]
call fcn.00517e1a
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.0054ef50
add esp, 4
mov edi, eax
mov dword [edi], 1
add edi, 4
pop ecx
push eax
push ecx
lea esi, [ebp - 0x54]
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov ebx, dword [ebp - 0x4c]
mov ebx, dword [ebx]
call fcn.00517e1a
pop edx
test edx, edx
je 0x51b793
mov ecx, edx
xor eax, eax
rep stosd dword es:[edi], eax
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
call fcn.0054ef4a
add esp, 4
pop eax
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 4]
add ebx, 0x14
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov ax, word [ebx]
cwde
mov dword [ebp - 0x54], eax
fild dword [ebp - 0x54]
fstp qword [ebp - 0x54]
fld qword [ebp - 0x54]
fsub qword [0x100ad78c]
fstp qword [ebp - 0x5c]
mov dword [ebp - 0x60], esp
push 1
push 0
fld qword [ebp - 0x5c]
call fcn.00517df3
push eax
push dword [ebp - 0x14]
mov eax, 6
call fcn.0054ef62
cmp dword [ebp - 0x60], esp
je 0x51b803
push 6
call fcn.0054ef5c
add esp, 4
mov ebx, dword [ebp - 0x1c]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 4]
add ebx, 4
mov dword [ebp - 0x50], ebx
mov ebx, dword [ebp - 0x50]
mov ax, word [ebx]
cwde
mov dword [ebp - 0x58], eax
fild dword [ebp - 0x58]
fstp qword [ebp - 0x58]
fld qword [ebp - 0x58]
fmul qword [0x100ad794]
fstp qword [ebp - 0x60]
mov dword [ebp - 0x64], esp
push 0
mov eax, 0
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x68]
push eax
fld qword [ebp - 0x60]
call fcn.00517df3
push eax
mov ebx, dword [ebp - 0x4c]
mov ebx, dword [ebx]
call fcn.00517e1a
push ebx
mov dword [ebp - 0x6c], ecx
test ecx, ecx
jne 0x51b867
xor eax, eax
jmp 0x51b873
imul ecx, ecx, 0x28
push ecx
call fcn.0054ef50
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
je 0x51b916
push ecx
push edi
push ebx
mov ebx, dword [ebx]
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
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 word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
pop ebx
pop edi
pop ecx
dec ecx
je 0x51b916
add ebx, 4
add edi, 0x28
jmp 0x51b888
push dword [ebp - 0x14]
mov eax, 9
call fcn.0054ef62
cmp dword [ebp - 0x64], esp
je 0x51b935
push 6
call fcn.0054ef5c
add esp, 4
push eax
mov ebx, dword [ebp - 0x70]
push ebx
mov edi, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
je 0x51ba05
push ecx
push edi
push ebx
mov edi, dword [edi]
push ebx
push edi
push 1
mov eax, 2
call fcn.0054ef44
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 0x51b97c
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x51b97a
imul eax, dword [edi]
jmp 0x51b96f
mov ecx, eax
cmp ecx, 8
jle 0x51b986
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 8
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 ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
pop ebx
pop edi
pop ecx
dec ecx
je 0x51ba05
add ebx, 0x28
add edi, 4
jmp 0x51b948
call fcn.0054ef4a
add esp, 4
pop eax
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 4]
add ebx, 4
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov ax, word [ebx]
cwde
xor ecx, ecx
push eax
lea eax, [ebp - 0x24]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x51bb21
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0x10]
call fcn.00517e1a
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x51ba58
push 4
call fcn.0054ef5c
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x51ba6b
push 1
call fcn.0054ef5c
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.00517e1a
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x51ba93
push 4
call fcn.0054ef5c
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x51baa6
push 1
call fcn.0054ef5c
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x50], ebx
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.00517e1a
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x51bad3
push 4
call fcn.0054ef5c
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x51bae6
push 1
call fcn.0054ef5c
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x10
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x50]
fild dword [ebx]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
mov ebx, dword [ebp - 0x54]
fild dword [ebx]
fstp qword [ebp - 0x64]
fsub qword [ebp - 0x64]
fstp qword [ebp - 0x6c]
fld qword [ebp - 0x6c]
call fcn.00517df3
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
pop eax
pop ebx
pop ecx
jmp 0x51ba2a
add esp, 0xc
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 8]
mov ebx, dword [ebx + 0x78]
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 4]
add ebx, 4
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov ax, word [ebx]
cwde
xor ecx, ecx
push eax
lea eax, [ebp - 0x24]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x51bce7
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.00517e1a
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x51bb82
push 4
call fcn.0054ef5c
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x51bb95
push 1
call fcn.0054ef5c
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
cmp dword [ebp - 0x28], eax
jl 0x51bc6d
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.00517e1a
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x51bbd0
push 4
call fcn.0054ef5c
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x51bbe3
push 1
call fcn.0054ef5c
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.00517e1a
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x51bc10
push 4
call fcn.0054ef5c
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x51bc23
push 1
call fcn.0054ef5c
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x58], ebx
mov ebx, dword [ebp - 0x54]
fild dword [ebx]
fstp qword [ebp - 0x60]
fld qword [ebp - 0x60]
mov ebx, dword [ebp - 0x58]
fild dword [ebx]
fstp qword [ebp - 0x68]
fadd qword [ebp - 0x68]
fstp qword [ebp - 0x70]
fild dword [ebp - 0x28]
fstp qword [ebp - 0x78]
fld qword [ebp - 0x78]
fsub qword [ebp - 0x70]
fcomp qword [0x100ad691]
fnstsw ax
test ah, 0x41
je 0x51bc6d
mov eax, 1
jmp 0x51bc6f
xor eax, eax
test eax, eax
je 0x51bcdf
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0x10]
call fcn.00517e1a
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x51bc97
push 4
call fcn.0054ef5c
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x51bcaa
push 1
call fcn.0054ef5c
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
fild dword [ebp - 0x28]
fstp qword [ebp - 0x50]
fld qword [ebp - 0x50]
fild dword [ebp - 0x2c]
fstp qword [ebp - 0x58]
fsub qword [ebp - 0x58]
fstp qword [ebp - 0x60]
fld qword [ebp - 0x60]
call fcn.00517df3
mov dword [ebp - 0x28], eax
jmp 0x51bce7
pop eax
pop ebx
pop ecx
jmp 0x51bb54
add esp, 0xc
cmp dword [ebp - 0x28], 0
jle 0x51e7cc
mov dword [ebp - 0x4c], esp
push 0
push 0
push dword [ebp - 0x28]
push dword [ebp - 0x14]
mov eax, 6
call fcn.0054ef62
cmp dword [ebp - 0x4c], esp
je 0x51bd23
push 6
call fcn.0054ef5c
add esp, 4
mov dword [ebp - 0x4c], esp
push 0
mov eax, 0
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
push 0x28
mov eax, dword [ebp - 0x30]
push eax
push 0x28
call fcn.0054ef50
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], 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 word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
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
push dword [ebp - 0x14]
mov eax, 0xa
call fcn.0054ef62
cmp dword [ebp - 0x4c], esp
je 0x51bde6
push 6
call fcn.0054ef5c
add esp, 4
push eax
mov ebx, dword [ebp - 0x54]
push ebx
mov edi, dword [ebp - 0x58]
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 ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
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.0054ef4a
add esp, 4
pop eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x20
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x30]
add ebx, 0x20
mov dword [ebp - 0x50], ebx
mov ebx, dword [ebp - 0x50]
fild dword [ebx]
fstp qword [ebp - 0x58]
fld qword [ebp - 0x58]
fild dword [ebp - 0x2c]
fstp qword [ebp - 0x60]
fsub qword [ebp - 0x60]
fstp qword [ebp - 0x68]
fld qword [ebp - 0x68]
call fcn.00517df3
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x18
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x54], 1
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
cmp eax, 0
jge 0x51bec4
push 0xa
call fcn.0054ef5c
add esp, 4
mov dword [ebp - 0x50], eax
lea ebx, [ebp - 0x54]
call fcn.00517e1a
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.0054ef50
add esp, 4
mov edi, eax
mov dword [edi], 1
add edi, 4
pop ecx
push eax
push ecx
lea esi, [ebp - 0x50]
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov ebx, dword [ebp - 0x34]
call fcn.00517e1a
pop edx
test edx, edx
je 0x51bf09
mov ecx, edx
xor eax, eax
rep stosd dword es:[edi], eax
push dword [ebp - 0x34]
call fcn.0054ef4a
add esp, 4
pop eax
mov dword [ebp - 0x34], eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x20
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x50], esp
push 0
push 0
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
push dword [ebp - 0x14]
mov eax, 6
call fcn.0054ef62
cmp dword [ebp - 0x50], esp
je 0x51bf52
push 6
call fcn.0054ef5c
add esp, 4
mov ebx, dword [ebp - 0x30]
add ebx, 0x18
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
fild dword [ebx]
fstp qword [ebp - 0x54]
fld qword [ebp - 0x54]
fmul qword [0x100ad6ec]
fstp qword [ebp - 0x5c]
mov dword [ebp - 0x60], esp
push 0
mov eax, 0
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x64]
push eax
fld qword [ebp - 0x5c]
call fcn.00517df3
push eax
mov ebx, dword [ebp - 0x34]
call fcn.00517e1a
push ebx
push dword [ebp - 0x14]
mov eax, 0xb
call fcn.0054ef62
cmp dword [ebp - 0x60], esp
je 0x51bfb4
push 6
call fcn.0054ef5c
add esp, 4
mov ebx, dword [ebp - 0x30]
add ebx, 0x28
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x30]
add ebx, 0x28
mov dword [ebp - 0x50], ebx
mov ebx, dword [ebp - 0x50]
fild dword [ebx]
fstp qword [ebp - 0x58]
fld qword [ebp - 0x58]
fild dword [ebp - 0x2c]
fstp qword [ebp - 0x60]
fsub qword [ebp - 0x60]
fstp qword [ebp - 0x68]
fld qword [ebp - 0x68]
call fcn.00517df3
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x54], 1
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
cmp eax, 0
jge 0x51c011
push 0xa
call fcn.0054ef5c
add esp, 4
mov dword [ebp - 0x50], eax
lea ebx, [ebp - 0x54]
call fcn.00517e1a
push ecx
shl ecx, 1
add ecx, 8
push ecx
call fcn.0054ef50
add esp, 4
mov edi, eax
mov dword [edi], 1
add edi, 4
pop ecx
push eax
push ecx
lea esi, [ebp - 0x50]
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov ebx, dword [ebp - 0x38]
call fcn.00517e1a
pop edx
test edx, edx
je 0x51c057
mov ecx, edx
xor eax, eax
shl ecx, 1
rep stosb byte es:[edi], al
push dword [ebp - 0x38]
call fcn.0054ef4a
add esp, 4
pop eax
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x28
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x50], esp
push 0
push 0
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
push dword [ebp - 0x14]
mov eax, 6
call fcn.0054ef62
cmp dword [ebp - 0x50], esp
je 0x51c0a0
push 6
call fcn.0054ef5c
add esp, 4
mov ebx, dword [ebp - 0x30]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
fild dword [ebx]
fstp qword [ebp - 0x54]
fld qword [ebp - 0x54]
fmul qword [0x100ad704]
fstp qword [ebp - 0x5c]
mov dword [ebp - 0x60], esp
push 0
mov eax, 0
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x64]
push eax
fld qword [ebp - 0x5c]
call fcn.00517df3
push eax
mov ebx, dword [ebp - 0x38]
call fcn.00517e1a
push ebx
push dword [ebp - 0x14]
mov eax, 0xc
call fcn.0054ef62
cmp dword [ebp - 0x60], esp
je 0x51c102
push 6
call fcn.0054ef5c
add esp, 4
mov ebx, dword [ebp - 0x30]
add ebx, 0x24
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x30]
add ebx, 0x24
mov dword [ebp - 0x50], ebx
mov ebx, dword [ebp - 0x50]
fild dword [ebx]
fstp qword [ebp - 0x58]
fld qword [ebp - 0x58]
fild dword [ebp - 0x2c]
fstp qword [ebp - 0x60]
fsub qword [ebp - 0x60]
fstp qword [ebp - 0x68]
fld qword [ebp - 0x68]
call fcn.00517df3
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x54], 1
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
cmp eax, 0
jge 0x51c15f
push 0xa
call fcn.0054ef5c
add esp, 4
mov dword [ebp - 0x50], eax
lea ebx, [ebp - 0x54]
call fcn.00517e1a
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.0054ef50
add esp, 4
mov edi, eax
mov dword [edi], 1
add edi, 4
pop ecx
push eax
push ecx
lea esi, [ebp - 0x50]
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov ebx, dword [ebp - 0x3c]
call fcn.00517e1a
pop edx
test edx, edx
je 0x51c1a4
mov ecx, edx
xor eax, eax
rep stosd dword es:[edi], eax
push dword [ebp - 0x3c]
call fcn.0054ef4a
add esp, 4
pop eax
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x24
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x50], esp
push 0
push 0
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
push dword [ebp - 0x14]
mov eax, 6
call fcn.0054ef62
cmp dword [ebp - 0x50], esp
je 0x51c1ed
push 6
call fcn.0054ef5c
add esp, 4
mov ebx, dword [ebp - 0x30]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
fild dword [ebx]
fstp qword [ebp - 0x54]
fld qword [ebp - 0x54]
fmul qword [0x100ad6ec]
fstp qword [ebp - 0x5c]
mov dword [ebp - 0x60], esp
push 0
mov eax, 0
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x64]
push eax
fld qword [ebp - 0x5c]
call fcn.00517df3
push eax
mov ebx, dword [ebp - 0x3c]
call fcn.00517e1a
push ebx
push dword [ebp - 0x14]
mov eax, 0xb
call fcn.0054ef62
cmp dword [ebp - 0x60], esp
je 0x51c24f
push 6
call fcn.0054ef5c
add esp, 4
mov ebx, dword [ebp - 0x30]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
xor ecx, ecx
push eax
lea eax, [ebp - 0x24]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x51e7c9
push 0x80000301
push 0
push 0x80
push 1
mov ebx, 0x1003a0c0
call fcn.0054ef56
add esp, 0x10
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
push eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x51c2a9
push ebx
call fcn.0054ef4a
add esp, 4
pop eax
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
call fcn.00517e1a
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x51c2ca
push 4
call fcn.0054ef5c
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x51c2dd
push 1
call fcn.0054ef5c
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x3c]
call fcn.00517e1a
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x51c302
push 4
call fcn.0054ef5c
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x51c315
push 1
call fcn.0054ef5c
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x50], ebx
mov ebx, dword [ebp - 0x50]
fild dword [ebx]
fstp qword [ebp - 0x58]
fld qword [ebp - 0x58]
fild dword [ebp - 0x2c]
fstp qword [ebp - 0x60]
fsub qword [ebp - 0x60]
fstp qword [ebp - 0x68]
fld qword [ebp - 0x68]
call fcn.00517df3
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x3c]
call fcn.00517e1a
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x51c35e
push 4
call fcn.0054ef5c
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x51c371
push 1
call fcn.0054ef5c
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x50], esp
push 0
push 0
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
push dword [ebp - 0x14]
mov eax, 6
call fcn.0054ef62
cmp dword [ebp - 0x50], esp
je 0x51c3aa
push 6
call fcn.0054ef5c
add esp, 4
mov dword [ebp - 0x4c], esp
push 0
mov eax, 0
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
push 0x80
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x51c3cd
add eax, 8
push eax
push dword [ebp - 0x14]
mov eax, 0xd
call fcn.0054ef62
cmp dword [ebp - 0x4c], esp
je 0x51c3ed
push 6
call fcn.0054ef5c
add esp, 4
cmp dword [ebp - 4], 1
jne 0x51c46b
mov ebx, dword [ebp - 0x40]
call fcn.00517e1a
mov eax, 0
cmp eax, ecx
jl 0x51c415
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x5a
jne 0x51c459
mov ebx, dword [ebp - 0x40]
call fcn.00517e1a
mov eax, 1
cmp eax, ecx
jl 0x51c444
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x77
jne 0x51c459
xor eax, eax
jmp 0x51c45e
mov eax, 1
test eax, eax
je 0x51c46b
jmp 0x51e7c1
mov ebx, dword [ebp - 0x34]
call fcn.00517e1a
push ebx
push ecx
mov ebx, dword [ebp - 0x38]
call fcn.00517e1a
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x51c492
push 4
call fcn.0054ef5c
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x51c4a5
push 1
call fcn.0054ef5c
add esp, 4
shl eax, 1
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov ax, word [ebx]
cwde
mov dword [ebp - 0x54], eax
fild dword [ebp - 0x54]
fstp qword [ebp - 0x54]
fld qword [ebp - 0x54]
fadd qword [0x100ad6d6]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
call fcn.00517df3
dec eax
jns 0x51c4e0
push 4
call fcn.0054ef5c
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x51c4f3
push 1
call fcn.0054ef5c
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jne 0x51c512
jmp 0x51e7c1
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 4]
add ebx, 4
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov ax, word [ebx]
cwde
xor ecx, ecx
push eax
lea eax, [ebp - 0x24]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x51c6bb
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.00517e1a
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x51c55c
push 4
call fcn.0054ef5c
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x51c56f
push 1
call fcn.0054ef5c
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
cmp dword [ebp - 0x44], eax
jl 0x51c647
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.00517e1a
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x51c5aa
push 4
call fcn.0054ef5c
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x51c5bd
push 1
call fcn.0054ef5c
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.00517e1a
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x51c5ea
push 4
call fcn.0054ef5c
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x51c5fd
push 1
call fcn.0054ef5c
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x58], ebx
mov ebx, dword [ebp - 0x54]
fild dword [ebx]
fstp qword [ebp - 0x60]
fld qword [ebp - 0x60]
mov ebx, dword [ebp - 0x58]
fild dword [ebx]
fstp qword [ebp - 0x68]
fadd qword [ebp - 0x68]
fstp qword [ebp - 0x70]
fild dword [ebp - 0x44]
fstp qword [ebp - 0x78]
fld qword [ebp - 0x78]
fsub qword [ebp - 0x70]
fcomp qword [0x100ad691]
fnstsw ax
test ah, 0x41
je 0x51c647
mov eax, 1
jmp 0x51c649
xor eax, eax
test eax, eax
je 0x51c6b3
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0x10]
call fcn.00517e1a
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x51c671
push 4
call fcn.0054ef5c
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x51c684
push 1
call fcn.0054ef5c
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x4c], ebx
fild dword [ebp - 0x44]
fstp qword [ebp - 0x54]
fld qword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
fild dword [ebx]
fstp qword [ebp - 0x5c]
fsub qword [ebp - 0x5c]
fstp qword [ebp - 0x64]
fld qword [ebp - 0x64]
call fcn.00517df3
mov dword [ebp - 0x44], eax
jmp 0x51c6bb
pop eax
pop ebx
pop ecx
jmp 0x51c52e
add esp, 0xc
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 4]
add ebx, 4
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov ax, word [ebx]
cwde
cmp dword [ebp - 0x24], eax
jle 0x51c6df
jmp 0x51e7c1
push 0x80000301
push 0
push 0x20
push 1
mov ebx, 0x1003a0c0
call fcn.0054ef56
add esp, 0x10
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
push eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x51c714
push ebx
call fcn.0054ef4a
add esp, 4
pop eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x4c], esp
push 0
push 0
push dword [ebp - 0x44]
push dword [ebp - 0x14]
mov eax, 6
call fcn.0054ef62
cmp dword [ebp - 0x4c], esp
je 0x51c747
push 6
call fcn.0054ef5c
add esp, 4
mov dword [ebp - 0x4c], esp
push 0
mov eax, 0
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
push 0x20
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x51c76a
add eax, 8
push eax
push dword [ebp - 0x14]
mov eax, 0xd
call fcn.0054ef62
cmp dword [ebp - 0x4c], esp
je 0x51c78a
push 6
call fcn.0054ef5c
add esp, 4
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0
cmp eax, ecx
jl 0x51c7a8
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xb8
je 0x51c7be
jmp 0x51e7c1
mov ebx, dword [ebp - 0xc]
add ebx, 4
mov dword [ebp - 0x4c], ebx
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x40]
test eax, eax
jne 0x51c7da
mov eax, 0x100ad689
push eax
push 1
mov ebx, 0x1003a400
call fcn.0054ef56
add esp, 0x10
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
push eax
mov ebx, dword [ebp - 0x4c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x51c806
push ebx
call fcn.0054ef4a
add esp, 4
pop eax
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [0x100df100]
add ebx, 4
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp dword [ebx], 5
jne 0x51c843
mov ebx, dword [0x100df100]
add ebx, 8
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp dword [ebx], 0
jne 0x51c843
mov eax, 1
jmp 0x51c845
xor eax, eax
test eax, eax
je 0x51d051
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 9
cmp eax, ecx
jl 0x51c86b
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xcd
jne 0x51c8b2
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0xa
cmp eax, ecx
jl 0x51c89a
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x2e
jne 0x51c8b2
mov eax, 1
jmp 0x51c8b4
xor eax, eax
test eax, eax
je 0x51d04c
mov ebx, dword [ebp - 0xc]
add ebx, 8
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 2
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x51c8f0
mov eax, 0x100ad689
push eax
push 3
mov ebx, 0x10039d50
call fcn.0054ef56
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x51c924
and eax, 0xff
jmp 0x51c96f
cmp ecx, 0x80000201
jne 0x51c92f
cwde
jmp 0x51c96f
cmp ecx, 0x80000301
je 0x51c96f
cmp ecx, 0x80000401
je 0x51c96f
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x51c95f
cmp ecx, 0x80000601
je 0x51c964
push 2
call fcn.0054ef5c
add esp, 4
fld dword [ebp - 0x60]
jmp 0x51c96a
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00517df3
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0xb
cmp eax, ecx
jl 0x51c992
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x51cb16
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0xd
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x51c9d7
mov eax, 0x100ad689
push eax
push 3
mov ebx, 0x10039d50
call fcn.0054ef56
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x51ca0b
and eax, 0xff
jmp 0x51ca56
cmp ecx, 0x80000201
jne 0x51ca16
cwde
jmp 0x51ca56
cmp ecx, 0x80000301
je 0x51ca56
cmp ecx, 0x80000401
je 0x51ca56
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x51ca46
cmp ecx, 0x80000601
je 0x51ca4b
push 2
call fcn.0054ef5c
add esp, 4
fld dword [ebp - 0x60]
jmp 0x51ca51
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00517df3
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x100df0fc
push 4
mov eax, 2
call fcn.0054ef44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x100df0fc]
mov dword [ebp - 0x50], ebx
call fcn.00517e1a
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x51caa2
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0054ef68
add esp, 8
mov dword [0x100df0fc], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0054ef50
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x51cafe
push eax
mov ebx, eax
call fcn.00519321
inc eax
push eax
call fcn.0054ef50
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x51e7c1
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0xb
cmp eax, ecx
jl 0x51cb34
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
jne 0x51cc12
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
push 0x100df0fc
push 4
mov eax, 2
call fcn.0054ef44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x100df0fc]
mov dword [ebp - 0x50], ebx
call fcn.00517e1a
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x51cb9e
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0054ef68
add esp, 8
mov dword [0x100df0fc], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0054ef50
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x51cbfa
push eax
mov ebx, eax
call fcn.00519321
inc eax
push eax
call fcn.0054ef50
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x51e7c1
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0xb
cmp eax, ecx
jl 0x51cc30
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xe9
jne 0x51d04c
push 0x80000301
push 0
push 0xd
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x51cc6c
mov eax, 0x100ad689
push eax
push 3
mov ebx, 0x10039d50
call fcn.0054ef56
add esp, 0x28
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], ecx
fild dword [ebp - 0x44]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x54]
cmp ecx, 0x80000101
jne 0x51cca9
and eax, 0xff
jmp 0x51cccf
cmp ecx, 0x80000201
jne 0x51ccb4
cwde
jmp 0x51cccf
mov dword [ebp - 0x64], eax
cmp ecx, 0x80000301
je 0x51ccd2
cmp ecx, 0x80000401
jne 0x51ccd7
mov dword [ebp - 0x60], edx
fild qword [ebp - 0x64]
jmp 0x51ccf9
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
jmp 0x51ccf9
cmp ecx, 0x80000501
jne 0x51cce4
fld dword [ebp - 0x64]
jmp 0x51ccf9
cmp ecx, 0x80000601
je 0x51cd02
push 2
call fcn.0054ef5c
add esp, 4
fstp qword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
fadd qword [ebp - 0x64]
fadd qword [0x100ad79c]
fstp qword [ebp - 0x6c]
mov ecx, dword [ebp - 0x4c]
cmp ecx, 0x80000004
je 0x51cd2b
cmp ecx, reloc.WS2_32.dll_getpeername
jne 0x51cd3b
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x51cd3b
push ebx
call fcn.0054ef4a
add esp, 4
mov dword [ebp - 0x70], esp
push 0
push 0
fld qword [ebp - 0x6c]
call fcn.00517df3
push eax
push dword [ebp - 0x14]
mov eax, 6
call fcn.0054ef62
cmp dword [ebp - 0x70], esp
je 0x51cd70
push 6
call fcn.0054ef5c
add esp, 4
mov dword [ebp - 0x4c], esp
push 0
mov eax, 0
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
push 3
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x51cd93
add eax, 8
push eax
push dword [ebp - 0x14]
mov eax, 0xd
call fcn.0054ef62
cmp dword [ebp - 0x4c], esp
je 0x51cdb3
push 6
call fcn.0054ef5c
add esp, 4
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0
cmp eax, ecx
jl 0x51cdd1
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x51cf55
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 2
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x51ce16
mov eax, 0x100ad689
push eax
push 3
mov ebx, 0x10039d50
call fcn.0054ef56
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x51ce4a
and eax, 0xff
jmp 0x51ce95
cmp ecx, 0x80000201
jne 0x51ce55
cwde
jmp 0x51ce95
cmp ecx, 0x80000301
je 0x51ce95
cmp ecx, 0x80000401
je 0x51ce95
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x51ce85
cmp ecx, 0x80000601
je 0x51ce8a
push 2
call fcn.0054ef5c
add esp, 4
fld dword [ebp - 0x60]
jmp 0x51ce90
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00517df3
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x100df0fc
push 4
mov eax, 2
call fcn.0054ef44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x100df0fc]
mov dword [ebp - 0x50], ebx
call fcn.00517e1a
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x51cee1
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0054ef68
add esp, 8
mov dword [0x100df0fc], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0054ef50
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x51cf3d
push eax
mov ebx, eax
call fcn.00519321
inc eax
push eax
call fcn.0054ef50
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x51e7c1
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0
cmp eax, ecx
jl 0x51cf73
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
jne 0x51d04c
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
push 0x100df0fc
push 4
mov eax, 2
call fcn.0054ef44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x100df0fc]
mov dword [ebp - 0x50], ebx
call fcn.00517e1a
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x51cfdd
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0054ef68
add esp, 8
mov dword [0x100df0fc], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0054ef50
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x51d039
push eax
mov ebx, eax
call fcn.00519321
inc eax
push eax
call fcn.0054ef50
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x51e7c1
jmp 0x51e7c1
mov ebx, dword [0x100df100]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp dword [ebx], 0
je 0x51e392
mov ebx, dword [ebp - 0xc]
add ebx, 8
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 2
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x51d09d
mov eax, 0x100ad689
push eax
push 3
mov ebx, 0x10039d50
call fcn.0054ef56
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x51d0d1
and eax, 0xff
jmp 0x51d11c
cmp ecx, 0x80000201
jne 0x51d0dc
cwde
jmp 0x51d11c
cmp ecx, 0x80000301
je 0x51d11c
cmp ecx, 0x80000401
je 0x51d11c
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x51d10c
cmp ecx, 0x80000601
je 0x51d111
push 2
call fcn.0054ef5c
add esp, 4
fld dword [ebp - 0x60]
jmp 0x51d117
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00517df3
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 5
cmp eax, ecx
jl 0x51d163
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x8d
jne 0x51d1d9
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 9
cmp eax, ecx
jl 0x51d192
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xb9
jne 0x51d1d9
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0xe
cmp eax, ecx
jl 0x51d1c1
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x5c]
cmp byte [ebx], 0x64
jne 0x51d1d9
mov eax, 1
jmp 0x51d1db
xor eax, eax
test eax, eax
je 0x51d539
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0xb
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x51d217
mov eax, 0x100ad689
push eax
push 3
mov ebx, 0x10039d50
call fcn.0054ef56
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x51d24b
and eax, 0xff
jmp 0x51d296
cmp ecx, 0x80000201
jne 0x51d256
cwde
jmp 0x51d296
cmp ecx, 0x80000301
je 0x51d296
cmp ecx, 0x80000401
je 0x51d296
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x51d286
cmp ecx, 0x80000601
je 0x51d28b
push 2
call fcn.0054ef5c
add esp, 4
fld dword [ebp - 0x60]
jmp 0x51d291
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00517df3
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0x15
cmp eax, ecx
jl 0x51d2b9
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x51d43d
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0x17
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x51d2fe
mov eax, 0x100ad689
push eax
push 3
mov ebx, 0x10039d50
call fcn.0054ef56
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x51d332
and eax, 0xff
jmp 0x51d37d
cmp ecx, 0x80000201
jne 0x51d33d
cwde
jmp 0x51d37d
cmp ecx, 0x80000301
je 0x51d37d
cmp ecx, 0x80000401
je 0x51d37d
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x51d36d
cmp ecx, 0x80000601
je 0x51d372
push 2
call fcn.0054ef5c
add esp, 4
fld dword [ebp - 0x60]
jmp 0x51d378
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00517df3
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x100df0fc
push 4
mov eax, 2
call fcn.0054ef44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x100df0fc]
mov dword [ebp - 0x50], ebx
call fcn.00517e1a
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x51d3c9
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0054ef68
add esp, 8
mov dword [0x100df0fc], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0054ef50
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x51d425
push eax
mov ebx, eax
call fcn.00519321
inc eax
push eax
call fcn.0054ef50
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x51e7c1
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0x15
cmp eax, ecx
jl 0x51d45b
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
jne 0x51d527
push 0x100df0fc
push 4
mov eax, 2
call fcn.0054ef44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x100df0fc]
mov dword [ebp - 0x50], ebx
call fcn.00517e1a
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x51d4b3
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0054ef68
add esp, 8
mov dword [0x100df0fc], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0054ef50
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x51d50f
push eax
mov ebx, eax
call fcn.00519321
inc eax
push eax
call fcn.0054ef50
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x51e7c1
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 5
cmp eax, ecx
jl 0x51d557
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x8d
jne 0x51d5cd
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 9
cmp eax, ecx
jl 0x51d586
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x33
jne 0x51d5cd
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0xe
cmp eax, ecx
jl 0x51d5b5
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x5c]
cmp byte [ebx], 0x64
jne 0x51d5cd
mov eax, 1
jmp 0x51d5cf
xor eax, eax
test eax, eax
je 0x51d89e
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0x12
cmp eax, ecx
jl 0x51d5f5
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x51d779
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0x14
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x51d63a
mov eax, 0x100ad689
push eax
push 3
mov ebx, 0x10039d50
call fcn.0054ef56
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x51d66e
and eax, 0xff
jmp 0x51d6b9
cmp ecx, 0x80000201
jne 0x51d679
cwde
jmp 0x51d6b9
cmp ecx, 0x80000301
je 0x51d6b9
cmp ecx, 0x80000401
je 0x51d6b9
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x51d6a9
cmp ecx, 0x80000601
je 0x51d6ae
push 2
call fcn.0054ef5c
add esp, 4
fld dword [ebp - 0x60]
jmp 0x51d6b4
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00517df3
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x100df0fc
push 4
mov eax, 2
call fcn.0054ef44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x100df0fc]
mov dword [ebp - 0x50], ebx
call fcn.00517e1a
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x51d705
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0054ef68
add esp, 8
mov dword [0x100df0fc], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0054ef50
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x51d761
push eax
mov ebx, eax
call fcn.00519321
inc eax
push eax
call fcn.0054ef50
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x51e7c1
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0x15
cmp eax, ecx
jl 0x51d797
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
je 0x51d7db
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0x12
cmp eax, ecx
jl 0x51d7c6
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xc3
je 0x51d7db
xor eax, eax
jmp 0x51d7e0
mov eax, 1
test eax, eax
je 0x51d89e
push 0x100df0fc
push 4
mov eax, 2
call fcn.0054ef44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x100df0fc]
mov dword [ebp - 0x50], ebx
call fcn.00517e1a
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x51d82f
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0054ef68
add esp, 8
mov dword [0x100df0fc], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0054ef50
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x51d88b
push eax
mov ebx, eax
call fcn.00519321
inc eax
push eax
call fcn.0054ef50
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x51e7c1
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 5
cmp eax, ecx
jl 0x51d8bc
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xb9
jne 0x51d932
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0xa
cmp eax, ecx
jl 0x51d8eb
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x8d
jne 0x51d932
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0xe
cmp eax, ecx
jl 0x51d91a
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x5c]
cmp byte [ebx], 0x64
jne 0x51d932
mov eax, 1
jmp 0x51d934
xor eax, eax
test eax, eax
je 0x51de74
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 7
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x51d970
mov eax, 0x100ad689
push eax
push 3
mov ebx, 0x10039d50
call fcn.0054ef56
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x51d9a4
and eax, 0xff
jmp 0x51d9ef
cmp ecx, 0x80000201
jne 0x51d9af
cwde
jmp 0x51d9ef
cmp ecx, 0x80000301
je 0x51d9ef
cmp ecx, 0x80000401
je 0x51d9ef
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x51d9df
cmp ecx, 0x80000601
je 0x51d9e4
push 2
call fcn.0054ef5c
add esp, 4
fld dword [ebp - 0x60]
jmp 0x51d9ea
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00517df3
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0x18
cmp eax, ecx
jl 0x51da12
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x51db96
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0x1a
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x51da57
mov eax, 0x100ad689
push eax
push 3
mov ebx, 0x10039d50
call fcn.0054ef56
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x51da8b
and eax, 0xff
jmp 0x51dad6
cmp ecx, 0x80000201
jne 0x51da96
cwde
jmp 0x51dad6
cmp ecx, 0x80000301
je 0x51dad6
cmp ecx, 0x80000401
je 0x51dad6
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x51dac6
cmp ecx, 0x80000601
je 0x51dacb
push 2
call fcn.0054ef5c
add esp, 4
fld dword [ebp - 0x60]
jmp 0x51dad1
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00517df3
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x100df0fc
push 4
mov eax, 2
call fcn.0054ef44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x100df0fc]
mov dword [ebp - 0x50], ebx
call fcn.00517e1a
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x51db22
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0054ef68
add esp, 8
mov dword [0x100df0fc], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0054ef50
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x51db7e
push eax
mov ebx, eax
call fcn.00519321
inc eax
push eax
call fcn.0054ef50
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x51e7c1
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0x15
cmp eax, ecx
jl 0x51dbb4
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x51dd38
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0x17
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x51dbf9
mov eax, 0x100ad689
push eax
push 3
mov ebx, 0x10039d50
call fcn.0054ef56
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x51dc2d
and eax, 0xff
jmp 0x51dc78
cmp ecx, 0x80000201
jne 0x51dc38
cwde
jmp 0x51dc78
cmp ecx, 0x80000301
je 0x51dc78
cmp ecx, 0x80000401
je 0x51dc78
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x51dc68
cmp ecx, 0x80000601
je 0x51dc6d
push 2
call fcn.0054ef5c
add esp, 4
fld dword [ebp - 0x60]
jmp 0x51dc73
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00517df3
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x100df0fc
push 4
mov eax, 2
call fcn.0054ef44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x100df0fc]
mov dword [ebp - 0x50], ebx
call fcn.00517e1a
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x51dcc4
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0054ef68
add esp, 8
mov dword [0x100df0fc], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0054ef50
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x51dd20
push eax
mov ebx, eax
call fcn.00519321
inc eax
push eax
call fcn.0054ef50
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x51e7c1
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0x18
cmp eax, ecx
jl 0x51dd56
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
je 0x51dd9a
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0x15
cmp eax, ecx
jl 0x51dd85
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xc3
je 0x51dd9a
xor eax, eax
jmp 0x51dd9f
mov eax, 1
test eax, eax
je 0x51de62
push 0x100df0fc
push 4
mov eax, 2
call fcn.0054ef44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x100df0fc]
mov dword [ebp - 0x50], ebx
call fcn.00517e1a
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x51ddee
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0054ef68
add esp, 8
mov dword [0x100df0fc], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0054ef50
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x51de4a
push eax
mov ebx, eax
call fcn.00519321
inc eax
push eax
call fcn.0054ef50
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x51e7c1
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 5
cmp eax, ecx
jl 0x51de92
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x33
jne 0x51df08
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 7
cmp eax, ecx
jl 0x51dec1
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x8d
jne 0x51df08
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0xb
cmp eax, ecx
jl 0x51def0
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x5c]
cmp byte [ebx], 0x64
jne 0x51df08
mov eax, 1
jmp 0x51df0a
xor eax, eax
test eax, eax
je 0x51e38d
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0x15
cmp eax, ecx
jl 0x51df42
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x51e0c6
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0x17
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x51df87
mov eax, 0x100ad689
push eax
push 3
mov ebx, 0x10039d50
call fcn.0054ef56
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x51dfbb
and eax, 0xff
jmp 0x51e006
cmp ecx, 0x80000201
jne 0x51dfc6
cwde
jmp 0x51e006
cmp ecx, 0x80000301
je 0x51e006
cmp ecx, 0x80000401
je 0x51e006
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x51dff6
cmp ecx, 0x80000601
je 0x51dffb
push 2
call fcn.0054ef5c
add esp, 4
fld dword [ebp - 0x60]
jmp 0x51e001
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00517df3
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x100df0fc
push 4
mov eax, 2
call fcn.0054ef44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x100df0fc]
mov dword [ebp - 0x50], ebx
call fcn.00517e1a
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x51e052
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0054ef68
add esp, 8
mov dword [0x100df0fc], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0054ef50
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x51e0ae
push eax
mov ebx, eax
call fcn.00519321
inc eax
push eax
call fcn.0054ef50
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x51e7c1
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0x12
cmp eax, ecx
jl 0x51e0e4
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x51e268
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0x14
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x51e129
mov eax, 0x100ad689
push eax
push 3
mov ebx, 0x10039d50
call fcn.0054ef56
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x51e15d
and eax, 0xff
jmp 0x51e1a8
cmp ecx, 0x80000201
jne 0x51e168
cwde
jmp 0x51e1a8
cmp ecx, 0x80000301
je 0x51e1a8
cmp ecx, 0x80000401
je 0x51e1a8
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x51e198
cmp ecx, 0x80000601
je 0x51e19d
push 2
call fcn.0054ef5c
add esp, 4
fld dword [ebp - 0x60]
jmp 0x51e1a3
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00517df3
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x100df0fc
push 4
mov eax, 2
call fcn.0054ef44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x100df0fc]
mov dword [ebp - 0x50], ebx
call fcn.00517e1a
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x51e1f4
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0054ef68
add esp, 8
mov dword [0x100df0fc], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0054ef50
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x51e250
push eax
mov ebx, eax
call fcn.00519321
inc eax
push eax
call fcn.0054ef50
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x51e7c1
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0x15
cmp eax, ecx
jl 0x51e286
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
je 0x51e2ca
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0x12
cmp eax, ecx
jl 0x51e2b5
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xc3
je 0x51e2ca
xor eax, eax
jmp 0x51e2cf
mov eax, 1
test eax, eax
je 0x51e38d
push 0x100df0fc
push 4
mov eax, 2
call fcn.0054ef44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x100df0fc]
mov dword [ebp - 0x50], ebx
call fcn.00517e1a
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x51e31e
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0054ef68
add esp, 8
mov dword [0x100df0fc], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0054ef50
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x51e37a
push eax
mov ebx, eax
call fcn.00519321
inc eax
push eax
call fcn.0054ef50
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x51e7c1
jmp 0x51e7c1
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 5
cmp eax, ecx
jl 0x51e3b0
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xba
jne 0x51e3f7
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0xa
cmp eax, ecx
jl 0x51e3df
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xff
jne 0x51e3f7
mov eax, 1
jmp 0x51e3f9
xor eax, eax
test eax, eax
je 0x51e7c1
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0xb
cmp eax, ecx
jl 0x51e41f
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x12
je 0x51e463
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0xb
cmp eax, ecx
jl 0x51e44e
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xd2
je 0x51e463
xor eax, eax
jmp 0x51e468
mov eax, 1
test eax, eax
je 0x51e7c1
mov ebx, dword [ebp - 0xc]
add ebx, 8
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 2
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x51e4a4
mov eax, 0x100ad689
push eax
push 3
mov ebx, 0x10039d50
call fcn.0054ef56
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x51e4d8
and eax, 0xff
jmp 0x51e523
cmp ecx, 0x80000201
jne 0x51e4e3
cwde
jmp 0x51e523
cmp ecx, 0x80000301
je 0x51e523
cmp ecx, 0x80000401
je 0x51e523
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x51e513
cmp ecx, 0x80000601
je 0x51e518
push 2
call fcn.0054ef5c
add esp, 4
fld dword [ebp - 0x60]
jmp 0x51e51e
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00517df3
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0xc
cmp eax, ecx
jl 0x51e546
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x51e6ca
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0xe
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x51e58b
mov eax, 0x100ad689
push eax
push 3
mov ebx, 0x10039d50
call fcn.0054ef56
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x51e5bf
and eax, 0xff
jmp 0x51e60a
cmp ecx, 0x80000201
jne 0x51e5ca
cwde
jmp 0x51e60a
cmp ecx, 0x80000301
je 0x51e60a
cmp ecx, 0x80000401
je 0x51e60a
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x51e5fa
cmp ecx, 0x80000601
je 0x51e5ff
push 2
call fcn.0054ef5c
add esp, 4
fld dword [ebp - 0x60]
jmp 0x51e605
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00517df3
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x100df0fc
push 4
mov eax, 2
call fcn.0054ef44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x100df0fc]
mov dword [ebp - 0x50], ebx
call fcn.00517e1a
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x51e656
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0054ef68
add esp, 8
mov dword [0x100df0fc], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0054ef50
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x51e6b2
push eax
mov ebx, eax
call fcn.00519321
inc eax
push eax
call fcn.0054ef50
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x51e7c1
mov ebx, dword [ebp - 0x48]
call fcn.00517e1a
mov eax, 0xc
cmp eax, ecx
jl 0x51e6e8
push 1
call fcn.0054ef5c
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
jne 0x51e7c1
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
push 0x100df0fc
push 4
mov eax, 2
call fcn.0054ef44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x100df0fc]
mov dword [ebp - 0x50], ebx
call fcn.00517e1a
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x51e752
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.0054ef68
add esp, 8
mov dword [0x100df0fc], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.0054ef50
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x51e7ae
push eax
mov ebx, eax
call fcn.00519321
inc eax
push eax
call fcn.0054ef50
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x51e7c1
pop eax
pop ebx
pop ecx
jmp 0x51c266
add esp, 0xc
mov dword [ebp - 0x4c], esp
push dword [ebp - 0x14]
mov eax, 0xe
call fcn.0054ef62
cmp dword [ebp - 0x4c], esp
je 0x51e7ee
push 6
call fcn.0054ef5c
add esp, 4
mov dword [ebp - 0x4c], esp
push dword [ebp - 0x10]
mov eax, 0xf
call fcn.0054ef62
cmp dword [ebp - 0x4c], esp
je 0x51e810
push 6
call fcn.0054ef5c
add esp, 4
pop ebx
pop ecx
jmp 0x51a730
add esp, 8
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x51e82a
push ebx
call fcn.0054ef4a
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x51e841
push ebx
call fcn.0054ef4a
add esp, 4
pop ebx
call fcn.0054ef4a
add esp, 4
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x51e85a
push ebx
call fcn.0054ef4a
add esp, 4
mov ebx, dword [ebp - 0x18]
push ebx
add ebx, 0x38
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0054ef4a
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0054ef4a
add esp, 4
pop ebx
call fcn.0054ef4a
add esp, 4
mov ebx, dword [ebp - 0x1c]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0054ef4a
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 0x78
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0054ef4a
add esp, 4
pop ebx
call fcn.0054ef4a
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x51e8db
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x51e8d7
imul eax, dword [ebx]
jmp 0x51e8cc
mov ecx, eax
test ecx, ecx
je 0x51e903
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0054ef4a
add esp, 4
pop ebx
call fcn.0054ef4a
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x51e8e1
call fcn.0054ef4a
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0054ef4a
add esp, 4
pop ebx
call fcn.0054ef4a
add esp, 4
mov ebx, dword [ebp - 0x20]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0054ef4a
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 0x78
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0054ef4a
add esp, 4
pop ebx
call fcn.0054ef4a
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x51e979
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x51e975
imul eax, dword [ebx]
jmp 0x51e96a
mov ecx, eax
test ecx, ecx
je 0x51e9a1
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0054ef4a
add esp, 4
pop ebx
call fcn.0054ef4a
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x51e97f
call fcn.0054ef4a
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0054ef4a
add esp, 4
pop ebx
call fcn.0054ef4a
add esp, 4
mov ebx, dword [ebp - 0x30]
push ebx
call fcn.0054ef4a
add esp, 4
mov ebx, dword [ebp - 0x34]
push ebx
call fcn.0054ef4a
add esp, 4
mov ebx, dword [ebp - 0x38]
push ebx
call fcn.0054ef4a
add esp, 4
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.0054ef4a
add esp, 4
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x51ea02
push ebx
call fcn.0054ef4a
add esp, 4
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x51ea12
push ebx
call fcn.0054ef4a
add esp, 4
mov esp, ebp
pop ebp
ret