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

Disassembly:
push 0x7c
mov eax, 0x4f3580
call 0x5bf3f0
push 0x50eefc
lea eax, [ebp - 0x68]
push eax
mov dword [ebp - 0x44], ecx
call fcn.004faf44
and dword [ebp - 4], 0
push dword [ebp - 0x68]
lea eax, [ebp - 0x3c]
push eax
call fcn.00507c81
lea eax, [ebp - 0x3c]
push eax
mov edi, 0x53c840
push edi
call fcn.00516c50
mov ebx, eax
lea eax, [ebp - 0x60]
push eax
mov esi, 0x53c874
mov dword [ebp - 0x60], ebx
call fcn.00518b1e
push ebx
push edi
call fcn.00516e1d
test eax, eax
jne 0x511dab
push 0x80
call 0x5b9e7a
pop ecx
mov dword [ebp - 0x74], eax
test eax, eax
mov byte [ebp - 4], 1
je 0x511860
mov edi, eax
call fcn.0051a7ce
mov esi, eax
mov dword [ebp - 0x54], esi
jmp 0x511867
and dword [ebp - 0x54], 0
mov esi, dword [ebp - 0x54]
mov byte [ebp - 4], 0
lea eax, [ebp - 0x60]
mov dword [esi], ebx
push eax
mov ebx, 0x53c8a0
call fcn.00518bfc
push 0xa
mov dword [eax], esi
lea edi, [esi + 4]
pop ecx
lea esi, [ebp - 0x3c]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x44]
xor edi, edi
push edi
push 0x50f9c0
mov ecx, esi
call fcn.004fae89
mov ebx, dword [ebp - 0x54]
push 4
pop ecx
cmp eax, ecx
mov dword [ebx + 0x30], eax
jne 0x5118aa
mov dword [ebx + 0x50], ecx
push edi
push 0x50f9cc
mov ecx, esi
call fcn.004fae89
push edi
push 0x50f9dc
mov ecx, esi
mov dword [ebx + 0x34], eax
call fcn.004fae89
push 0x53c904
mov ecx, 0x50f9e8
mov dword [ebx + 0x38], eax
call fcn.004f8770
test eax, eax
mov ecx, esi
jge 0x51190f
push edi
push 0x50f9fc
call fcn.0051a70b
push edi
push 0x50fa0c
mov ecx, esi
mov dword [ebp - 0x44], eax
call fcn.0051a70b
cdq
mov edi, eax
mov eax, dword [ebp - 0x44]
cdq
xor ecx, ecx
or ecx, eax
or edi, edx
mov dword [ebx + 0x40], ecx
mov dword [ebx + 0x44], edi
jmp 0x51191f
push 0x50fa1c
call fcn.0051a648
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], edx
cmp dword [ebx + 0x30], 3
jne 0x511950
push 0x50fa30
lea eax, [ebp - 0x44]
push eax
mov ecx, esi
call fcn.004faf44
lea edi, [ebx + 0x78]
mov byte [ebp - 4], 2
call fcn.004fb6eb
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x44]
add eax, 0xfffffff0
call fcn.004f7bea
push 0x50fa38
mov ecx, esi
call fcn.0051a648
mov dword [ebx + 0x48], eax
push 0x4faaf8
lea eax, [ebp - 0x44]
push eax
mov ecx, esi
mov dword [ebx + 0x4c], edx
call fcn.004faf44
lea edi, [ebx + 0x74]
mov byte [ebp - 4], 3
mov dword [ebp - 0x74], edi
call fcn.004fb6eb
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x44]
add eax, 0xfffffff0
call fcn.004f7bea
push 0
push 0x4fa85c
mov ecx, esi
call fcn.004fae89
mov dword [ebx + 0x60], eax
push 0x50fa4c
lea eax, [ebp - 0x6c]
push eax
mov ecx, esi
call fcn.004faf44
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x6c]
cmp dword [eax - 0xc], 0
jle 0x5119d5
push 0x53c8c4
lea ecx, [ebp - 0x60]
call fcn.00519007
mov edi, eax
lea eax, [ebp - 0x6c]
call fcn.004fb6eb
push 0x50fa54
lea eax, [ebp - 0x70]
push eax
mov ecx, esi
call fcn.004faf44
and dword [ebp - 0x78], 0
and dword [ebp - 0x7c], 0
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 6
call fcn.00507b67
test eax, eax
je 0x511d84
lea esi, [ebp - 0x7c]
call fcn.004fb081
and dword [ebp - 0x64], 0
test eax, eax
mov dword [ebp - 0x44], eax
jle 0x511d47
add ebx, 0x64
mov dword [ebp - 0x84], ebx
and dword [ebp - 0x48], 0
and dword [ebp - 0x4c], 0
push dword [ebp - 0x64]
lea edi, [ebp - 0x48]
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 7
call fcn.004faff0
push 0x50fd40
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x4c]
call fcn.004faf44
mov byte [ebp - 4], 8
mov eax, dword [0x53acf4]
mov esi, 0x53acf4
mov ecx, esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x58], eax
mov byte [ebp - 4], 9
mov eax, dword [0x53acf4]
mov ecx, esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x88], eax
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x70]
cmp dword [eax - 0xc], 0
jle 0x511a9f
push dword [ebp - 0x5c]
push eax
push 0x50fcc4
lea eax, [ebp - 0x58]
call fcn.004fb6a0
add esp, 0xc
jmp 0x511aaa
lea eax, [ebp - 0x5c]
lea edi, [ebp - 0x58]
call fcn.004fb6eb
mov ecx, dword [0x53c908]
lea ebx, [ebp - 0x58]
call 0x5b3f85
mov esi, eax
test esi, esi
mov dword [ebp - 0x50], esi
je 0x511ac8
inc dword [esi]
jmp 0x511cc2
push 0x80
call 0x5b9e7a
test eax, eax
pop ecx
je 0x511ae2
mov edi, eax
call 0x5b5683
mov ebx, eax
jmp 0x511ae4
xor ebx, ebx
push 0
mov esi, ebx
push 0x50f9c0
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x50], esi
call fcn.004fae89
mov dword [ebx + 0x38], eax
lea edi, [ebx + 0x6c]
lea eax, [ebp - 0x58]
call fcn.004fb6eb
push ebx
push dword [0x53c908]
call 0x5b48b5
cmp dword [ebx + 0x38], 0
jne 0x511b65
mov eax, dword [edi]
sub eax, 0x10
call fcn.004fac85
lea edi, [eax + 0x10]
mov dword [ebp - 0x40], edi
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0xb
call fcn.0050facc
mov dword [ebp - 0x40], eax
lea eax, [edi - 0x10]
mov byte [ebp - 4], 0xa
call fcn.004f7bea
cmp dword [ebp - 0x40], 0
jne 0x511b58
inc dword [0x53bfe0]
mov dword [ebx + 0x38], 1
jmp 0x511b65
cmp dword [ebp - 0x40], 1
jne 0x511b65
mov dword [ebx + 0x38], 2
push 0x4faaf8
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x4c]
call fcn.004faf44
lea edi, [ebx + 0x70]
mov byte [ebp - 4], 0xc
call fcn.004fb6eb
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x80]
add eax, 0xfffffff0
call fcn.004f7bea
push 0x53c904
mov ecx, 0x50fa5c
call fcn.004f8770
test eax, eax
lea ecx, [ebp - 0x4c]
jge 0x511be0
push 0
push 0x50fa0c
call fcn.0051a70b
push 0
push 0x50f9fc
lea ecx, [ebp - 0x4c]
mov edi, eax
call fcn.0051a70b
mov ecx, eax
mov eax, edi
cdq
mov dword [ebp - 0x40], eax
mov eax, ecx
cdq
xor edi, edi
or edi, eax
mov eax, dword [ebp - 0x40]
or eax, edx
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], eax
jmp 0x511bf0
push 0x50fa6c
call fcn.0051a648
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
xor edi, edi
push edi
push 0x50fa78
lea ecx, [ebp - 0x4c]
call fcn.004fae89
cmp eax, 1
je 0x511c0e
mov eax, dword [ebp - 0x54]
cmp dword [eax + 0x30], 4
jne 0x511c1a
mov eax, dword [ebx + 8]
mov dword [ebx + 0x10], eax
mov eax, dword [ebx + 0xc]
mov dword [ebx + 0x14], eax
push edi
push 0x50fa84
lea ecx, [ebp - 0x4c]
call fcn.004fae89
push edi
push 0x50fa8c
lea ecx, [ebp - 0x4c]
mov dword [ebx + 0x20], eax
call fcn.004fae89
push edi
push 0x50fa98
lea ecx, [ebp - 0x4c]
mov dword [ebx + 0x34], eax
call fcn.004fae89
push edi
push 0x50faa4
lea ecx, [ebp - 0x4c]
mov dword [ebx + 0x18], eax
call fcn.004fae89
push edi
push 0x50fab4
lea ecx, [ebp - 0x4c]
mov dword [ebx + 0x1c], eax
call fcn.004fae89
mov dword [ebp - 0x40], edi
mov dword [ebx + 0x24], eax
lea edi, [ebx + 0x44]
push dword [ebp - 0x40]
lea eax, [ebp - 0x5c]
push 0x50fac8
call fcn.004fb6a0
pop ecx
pop ecx
push 0xffffffffffffffff
push dword [ebp - 0x5c]
lea ecx, [ebp - 0x4c]
call fcn.004fae89
cmp eax, 1
jl 0x511ca8
cmp eax, dword [0x536c08]
mov dword [edi], eax
jle 0x511ca8
mov dword [0x536c08], eax
inc dword [ebp - 0x40]
add edi, 4
cmp dword [ebp - 0x40], 5
jl 0x511c75
inc dword [0x53bfcc]
mov eax, dword [0x53bfcc]
mov dword [ebx + 0x3c], eax
lea eax, [ebp - 0x50]
push eax
mov eax, dword [ebp - 0x84]
call fcn.00518a78
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
mov ebx, 0x53c8ac
call fcn.00518bfc
mov dword [eax], esi
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
mov ebx, 0x53c894
call fcn.00518bfc
mov ecx, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
add eax, 0xfffffff0
call fcn.004f7bea
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
call fcn.004f7bea
mov eax, dword [ebp - 0x5c]
add eax, 0xfffffff0
call fcn.004f7bea
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x511d35
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
inc dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
cmp eax, dword [ebp - 0x44]
jl 0x511a21
mov ebx, dword [ebp - 0x54]
cmp dword [ebp - 0x44], 0
jne 0x511d59
push 0
push dword [ebp - 0x60]
call fcn.00514d00
jmp 0x511d84
mov edi, dword [ebp - 0x74]
mov eax, dword [edi]
cmp dword [eax - 0xc], 1
jge 0x511d84
add ebx, 0x64
mov eax, ebx
call fcn.0050b3c5
test eax, eax
ja 0x511d77
call 0x5b9e21
mov eax, dword [ebx + 4]
mov eax, dword [eax]
add eax, 0x70
call fcn.004fb6eb
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x511d95
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x70]
add eax, 0xfffffff0
call fcn.004f7bea
mov eax, dword [ebp - 0x6c]
add eax, 0xfffffff0
call fcn.004f7bea
mov eax, dword [ebp - 0x68]
add eax, 0xfffffff0
call fcn.004f7bea
call 0x5bf43a
ret