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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov dword [ebp - 4], 0
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x20
mov dword [ebp - 8], ebx
push 0xa83bb3
mov ebx, dword [ebp - 8]
push dword [ebx]
call fcn.004c90e5
add esp, 8
cmp eax, 0
jne 0x515791
mov dword [ebp - 8], 0
push 0
lea eax, [ebp - 8]
push eax
mov dword [ebp - 0xc], 0
push 0
lea eax, [ebp - 0xc]
push eax
push 1
mov eax, 0xa85076
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
mov eax, 0xa85097
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
call fcn.00516b90
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x515757
push ebx
call fcn.00565ef1
add esp, 4
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x515767
push ebx
call fcn.00565ef1
add esp, 4
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x515777
push ebx
call fcn.00565ef1
add esp, 4
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x515787
push ebx
call fcn.00565ef1
add esp, 4
mov eax, 0
jmp 0x516b8a
mov ebx, dword [0xa8cdae]
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 0
jne 0x516b80
mov ebx, dword [0xa8cdae]
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebx]
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
mov ebx, dword [0xa8cdae]
add ebx, 4
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x64
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebx]
test eax, eax
je 0x5157f6
push eax
mov ebx, eax
call fcn.004c907a
inc eax
push eax
call fcn.00565ef7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 8]
mov ebx, dword [ebx]
test ebx, ebx
je 0x515809
push ebx
call fcn.00565ef1
add esp, 4
pop eax
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
mov ebx, dword [0xa8cdae]
add ebx, 8
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebx]
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
mov ebx, dword [0xa8cdae]
add ebx, 0xc
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebx]
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
mov ebx, dword [0xa8cdae]
add ebx, 0x10
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0xc
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebx]
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
mov ebx, dword [0xa8cdae]
add ebx, 0x14
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x10
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebx]
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
mov ebx, dword [0xa8cdae]
add ebx, 0x18
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x14
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebx]
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
mov ebx, dword [0xa8cdae]
add ebx, 0x1c
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x18
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebx]
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
mov ebx, dword [0xa8cdae]
add ebx, 0x20
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x1c
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebx]
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
mov ebx, dword [0xa8cdae]
add ebx, 0x28
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x28
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebx]
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
mov ebx, dword [0xa8cdae]
add ebx, 0x78
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x60
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebx]
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
mov ebx, dword [0xa8cdae]
add ebx, 0x34
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x40
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebx]
test eax, eax
je 0x51596d
push eax
mov ebx, eax
call fcn.004c907a
inc eax
push eax
call fcn.00565ef7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 8]
mov ebx, dword [ebx]
test ebx, ebx
je 0x515980
push ebx
call fcn.00565ef1
add esp, 4
pop eax
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
mov ebx, dword [0xa8cdae]
add ebx, 0x44
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x50
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebx]
test eax, eax
je 0x5159bb
push eax
mov ebx, eax
call fcn.004c907a
inc eax
push eax
call fcn.00565ef7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 8]
mov ebx, dword [ebx]
test ebx, ebx
je 0x5159ce
push ebx
call fcn.00565ef1
add esp, 4
pop eax
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
mov ebx, dword [0xa8cdae]
add ebx, 0x24
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x20
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebx]
test eax, eax
je 0x515a09
push eax
mov ebx, eax
call fcn.004c907a
inc eax
push eax
call fcn.00565ef7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 8]
mov ebx, dword [ebx]
test ebx, ebx
je 0x515a1c
push ebx
call fcn.00565ef1
add esp, 4
pop eax
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
mov ebx, dword [0xa8cdae]
add ebx, 0x2c
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x2c
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebx]
test eax, eax
je 0x515a57
push eax
mov ebx, eax
call fcn.004c907a
inc eax
push eax
call fcn.00565ef7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 8]
mov ebx, dword [ebx]
test ebx, ebx
je 0x515a6a
push ebx
call fcn.00565ef1
add esp, 4
pop eax
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
mov ebx, dword [0xa8cdae]
add ebx, 0x50
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x5c
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebx]
test eax, eax
je 0x515aa5
push eax
mov ebx, eax
call fcn.004c907a
inc eax
push eax
call fcn.00565ef7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 8]
mov ebx, dword [ebx]
test ebx, ebx
je 0x515ab8
push ebx
call fcn.00565ef1
add esp, 4
pop eax
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
mov ebx, dword [0xa8cdae]
add ebx, 0x3c
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x48
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebx]
test eax, eax
je 0x515af3
push eax
mov ebx, eax
call fcn.004c907a
inc eax
push eax
call fcn.00565ef7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 8]
mov ebx, dword [ebx]
test ebx, ebx
je 0x515b06
push ebx
call fcn.00565ef1
add esp, 4
pop eax
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
mov ebx, dword [0xa8cdae]
add ebx, 0x9c
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x74
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebx]
test eax, eax
je 0x515b44
push eax
mov ebx, eax
call fcn.004c907a
inc eax
push eax
call fcn.00565ef7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 8]
mov ebx, dword [ebx]
test ebx, ebx
je 0x515b57
push ebx
call fcn.00565ef1
add esp, 4
pop eax
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
mov ebx, dword [0xa8cdae]
add ebx, 0x90
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x68
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebx]
test eax, eax
je 0x515b95
push eax
mov ebx, eax
call fcn.004c907a
inc eax
push eax
call fcn.00565ef7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 8]
mov ebx, dword [ebx]
test ebx, ebx
je 0x515ba8
push ebx
call fcn.00565ef1
add esp, 4
pop eax
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
mov ebx, dword [0xa8cdae]
add ebx, 0x94
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x6c
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebx]
test eax, eax
je 0x515be6
push eax
mov ebx, eax
call fcn.004c907a
inc eax
push eax
call fcn.00565ef7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 8]
mov ebx, dword [ebx]
test ebx, ebx
je 0x515bf9
push ebx
call fcn.00565ef1
add esp, 4
pop eax
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
mov ebx, dword [0xa8cdae]
add ebx, 0x98
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x70
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebx]
test eax, eax
je 0x515c37
push eax
mov ebx, eax
call fcn.004c907a
inc eax
push eax
call fcn.00565ef7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 8]
mov ebx, dword [ebx]
test ebx, ebx
je 0x515c4a
push ebx
call fcn.00565ef1
add esp, 4
pop eax
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x24
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
mov eax, dword [ebx]
test eax, eax
je 0x515c79
push eax
mov ebx, eax
call fcn.004c907a
inc eax
push eax
call fcn.00565ef7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [0xa8cda6]
test ebx, ebx
je 0x515c8d
push ebx
call fcn.00565ef1
add esp, 4
pop eax
mov dword [0xa8cda6], eax
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x34
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
mov eax, dword [ebx]
mov dword [0xa8cda2], eax
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x30
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 0
jne 0x515cd9
mov ebx, dword [0xa8cdae]
add ebx, 0x30
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
mov dword [ebx], 0
jmp 0x515d5c
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x30
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
cmp dword [ebx], 1
jne 0x515d30
mov ebx, dword [0xa8cdae]
add ebx, 0x30
mov dword [ebp - 8], ebx
push 0x80000301
push 0
push 8
push 0x80000301
push 0
push 1
push 2
mov ebx, 0x9f8
call fcn.0056b0b1
add esp, 0x1c
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
jmp 0x515d5c
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x30
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
cmp dword [ebx], 2
jne 0x515d5c
mov ebx, dword [0xa8cdae]
add ebx, 0x30
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
mov dword [ebx], 0x80000180
mov dword [ebp - 4], 1
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x34
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 1
jne 0x515da6
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x38
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
push dword [ebx + 4]
push dword [ebx]
call fcn.00516c04
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 1
jne 0x515da6
mov eax, 1
jmp 0x515dab
mov eax, 0
test eax, eax
je 0x515faa
push 0
mov ebx, 0x6c4
call fcn.0056af51
add esp, 4
push eax
call fcn.00506d65
mov dword [ebp - 0xc], eax
push 0xa84bf9
push dword [ebp - 0xc]
call fcn.004c90e5
add esp, 8
cmp eax, 0
mov eax, 0
setne al
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x515dfc
push ebx
call fcn.00565ef1
add esp, 4
cmp dword [ebp - 0x10], 0
je 0x515efe
mov ebx, dword [0xa8cdae]
add ebx, 0x9c
mov dword [ebp - 8], ebx
mov eax, 0xa83bb3
push eax
mov ebx, dword [ebp - 8]
mov ebx, dword [ebx]
test ebx, ebx
je 0x515e2d
push ebx
call fcn.00565ef1
add esp, 4
pop eax
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
mov ebx, dword [0xa8cdae]
add ebx, 0x94
mov dword [ebp - 8], ebx
mov eax, 0xa850be
push eax
mov ebx, dword [ebp - 8]
mov ebx, dword [ebx]
test ebx, ebx
je 0x515e5a
push ebx
call fcn.00565ef1
add esp, 4
pop eax
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
mov dword [ebp - 4], 0
push 0xa850de
push dword [0xa8cda6]
push 0xa84d97
mov ecx, 3
call fcn.004c9182
add esp, 0xc
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], 0
push 0
lea eax, [ebp - 0xc]
push eax
mov dword [ebp - 0x10], 0
push 0
lea eax, [ebp - 0x10]
push eax
mov dword [ebp - 0x14], 0
push 0
lea eax, [ebp - 0x14]
push eax
push 1
lea eax, [ebp - 8]
push eax
call fcn.004cb4cd
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x515ec9
push ebx
call fcn.00565ef1
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x515ed9
push ebx
call fcn.00565ef1
add esp, 4
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x515ee9
push ebx
call fcn.00565ef1
add esp, 4
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x515ef9
push ebx
call fcn.00565ef1
add esp, 4
jmp 0x515faa
mov dword [ebp - 4], 1
mov ebx, dword [0xa8cdae]
add ebx, 0x9c
mov dword [ebp - 8], ebx
push 0
mov ebx, 0x6c4
call fcn.0056af51
add esp, 4
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x168
call fcn.00568881
add esp, 0x10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [ebp - 8]
mov ebx, dword [ebx]
test ebx, ebx
je 0x515f59
push ebx
call fcn.00565ef1
add esp, 4
pop eax
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
mov ebx, dword [0xa8cdae]
add ebx, 0x94
mov dword [ebp - 8], ebx
push 0xa850f9
push dword [0xa8cda6]
push 0xa84d97
mov ecx, 3
call fcn.004c9182
add esp, 0xc
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
push eax
mov ebx, dword [ebp - 8]
mov ebx, dword [ebx]
test ebx, ebx
je 0x515fa4
push ebx
call fcn.00565ef1
add esp, 4
pop eax
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
cmp dword [ebp - 4], 1
jne 0x5165c8
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x90
mov dword [ebp - 8], ebx
push reloc.oleaut32.dll_SysStringLen
push 0
mov ebx, dword [ebp - 8]
push dword [ebx]
push 1
mov ebx, 0x9dc
call fcn.00569481
add esp, 0x10
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jle 0x516078
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x90
mov dword [ebp - 8], ebx
push reloc.oleaut32.dll_SysStringLen
push 0
mov ebx, dword [ebp - 8]
push dword [ebx]
push 1
mov ebx, 0x9dc
call fcn.00569481
add esp, 0x10
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov dword [ebp - 0x18], 0
push 0
push dword [ebp - 0x18]
mov dword [ebp - 0x1c], 0
push 0
push dword [ebp - 0x1c]
mov dword [ebp - 0x20], 0
push 0
push dword [ebp - 0x20]
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov dword [ebp - 0x28], 0
push 0
push dword [ebp - 0x28]
push dword [ebp - 0xc]
call fcn.005069b9
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x84
mov dword [ebp - 8], ebx
push reloc.oleaut32.dll_SysStringLen
push 0
mov ebx, dword [ebp - 8]
push dword [ebx]
push 1
mov ebx, 0x9dc
call fcn.00569481
add esp, 0x10
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jle 0x51613c
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x84
mov dword [ebp - 8], ebx
push reloc.oleaut32.dll_SysStringLen
push 0
mov ebx, dword [ebp - 8]
push dword [ebx]
push 1
mov ebx, 0x9dc
call fcn.00569481
add esp, 0x10
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov dword [ebp - 0x18], 0
push 0
push dword [ebp - 0x18]
mov dword [ebp - 0x1c], 0
push 0
push dword [ebp - 0x1c]
mov dword [ebp - 0x20], 0
push 0
push dword [ebp - 0x20]
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov dword [ebp - 0x28], 0
push 0
push dword [ebp - 0x28]
push dword [ebp - 0xc]
call fcn.005069b9
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x88
mov dword [ebp - 8], ebx
push reloc.oleaut32.dll_SysStringLen
push 0
mov ebx, dword [ebp - 8]
push dword [ebx]
push 1
mov ebx, 0x9dc
call fcn.00569481
add esp, 0x10
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jle 0x516200
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x88
mov dword [ebp - 8], ebx
push reloc.oleaut32.dll_SysStringLen
push 0
mov ebx, dword [ebp - 8]
push dword [ebx]
push 1
mov ebx, 0x9dc
call fcn.00569481
add esp, 0x10
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov dword [ebp - 0x18], 0
push 0
push dword [ebp - 0x18]
mov dword [ebp - 0x1c], 0
push 0
push dword [ebp - 0x1c]
mov dword [ebp - 0x20], 0
push 0
push dword [ebp - 0x20]
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov dword [ebp - 0x28], 0
push 0
push dword [ebp - 0x28]
push dword [ebp - 0xc]
call fcn.005069b9
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x8c
mov dword [ebp - 8], ebx
push reloc.oleaut32.dll_SysStringLen
push 0
mov ebx, dword [ebp - 8]
push dword [ebx]
push 1
mov ebx, 0x9dc
call fcn.00569481
add esp, 0x10
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jle 0x5162c4
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x8c
mov dword [ebp - 8], ebx
push reloc.oleaut32.dll_SysStringLen
push 0
mov ebx, dword [ebp - 8]
push dword [ebx]
push 1
mov ebx, 0x9dc
call fcn.00569481
add esp, 0x10
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov dword [ebp - 0x18], 0
push 0
push dword [ebp - 0x18]
mov dword [ebp - 0x1c], 0
push 0
push dword [ebp - 0x1c]
mov dword [ebp - 0x20], 0
push 0
push dword [ebp - 0x20]
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov dword [ebp - 0x28], 0
push 0
push dword [ebp - 0x28]
push dword [ebp - 0xc]
call fcn.005069b9
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x78
mov dword [ebp - 8], ebx
push reloc.oleaut32.dll_SysStringLen
push 0
mov ebx, dword [ebp - 8]
push dword [ebx]
push 1
mov ebx, 0x9dc
call fcn.00569481
add esp, 0x10
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jle 0x516382
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x78
mov dword [ebp - 8], ebx
push reloc.oleaut32.dll_SysStringLen
push 0
mov ebx, dword [ebp - 8]
push dword [ebx]
push 1
mov ebx, 0x9dc
call fcn.00569481
add esp, 0x10
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov dword [ebp - 0x18], 0
push 0
push dword [ebp - 0x18]
mov dword [ebp - 0x1c], 0
push 0
push dword [ebp - 0x1c]
mov dword [ebp - 0x20], 0
push 0
push dword [ebp - 0x20]
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov dword [ebp - 0x28], 0
push 0
push dword [ebp - 0x28]
push dword [ebp - 0xc]
call fcn.005069b9
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x7c
mov dword [ebp - 8], ebx
push reloc.oleaut32.dll_SysStringLen
push 0
mov ebx, dword [ebp - 8]
push dword [ebx]
push 1
mov ebx, 0x9dc
call fcn.00569481
add esp, 0x10
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jle 0x516440
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x7c
mov dword [ebp - 8], ebx
push reloc.oleaut32.dll_SysStringLen
push 0
mov ebx, dword [ebp - 8]
push dword [ebx]
push 1
mov ebx, 0x9dc
call fcn.00569481
add esp, 0x10
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov dword [ebp - 0x18], 0
push 0
push dword [ebp - 0x18]
mov dword [ebp - 0x1c], 0
push 0
push dword [ebp - 0x1c]
mov dword [ebp - 0x20], 0
push 0
push dword [ebp - 0x20]
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov dword [ebp - 0x28], 0
push 0
push dword [ebp - 0x28]
push dword [ebp - 0xc]
call fcn.005069b9
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x80
mov dword [ebp - 8], ebx
push reloc.oleaut32.dll_SysStringLen
push 0
mov ebx, dword [ebp - 8]
push dword [ebx]
push 1
mov ebx, 0x9dc
call fcn.00569481
add esp, 0x10
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jle 0x516504
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x80
mov dword [ebp - 8], ebx
push reloc.oleaut32.dll_SysStringLen
push 0
mov ebx, dword [ebp - 8]
push dword [ebx]
push 1
mov ebx, 0x9dc
call fcn.00569481
add esp, 0x10
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov dword [ebp - 0x18], 0
push 0
push dword [ebp - 0x18]
mov dword [ebp - 0x1c], 0
push 0
push dword [ebp - 0x1c]
mov dword [ebp - 0x20], 0
push 0
push dword [ebp - 0x20]
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov dword [ebp - 0x28], 0
push 0
push dword [ebp - 0x28]
push dword [ebp - 0xc]
call fcn.005069b9
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x94
mov dword [ebp - 8], ebx
push reloc.oleaut32.dll_SysStringLen
push 0
mov ebx, dword [ebp - 8]
push dword [ebx]
push 1
mov ebx, 0x9dc
call fcn.00569481
add esp, 0x10
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jle 0x5165c8
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
add ebx, 0x94
mov dword [ebp - 8], ebx
push reloc.oleaut32.dll_SysStringLen
push 0
mov ebx, dword [ebp - 8]
push dword [ebx]
push 1
mov ebx, 0x9dc
call fcn.00569481
add esp, 0x10
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], 0
push 0
push dword [ebp - 0x10]
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov dword [ebp - 0x18], 0
push 0
push dword [ebp - 0x18]
mov dword [ebp - 0x1c], 0
push 0
push dword [ebp - 0x1c]
mov dword [ebp - 0x20], 0
push 0
push dword [ebp - 0x20]
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov dword [ebp - 0x28], 0
push 0
push dword [ebp - 0x28]
push dword [ebp - 0xc]
call fcn.005069b9
call fcn.00516cba
call fcn.00516fab
call fcn.00517725
mov ebx, dword [0xa8cdae]
add ebx, 0x54
mov dword [ebp - 8], ebx
mov ebx, dword [0xa8cdae]
add ebx, 0x58
mov dword [ebp - 0xc], ebx
push reloc.WS2_32.dll_getpeername
push 0
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebx]
test eax, eax
jne 0x516604
mov eax, 0xa83bba
push eax
push 1
mov ebx, 0x194
call fcn.00569261
add esp, 0x10
mov dword [ebp - 0x18], eax
fild dword [ebp - 0x18]
fstp qword [ebp - 0x18]
fld qword [ebp - 0x18]
fdiv qword [0xa85110]
fstp qword [ebp - 0x20]
fld qword [ebp - 0x20]
call fcn.004c9872
mov ebx, dword [ebp - 8]
mov dword [ebx], eax
call fcn.005067fc
push 0x80000301
push 0
push 0xa0
push 1
mov ebx, 0x1bc
call fcn.00569311
add esp, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
push eax
mov ebx, dword [0xa8cdba]
test ebx, ebx
je 0x516676
push ebx
call fcn.00565ef1
add esp, 4
pop eax
mov dword [0xa8cdba], eax
push 0xa0
mov eax, dword [0xa8cdae]
push eax
push 0xa0
call fcn.00565ef7
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
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
test eax, eax
je 0x516786
add eax, 8
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
test eax, eax
je 0x5167a1
add eax, 8
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
test eax, eax
je 0x5167bc
add eax, 8
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
test eax, eax
je 0x5167e1
add eax, 8
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
test eax, eax
je 0x51681a
add eax, 8
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 [0xa8cdba]
test eax, eax
je 0x51685d
add eax, 8
push eax
call dword [sym.imp.kernel32.dll_RtlMoveMemory]
nop
nop
nop
nop
mov ebx, dword [ebp - 8]
push ebx
mov edi, dword [ebp - 0xc]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
call fcn.005156a1
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.005156a1
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
call fcn.005156a1
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
call fcn.005156a1
call fcn.005156a1
call fcn.005156a1
call fcn.005156a1
call fcn.005156a1
call fcn.005156a1
call fcn.005156a1
call fcn.005156a1
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
add edi, 4
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
add edi, 4
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
add edi, 4
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
add edi, 0xc
add ebx, 0xc
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
add edi, 4
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
call fcn.005156a1
call fcn.005156a1
call fcn.005156a1
call fcn.005156a1
call fcn.00565ef1
add esp, 4
push 0xa8cdba
call fcn.00517984
mov dword [0xa8cdbe], eax
mov ebx, dword [0xa8cdc2]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x5169c4
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x5169c0
imul eax, dword [ebx]
jmp 0x5169b5
mov ecx, eax
test ecx, ecx
je 0x516a2c
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x5169df
push ebx
call fcn.00565ef1
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x5169f3
push ebx
call fcn.00565ef1
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x516a07
push ebx
call fcn.00565ef1
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x516a1b
push ebx
call fcn.00565ef1
add esp, 4
pop ebx
call fcn.00565ef1
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x5169ca
call fcn.00565ef1
add esp, 4
mov eax, 0xa83bba
mov dword [0xa8cdc2], eax
mov ebx, dword [0xa8cdc6]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x516a5f
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x516a5b
imul eax, dword [ebx]
jmp 0x516a50
mov ecx, eax
test ecx, ecx
je 0x516a9f
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x516a7a
push ebx
call fcn.00565ef1
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x516a8e
push ebx
call fcn.00565ef1
add esp, 4
pop ebx
call fcn.00565ef1
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x516a65
call fcn.00565ef1
add esp, 4
mov eax, 0xa83bba
mov dword [0xa8cdc6], eax
mov ebx, dword [0xa8cdca]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x516ad2
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x516ace
imul eax, dword [ebx]
jmp 0x516ac3
mov ecx, eax
test ecx, ecx
je 0x516b12
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x516aed
push ebx
call fcn.00565ef1
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x516b01
push ebx
call fcn.00565ef1
add esp, 4
pop ebx
call fcn.00565ef1
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x516ad8
call fcn.00565ef1
add esp, 4
mov eax, 0xa83bba
mov dword [0xa8cdca], eax
mov ebx, dword [0xa8cdce]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x516b45
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x516b41
imul eax, dword [ebx]
jmp 0x516b36
mov ecx, eax
test ecx, ecx
je 0x516b64
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x516b5d
push ebx
push eax
call fcn.00565ef1
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x516b4b
call fcn.00565ef1
add esp, 4
mov eax, 0xa83bba
mov dword [0xa8cdce], eax
mov eax, 1
jmp 0x516b8a
mov eax, 0
jmp 0x516b8a
mov esp, ebp
pop ebp
ret 4