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

Disassembly:
sub esp, 0x78
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x94]
push ebx
mov ecx, dword [ecx + 0xc]
add eax, edx
push ebp
push esi
xor ebx, ebx
mov dword [esp + 0x1c], 0
xor esi, esi
mov dword [esp + 0x10], ebx
cmp eax, ecx
mov dword [esp + 0x34], esi
push edi
cmovle ecx, eax
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x94]
xor edi, edi
mov dword [esp + 0x10], ecx
mov eax, dword [eax]
mov ebp, dword [eax + 0x7d8]
mov eax, dword [eax + 0x7dc]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x3c], eax
cmp edx, ecx
jge 0x1002506f
mov ebx, dword [esp + 0x98]
mov eax, edx
mov esi, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
shl eax, 4
sub eax, edx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x34]
lea edx, [eax*8]
mov dword [esp + 0x44], edi
mov eax, dword [esp + 0xa8]
add edx, ebp
mov ebp, eax
mov dword [esp + 0x30], edx
shl ebp, 4
sub ebp, eax
lea ebx, [ebx + eax*4]
shl ebp, 5
add ebp, dword [esp + 0x3c]
lea eax, [eax + eax*2]
lea eax, [eax + 3]
lea eax, [esi + eax*8]
mov esi, dword [esp + 0x98]
sub dword [esp + 0x2c], esi
sub dword [esp + 0x24], esi
mov esi, edi
mov dword [esp + 0x40], eax
nop dword [eax]
cmp dword [eax - 8], 4
je 0x10025041
mov esi, dword [eax]
mov eax, dword [esp + 0x24]
push esi
push dword [ebx]
mov edi, dword [eax + ebx]
lea eax, [edi + 0x7d0]
push eax
push ebp
call fcn.10026b00
mov eax, dword [esp + 0x3c]
push esi
mov eax, dword [eax + ebx]
add eax, 0x20
push eax
mov eax, dword [esp + 0x3c]
push dword [ebx]
mov eax, dword [eax + ebx]
add eax, 0x7d0
push eax
call fcn.10024ab0
mov eax, dword [esp + 0x4c]
mov ecx, dword [ebx]
mov eax, dword [eax + ebx]
add eax, 0x14
push eax
push esi
lea eax, [ecx + 0xc]
push eax
mov eax, dword [esp + 0x50]
push dword [esp + 0x5c]
push ecx
mov eax, dword [eax + ebx]
add eax, 0x7d0
push eax
call fcn.10028020
mov eax, dword [esp + 0x4c]
mov ecx, 1
add eax, dword [edi + 0x7c0]
add esp, 0x38
mov esi, dword [esp + 0x38]
add esi, dword [edi + 0x7c4]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0x7c8]
cmp eax, ecx
mov edi, dword [esp + 0x44]
cmovg ecx, eax
mov dword [esp + 0x38], esi
mov eax, dword [esp + 0x40]
add edi, ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x44], edi
inc ecx
add eax, 0x18
add edx, 0x78
mov dword [esp + 0x34], ecx
add ebp, 0x1e0
mov dword [esp + 0x40], eax
add ebx, 4
mov dword [esp + 0x30], edx
cmp ecx, dword [esp + 0x10]
jl 0x10024f90
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x28]
lea ecx, [esp + 0x1c]
shl edi, 2
mov eax, esi
sub eax, dword [esp + 0x9c]
push ecx
push edi
js 0x1002508e
push eax
call fcn.1000e1e0
add esp, 0xc
jmp 0x1002509b
neg eax
push eax
call fcn.1000e1e0
add esp, 0xc
neg eax
lea ecx, [esp + 0x1c]
push ecx
push dword [esp + 0x20]
push eax
call fcn.1000e0e0
add esp, 0xc
mov dword [esp + 0x14], eax
sub esi, ebx
lea eax, [esp + 0x18]
push eax
push edi
js 0x100250c6
push esi
call fcn.1000e1e0
add esp, 0xc
jmp 0x100250d3
neg esi
push esi
call fcn.1000e1e0
add esp, 0xc
neg eax
lea ecx, [esp + 0x18]
push ecx
push dword [esp + 0x1c]
push eax
call fcn.1000e0e0
mov ecx, dword [esp + 0x28]
add esp, 0xc
mov edx, dword [esp + 0x18]
cmp ecx, edx
mov ebx, edx
cmovg ebx, ecx
inc ebx
sub ecx, ebx
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x14]
test ecx, ecx
jle 0x10025107
shl ebx, cl
jmp 0x1002510b
neg ecx
sar ebx, cl
sub edx, dword [esp + 0x24]
test edx, edx
jle 0x10025119
mov ecx, edx
shl eax, cl
jmp 0x1002511f
neg edx
mov ecx, edx
sar eax, cl
mov edi, dword [esp + 0xa8]
sub ebx, eax
mov eax, 0
mov ecx, edi
cmovs ebx, eax
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x24]
mov dword [esp + 0x14], ebx
mov byte [esp + 0x2c], al
cmp edi, dword [esp + 0x10]
jge 0x1002522c
mov esi, dword [esp + 0x98]
mov eax, edi
shl eax, 4
sub eax, edi
lea ebx, [esi + edi*4]
lea edx, [eax*8]
add edx, ebp
mov ebp, edi
shl ebp, 4
sub ebp, edi
mov dword [esp + 0x34], edx
inc edi
shl ebp, 5
add ebp, dword [esp + 0x3c]
lea eax, [edi + edi*2]
mov edi, dword [esp + 0x8c]
lea eax, [edi + eax*8]
mov edi, dword [esp + 0x94]
sub edi, esi
mov dword [esp + 0x38], eax
mov esi, dword [esp + 0x10]
mov dword [esp + 0x44], edi
nop dword [eax + eax]
cmp dword [eax - 8], 4
je 0x10025201
push dword [esp + 0x2c]
mov esi, dword [eax]
push dword [esp + 0x18]
mov eax, dword [ebx + edi]
push esi
push ebp
push edx
push dword [ebx]
lea edi, [eax + 0x28]
add eax, 0x7d0
push eax
call fcn.100289b0
mov eax, dword [esp + 0x60]
push esi
push edi
mov eax, dword [ebx + eax]
add eax, 0x7d0
push eax
push dword [ebx]
call fcn.10026a40
mov eax, dword [esp + 0x4c]
add esp, 0x2c
add eax, dword [edi + 0x798]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x38]
inc ecx
add eax, 0x18
add edx, 0x78
mov dword [esp + 0x40], ecx
add ebp, 0x1e0
mov dword [esp + 0x38], eax
add ebx, 4
mov dword [esp + 0x34], edx
cmp ecx, esi
jl 0x100251a0
mov edi, dword [esp + 0xa8]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x44], 0
nop dword [eax + eax]
mov ebx, dword [esp + 0x9c]
mov eax, ebp
sub eax, ebx
cdq
mov esi, eax
lea eax, [esp + 0x64]
push eax
xor esi, edx
push ebx
push 0x6666668
sub esi, edx
call fcn.1000e4e0
mov edx, dword [esp + 0x70]
add esp, 0xc
test edx, edx
jns 0x10025282
cmp edx, 0xffffffe0
jle 0x1002527e
or ecx, 0xffffffff
sub ecx, edx
sar eax, cl
inc eax
sar eax, 1
jmp 0x1002528c
xor eax, eax
jmp 0x1002528c
push edx
push eax
call fcn.100066c0
add esp, 8
cmp esi, eax
jle 0x100257c9
mov eax, dword [esp + 0xa0]
cmp dword [esp + 0x44], eax
jge 0x100257c9
mov ebx, dword [esp + 0xa8]
xor eax, eax
xor edi, edi
mov dword [esp + 0x38], eax
xor esi, esi
mov dword [esp + 0x58], edi
mov edx, ebx
mov dword [esp + 0x5c], esi
mov dword [esp + 0x30], edx
cmp ebx, dword [esp + 0x10]
jge 0x10025464
mov ebp, dword [esp + 0x10]
lea ecx, [ebx*4]
add ecx, dword [esp + 0x98]
lea eax, [ebx + ebx*2]
mov ebx, dword [esp + 0x8c]
shl eax, 3
add ebx, 0x18
mov dword [esp + 0x7c], eax
add eax, ebx
mov ebx, dword [esp + 0x94]
sub ebx, dword [esp + 0x98]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x78], ebx
cmp dword [eax - 8], 4
je 0x1002543b
mov eax, dword [ecx + ebx]
xor ebp, ebp
mov edx, dword [esp + 0x34]
xor ebx, ebx
mov esi, dword [ecx]
xor ecx, ecx
mov dword [esp + 0x74], esi
mov edi, dword [eax + 0x7cc]
cmp dword [edx], ecx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x54], ecx
jle 0x1002540d
add eax, 0x208
mov dword [esp + 0x40], eax
nop dword [eax]
mov eax, dword [esi + ecx*4]
xor edx, edx
mov dword [esp + 0x4c], edx
mov esi, dword [eax]
mov dword [esp + 0x70], esi
test esi, esi
jle 0x100253ea
mov esi, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x68], esi
shl esi, 2
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x40]
mov dword [esp + 0x48], eax
mov dword [esp + 0x50], esi
test eax, eax
jle 0x100253d4
mov eax, dword [esp + 0x30]
lea ecx, [ecx + eax*2]
mov eax, ecx
shl eax, 4
sub eax, ecx
mov ecx, esi
mov esi, dword [esp + 0x48]
lea edx, [edx + eax*4]
add edx, dword [esp + 0x28]
cmp byte [edx], 2
jae 0x100253bb
mov eax, dword [ecx]
add edi, dword [ecx - 0xf0]
sar eax, 4
add ebx, eax
add ebp, dword [ecx + 0xf0]
add ecx, 4
inc edx
sub esi, 1
jne 0x100253a3
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x54]
add edx, dword [esp + 0x68]
add esi, dword [esp + 0x6c]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], esi
cmp edx, dword [esp + 0x70]
jl 0x10025384
mov eax, dword [esp + 0x34]
inc ecx
add dword [esp + 0x40], 0x3cc
mov esi, dword [esp + 0x74]
mov dword [esp + 0x54], ecx
cmp ecx, dword [eax]
jl 0x10025350
mov edx, dword [esp + 0x30]
jmp 0x10025411
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
sar edi, 0x10
add dword [esp + 0x38], edi
mov edi, dword [esp + 0x58]
sar ebx, 0xc
add edi, ebx
mov ebx, dword [esp + 0x78]
add esi, ebp
mov dword [esp + 0x58], edi
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x5c], esi
inc edx
add eax, 0x18
add ecx, 4
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x60], ecx
cmp edx, ebp
jl 0x10025310
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x38]
jmp 0x1002546a
lea ebx, [ebx + ebx*2]
shl ebx, 3
mov ecx, dword [esp + 0x9c]
cmp ecx, ebp
jge 0x1002568b
sub eax, ebp
add eax, ecx
test esi, esi
jle 0x10025579
xor ecx, ecx
shl esi, 2
test eax, eax
cmovs eax, ecx
mov ecx, edi
sub ecx, eax
lea eax, [esp + 0x1c]
push eax
push esi
js 0x100254a6
push ecx
call fcn.1000e1e0
add esp, 0xc
jmp 0x100254b3
neg ecx
push ecx
call fcn.1000e1e0
add esp, 0xc
neg eax
lea ecx, [esp + 0x1c]
push ecx
push dword [esp + 0x20]
push eax
call fcn.1000e0e0
add esp, 0xc
mov ebp, eax
sub edi, dword [esp + 0x38]
lea eax, [esp + 0x18]
push eax
push esi
js 0x100254de
push edi
call fcn.1000e1e0
add esp, 0xc
jmp 0x100254eb
neg edi
push edi
call fcn.1000e1e0
add esp, 0xc
neg eax
lea ecx, [esp + 0x18]
push ecx
push dword [esp + 0x1c]
push eax
call fcn.1000e0e0
mov esi, dword [esp + 0x24]
mov edi, eax
mov edx, dword [esp + 0x28]
add esp, 0xc
mov ecx, dword [esp + 0x24]
cmp edx, esi
mov ebx, dword [esp + 0x14]
mov eax, esi
cmovg eax, edx
movsx ecx, cl
inc eax
cmp ecx, eax
cmovg eax, ecx
inc eax
sub ecx, eax
test ecx, ecx
jle 0x1002552a
shl ebx, cl
jmp 0x1002552e
neg ecx
sar ebx, cl
sub edx, eax
test edx, edx
jle 0x1002553a
mov ecx, edx
shl ebp, cl
jmp 0x10025540
neg edx
mov ecx, edx
sar ebp, cl
sub esi, eax
test esi, esi
jle 0x1002554c
mov ecx, esi
shl edi, cl
jmp 0x10025552
neg esi
mov ecx, esi
sar edi, cl
sub ebp, edi
mov dword [esp + 0x24], eax
mov edi, dword [esp + 0xa8]
add ebp, ebx
mov ecx, 0
mov byte [esp + 0x2c], al
cmovs ebp, ecx
mov dword [esp + 0x14], ebp
lea ebx, [edi + edi*2]
shl ebx, 3
jmp 0x10025580
mov edi, dword [esp + 0xa8]
mov eax, dword [esp + 0x10]
xor ebp, ebp
mov ecx, edi
mov dword [esp + 0x20], ebp
mov esi, ebx
mov dword [esp + 0x40], ecx
cmp edi, eax
jge 0x10025682
mov eax, dword [esp + 0x98]
mov ebx, edi
mov edx, dword [esp + 0x28]
shl ebx, 4
sub ebx, edi
lea ebp, [eax + edi*4]
shl ebx, 5
add ebx, dword [esp + 0x3c]
mov eax, edi
shl eax, 4
sub eax, edi
mov edi, dword [esp + 0x94]
lea edx, [edx + eax*8]
mov eax, dword [esp + 0x8c]
add eax, 0x18
mov dword [esp + 0x58], edx
add eax, esi
sub edi, dword [esp + 0x98]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], edi
nop word [eax + eax]
cmp dword [eax - 8], 4
je 0x10025653
push dword [esp + 0x2c]
mov esi, dword [eax]
push dword [esp + 0x18]
mov eax, dword [edi + ebp]
push esi
push ebx
push edx
push dword [ebp]
lea edi, [eax + 0x28]
add eax, 0x7d0
push eax
call fcn.100289b0
mov eax, dword [esp + 0x7c]
push esi
push edi
mov eax, dword [eax + ebp]
add eax, 0x7d0
push eax
push dword [ebp]
call fcn.10026a40
mov eax, dword [esp + 0x4c]
add esp, 0x2c
add eax, dword [edi + 0x798]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x58]
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x5c]
inc ecx
add eax, 0x18
add edx, 0x78
mov dword [esp + 0x40], ecx
add ebx, 0x1e0
mov dword [esp + 0x5c], eax
add ebp, 4
mov dword [esp + 0x58], edx
cmp ecx, esi
jl 0x100255f0
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0xa8]
inc dword [esp + 0x44]
jmp 0x10025240
lea eax, [esp + 0x80]
push eax
lea eax, [esp + 0x88]
push eax
push ecx
push ebp
call fcn.1000e1e0
add esp, 0xc
push eax
push dword [esp + 0x1c]
call fcn.1000e4e0
mov cl, byte [esp + 0x8c]
add esp, 0xc
add cl, byte [esp + 0x84]
mov edi, dword [esp + 0xa8]
mov edx, edi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x24]
add al, cl
mov dword [esp + 0x58], edx
mov dword [esp + 0x24], eax
mov byte [esp + 0x2c], al
mov eax, dword [esp + 0x10]
cmp edi, eax
jge 0x10025584
mov ecx, dword [esp + 0x28]
mov eax, edi
shl eax, 4
sub eax, edi
lea ebp, [ecx + eax*8]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x10]
add eax, 0x18
add eax, ebx
mov dword [esp + 0x54], eax
nop dword [eax]
cmp dword [eax - 8], 4
je 0x10025792
mov ecx, dword [esp + 0x98]
mov esi, dword [ecx + edx*4]
mov ecx, dword [eax]
mov dword [esp + 0x5c], ecx
test ecx, ecx
jle 0x1002578e
xor eax, eax
mov dword [esp + 0x60], eax
mov edx, dword [esi]
xor ebx, ebx
cmp dword [edx], ebx
jle 0x10025773
mov edi, eax
nop word [eax + eax]
xor ecx, ecx
cmp dword [edx + 8], ecx
jle 0x10025761
lea eax, [edi + ebp]
nop word [eax + eax]
cmp byte [eax], 2
jne 0x10025758
mov byte [eax], 1
mov edx, dword [esi]
inc ecx
inc eax
cmp ecx, dword [edx + 8]
jl 0x10025750
add ebx, dword [edx + 4]
add edi, dword [edx + 4]
cmp ebx, dword [edx]
jl 0x10025740
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
add eax, 0x3c
add esi, 4
sub ecx, 1
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], ecx
jne 0x10025730
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x10]
inc edx
add eax, 0x18
add ebp, 0x78
mov dword [esp + 0x58], edx
mov dword [esp + 0x54], eax
cmp edx, ecx
jl 0x10025710
mov edi, dword [esp + 0xa8]
mov ecx, edi
mov dword [esp + 0x20], 0
mov dword [esp + 0x40], ecx
lea esi, [edi + edi*2]
shl esi, 3
jmp 0x1002559a
cmp ebp, ebx
jle 0x10025936
mov esi, dword [esp + 0x98]
mov eax, ebx
mov ebx, dword [esp + 0x28]
sub eax, ebp
push edi
push dword [esp + 0xa8]
push eax
push dword [esp + 0x38]
push dword [esp + 0x24]
push dword [esp + 0x50]
push ebx
push esi
push dword [esp + 0xb4]
push dword [esp + 0xb0]
call fcn.100276a0
xor ecx, ecx
add esp, 0x28
mov ebp, edi
mov dword [esp + 0x3c], ecx
cmp edi, dword [esp + 0x10]
jge 0x10025895
mov edx, dword [esp + 0x8c]
lea ebx, [esi + edi*4]
inc edi
lea eax, [edi + edi*2]
lea edi, [edx + eax*8]
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x10]
sub eax, esi
mov dword [esp + 0x84], eax
cmp dword [edi - 8], 4
je 0x10025878
mov eax, dword [ebx + eax]
push dword [edi]
lea esi, [eax + 0x28]
add eax, 0x7d0
push esi
push eax
push dword [ebx]
call fcn.10026a40
mov ecx, dword [esp + 0x4c]
add esp, 0x10
add ecx, dword [esi + 0x798]
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x3c], ecx
inc ebp
add edi, 0x18
add ebx, 4
cmp ebp, edx
jl 0x10025840
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0xa8]
mov esi, dword [esp + 0x98]
mov ebp, dword [esp + 0x9c]
cmp ecx, ebp
jle 0x10025936
lea eax, [esp + 0x84]
push eax
push ebp
push 0x13333340
call fcn.1000e4e0
mov edx, dword [esp + 0x90]
add esp, 0xc
test edx, edx
jns 0x100258da
cmp edx, 0xffffffe0
jle 0x100258d6
or ecx, 0xffffffff
sub ecx, edx
sar eax, cl
inc eax
sar eax, 1
jmp 0x100258e4
xor eax, eax
jmp 0x100258e4
push edx
push eax
call fcn.100066c0
add esp, 8
mov ecx, dword [esp + 0xa4]
add eax, ebp
push edi
push ecx
lea ecx, [esp + 0x44]
push ecx
push eax
push ebx
push esi
push dword [esp + 0xac]
push dword [esp + 0xa8]
call fcn.10028720
push edi
push dword [esp + 0xc8]
push dword [esp + 0x64]
push ebp
push ebx
push dword [esp + 0xc4]
push esi
push dword [esp + 0xd0]
push dword [esp + 0xcc]
call fcn.10025c00
add esp, 0x44
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x78
ret