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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x4c
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov esi, eax
mov edi, dword [esp + 0x6c]
mov ebp, dword [esp + 0x70]
test ebp, ebp
je 0x871265
push ebp
call fcn.00875ffc
lea ebx, [esi + 0x78]
push eax
push ebx
call fcn.0087696c
add esp, 0xc
test edi, edi
je 0x871098
mov edx, dword [esi + 0x1c8]
mov dword [edi], edx
mov dword [esi + 0x58], 3
mov edx, dword [esp + 0x10]
push edx
call fcn.00877714
mov edx, dword [esp + 0x10]
push edx
call fcn.00877748
add esp, 8
xor edx, edx
lea ecx, [esi + 0x18]
mov dword [esp + 8], ecx
mov dword [esp + 0x14], edx
push ebp
push ebx
call fcn.0087658c
add esp, 8
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0xc]
mov dword [esp], esi
mov esi, dword [esp + 0x10]
lea eax, [esp + 0x1c]
push eax
push ebx
call fcn.008769d4
add esp, 8
test eax, eax
je 0x87114e
cmp eax, 0xffffffff
je 0x871144
lea eax, [esp + 0x1c]
push eax
push edi
push esi
call fcn.00876e2c
add esp, 0xc
test eax, eax
jne 0x87111a
inc ebp
cmp ebp, 3
jl 0x8710e0
xor eax, eax
add esp, 0x4c
pop ebx
pop ebp
pop esi
pop edi
ret
mov ebx, eax
mov esi, dword [esp]
mov edx, dword [esp + 0x10]
push edx
call fcn.00876cd8
mov edx, dword [esp + 0x10]
push edx
call fcn.00876c4c
mov dword [esi + 0x58], 2
mov eax, ebx
add esp, 0x54
pop ebx
pop ebp
pop esi
pop edi
ret
mov esi, dword [esp]
mov ebx, 0xffffff7b
jmp 0x87111f
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 4]
mov esi, dword [esp]
mov eax, dword [esi + 8]
mov edi, dword [esi + 0xc]
add eax, 0x2134
adc edi, 0
mov dword [esp + 0x18], ebx
mov ebx, eax
mov dword [esp + 4], ebp
mov edx, edi
sub edx, 0
jl 0x87118c
or edx, ebx
je 0x87118c
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
sub edx, ebx
sbb ecx, edi
jge 0x871215
mov edx, dword [esp + 4]
push edx
mov ecx, dword [esp + 0xc]
push ecx
call fcn.00876198
add esp, 8
test eax, eax
jl 0x87124f
jne 0x87121f
mov edx, ebx
or edx, edi
je 0x871215
call fcn.00859dd6
mov dword [eax], 0
cmp dword [esi], 0
je 0x871209
push 0x2134
mov edx, dword [esp + 0xc]
push edx
call fcn.008760f8
push dword [esi]
push 0x2134
push 1
push eax
call dword [esi + 0x2c0]
mov ebp, eax
add esp, 0x18
test ebp, ebp
jle 0x8711f6
push ebp
mov edx, dword [esp + 0xc]
push edx
call fcn.0087617c
add esp, 8
jmp 0x87120b
jne 0x87120b
call fcn.00859dd6
cmp dword [eax], 0
je 0x87120b
mov ebp, 0xffffffff
jmp 0x87120b
xor ebp, ebp
test ebp, ebp
je 0x871215
jge 0x871171
mov ebx, 0xffffff7b
jmp 0x87111f
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 4]
mov ecx, dword [esi + 8]
mov edi, dword [esi + 0xc]
cdq
add eax, ecx
adc edx, edi
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
sub edi, 0
jl 0x871215
mov eax, dword [esp + 0x14]
cmp eax, 3
jl 0x8710c3
jmp 0x871110
mov ecx, dword [esi + 8]
mov ebp, dword [esi + 0xc]
cdq
sub ecx, eax
sbb ebp, edx
mov dword [esi + 8], ecx
mov dword [esi + 0xc], ebp
jmp 0x871171
lea edx, [esp + 0x3c]
mov ebx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
add ebx, 0x2134
adc ecx, 0
mov dword [esp + 8], ecx
mov eax, dword [esp + 8]
sub eax, 0
jl 0x87129d
or eax, ebx
je 0x87129d
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 8]
sub eax, ebx
sbb ecx, edx
jge 0x87139b
lea ebp, [esi + 0x18]
lea eax, [esp + 0x3c]
push eax
push ebp
call fcn.00876198
add esp, 8
test eax, eax
jl 0x871385
jne 0x87136e
mov eax, ebx
or eax, dword [esp + 8]
je 0x871325
call fcn.00859dd6
mov dword [eax], 0
cmp dword [esi], 0
je 0x871317
push 0x2134
push ebp
call fcn.008760f8
push dword [esi]
push 0x2134
push 1
push eax
call dword [esi + 0x2c0]
mov edi, eax
add esp, 0x18
test edi, edi
jle 0x871304
push edi
push ebp
call fcn.0087617c
add esp, 8
jmp 0x871319
jne 0x871319
call fcn.00859dd6
cmp dword [eax], 0
je 0x871319
mov edi, 0xffffffff
jmp 0x871319
xor edi, edi
test edi, edi
je 0x87135e
jge 0x87127c
jmp 0x87134e
mov edi, dword [esp + 0x6c]
mov ecx, 0xffffffff
mov ebx, 0xffffffff
add ecx, 0x80
lea edx, [ebx + 1]
or ecx, edx
je 0x8713ab
sub ebx, 0
jl 0x8713b8
lea ebp, [esp + 0x3c]
jmp 0x871079
mov edi, dword [esp + 0x6c]
mov ecx, 0xffffff80
mov ebx, 0xffffffff
jmp 0x871333
mov edi, dword [esp + 0x6c]
mov ecx, 0xfffffffe
mov ebx, 0xffffffff
jmp 0x871333
mov edi, dword [esp + 0x6c]
mov ecx, dword [esi + 8]
mov ebx, dword [esi + 0xc]
cdq
add eax, ecx
adc edx, ebx
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
jmp 0x871333
mov ecx, dword [esi + 8]
mov ebp, dword [esi + 0xc]
cdq
sub ecx, eax
sbb ebp, edx
mov dword [esi + 8], ecx
mov dword [esi + 0xc], ebp
jmp 0x87127c
mov edi, dword [esp + 0x6c]
mov ecx, 0xffffffff
mov ebx, 0xffffffff
jmp 0x871333
mov eax, 0xffffff80
add esp, 0x4c
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0xffffff7c
add esp, 0x4c
pop ebx
pop ebp
pop esi
pop edi
ret