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

Disassembly:
sub esp, 0x7c
mov eax, dword [0x1058ac14]
xor eax, esp
mov dword [esp + 0x78], eax
cmp dword [esp + 0x84], 0
push esi
mov esi, ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x14], esi
mov dword [esp + 0x3c], ecx
jne 0x10259883
mov eax, dword [esi + 0x14]
mov dword [ecx], eax
xor eax, eax
pop esi
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.1026b168
add esp, 0x7c
ret 0x1c
mov ecx, dword [esp + 0x94]
cmp dword [esi + 0x20], ecx
mov eax, dword [esp + 0x8c]
cmovl ecx, dword [esi + 0x20]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x98]
cmp dword [esi + 0x24], ecx
push ebx
cmovl ecx, dword [esi + 0x24]
push ebp
mov ebp, dword [esp + 0x98]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x10], ebp
push edi
mov edi, dword [esi + 0x10]
mov dword [esp + 0x10], edi
cmp ebp, ecx
jg 0x10259a88
mov ebx, dword [esp + 0x90]
mov ecx, dword [esi + 0x18]
lea eax, [esp + 0x28]
push eax
call fcn.1020b940
mov ecx, dword [esi + 0x18]
lea eax, [esp + 0x44]
push eax
call fcn.1020b960
mov esi, dword [esp + 0x28]
cmp esi, dword [eax]
je 0x10259a75
nop dword [eax]
mov edi, dword [esi + 0x118]
test ebp, ebp
js 0x10259913
mov eax, ebp
cdq
idiv edi
mov ecx, eax
jmp 0x10259929
mov eax, edi
test edi, edi
js 0x1025991e
sub eax, ebp
dec eax
jmp 0x10259922
not eax
sub eax, ebp
cdq
idiv edi
mov ecx, eax
neg ecx
imul ecx, edi
mov eax, ebp
sub eax, ecx
jne 0x10259b98
push dword [esp + 0x3c]
push dword [esp + 0x44]
push dword [esi + 0x114]
call fcn.10220ed0
mov edx, eax
xor ebp, ebp
mov eax, dword [esi + 0x110]
add esp, 0xc
mov dword [esp + 0x1c], ebp
sub eax, ebp
je 0x10259b2a
sub eax, 1
je 0x10259ae6
sub eax, 1
jne 0x10259a47
mov eax, dword [esp + 0x10]
mov ecx, eax
add eax, edx
lea ebp, [eax + edx]
lea edi, [edx + ebp]
mov dword [esp + 0x10], edi
test edx, edx
jle 0x10259a4b
sub ecx, ebp
sub eax, ebp
mov dword [esp + 0x2c], ecx
mov esi, eax
mov dword [esp + 0x24], eax
nop dword [eax]
mov eax, dword [ebx]
add ebx, 4
mov dword [esp + 0x18], eax
movss xmm0, dword [esp + 0x18]
movss dword [esp + 0x18], xmm0
mov ecx, dword [esp + 0x18]
mov eax, ecx
mov edi, ecx
and eax, 0x7f800000
and edi, 0x80000000
and ecx, 0x7fffff
cmp eax, 0x7f800000
jne 0x102599f7
test ecx, ecx
je 0x102599f0
cmp ecx, 0x100
sbb eax, eax
or ecx, 0x7f800000
neg eax
shr ecx, 8
or eax, ecx
jmp 0x10259a17
mov eax, 0x7f8000
jmp 0x10259a17
mov esi, ecx
or esi, eax
mov eax, ecx
and eax, 0x80
add eax, esi
shr eax, 8
cmp eax, 0x7f8000
jb 0x10259a13
mov eax, esi
shr eax, 8
mov esi, dword [esp + 0x24]
shr edi, 8
or edi, eax
mov ecx, edi
sub ecx, dword [esp + 0x1c]
mov dword [esp + 0x1c], edi
mov eax, ecx
mov edi, dword [esp + 0x2c]
shr eax, 0x10
mov byte [edi + ebp], al
mov eax, ecx
shr eax, 8
mov byte [esi + ebp], al
mov byte [ebp], cl
inc ebp
sub edx, 1
jne 0x102599a0
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
lea ecx, [esp + 0x28]
call fcn.100164e0
lea eax, [esp + 0x44]
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x18]
call fcn.1020b960
mov esi, dword [esp + 0x28]
cmp esi, dword [eax]
jne 0x10259900
mov esi, dword [esp + 0x20]
inc ebp
mov dword [esp + 0x14], ebp
cmp ebp, dword [esp + 0x34]
jle 0x102598d6
mov esi, dword [esi + 0x10]
sub esp, 8
sub edi, esi
movd xmm0, edi
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x10394f98]
movsd qword [esp + 0x3c], xmm0
fld qword [esp + 0x3c]
fstp qword [esp]
call fcn.1027e840
mov ebx, dword [esp + 0x28]
fstp qword [esp + 0x3c]
cvttsd2si eax, qword [esp + 0x3c]
push edi
push esi
add eax, 0x64
mov dword [esp + 0x40], eax
lea eax, [esp + 0x40]
push eax
push dword [ebx + 0x14]
call fcn.1010a3b0
add esp, 0x18
test eax, eax
jne 0x10259bc6
jmp 0x10259ba1
mov eax, dword [esp + 0x10]
mov edi, eax
lea esi, [edx + eax]
lea eax, [esi + edx]
mov dword [esp + 0x10], eax
test edx, edx
jle 0x10259a47
nop
mov ax, word [ebx]
lea edi, [edi + 1]
movzx eax, ax
lea esi, [esi + 1]
mov ecx, eax
add ebx, 2
sub ecx, ebp
mov ebp, eax
mov eax, ecx
shr eax, 8
mov byte [edi - 1], al
mov byte [esi - 1], cl
sub edx, 1
jne 0x10259b00
jmp 0x10259a47
mov ecx, dword [esp + 0x10]
mov eax, ecx
lea edi, [edx + ecx]
lea ebp, [edi + edx]
lea esi, [edx + ebp]
lea ecx, [esi + edx]
mov dword [esp + 0x10], ecx
test edx, edx
jle 0x10259a47
sub eax, esi
sub edi, esi
sub ebp, esi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], ebp
mov eax, dword [ebx]
lea esi, [esi + 1]
mov ebp, dword [esp + 0x2c]
mov ecx, eax
sub ecx, dword [esp + 0x1c]
add ebx, 4
mov dword [esp + 0x1c], eax
mov eax, ecx
shr eax, 0x18
mov byte [esi + ebp - 1], al
mov eax, ecx
mov ebp, dword [esp + 0x18]
shr eax, 0x10
mov byte [esi + edi - 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + ebp - 1], al
mov byte [esi - 1], cl
sub edx, 1
jne 0x10259b56
jmp 0x10259a47
mov edi, dword [esp + 0x10]
jmp 0x10259a4f
mov ecx, dword [esp + 0x48]
mov eax, dword [ebx + 0x14]
pop edi
pop ebp
mov dword [ecx], eax
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x28]
pop ebx
pop esi
xor ecx, esp
call fcn.1026b168
add esp, 0x7c
ret 0x1c
push 0x10394d00
lea ecx, [esp + 0x50]
call fcn.10220300
push 0x103ff920
lea eax, [esp + 0x50]
push eax
call fcn.1026cad5
int3