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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
mov ebx, dword [ebp + 8]
cmp dword [ebx + 0x74], 0
je 0x10024ac6
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
push eax
call ecx
add esp, 4
mov dword [ebx + 0x74], 0
cmp dword [ebx + 0x6c], 0
mov eax, dword [ebx + 0x90]
jne 0x10024ef8
test eax, eax
jne 0x10024ef8
cmp dword [ebx + 0xc8], eax
je 0x10024af4
mov dword [ebx + 0x90], 9
cmp dword [ebx + 0x12c], 0
je 0x10024b0b
mov dword [ebx + 0x90], 8
mov eax, dword [ebx + 0x90]
test eax, eax
je 0x10024b25
mov dword [ebx + 0x6c], 1
pop ebx
mov esp, ebp
pop ebp
ret
push esi
jmp 0x10025415
mov dword [ebx + 0x34], ecx
mov eax, dword [ebp - 0x10]
cmp eax, 1
jne 0x10024b4c
mov edx, dword [ebx + 0x44]
mov eax, dword [edx*4 + 0x3f5d688]
mov dword [ebx + 0x44], eax
jmp 0x10025084
xor edx, edx
cmp dword [ebx + 0x64], edx
lea ecx, [ebx + 0x30d34]
sete dl
push ecx
lea edi, [ebx + 0x372b4]
mov ebx, dword [ebp - 0x14]
add eax, 0xfffffffe
mov ecx, esi
push edx
call fcn.10021ef0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
mov edx, dword [ecx*4 + 0x3f5d658]
add esp, 8
mov dword [eax + 0x44], edx
mov ebx, eax
jmp 0x10025084
lea ecx, [ebx + eax*2 + 0x32588]
movzx eax, word [ecx]
shr edx, 0xb
imul edx, eax
mov dword [esi], edx
mov edx, 0x800
sub edx, eax
shr edx, 5
add edx, eax
mov word [ecx], dx
mov eax, dword [esi]
cmp eax, 0x1000000
jae 0x10024bc1
shl eax, 8
mov dword [esi], eax
call fcn.10020e20
mov eax, dword [ebx + 0x44]
jmp 0x10024f21
lea ecx, [ebx + ecx*2 + 0x32408]
shr edx, 0xb
imul edx, eax
mov dword [ebx + 0x98], edx
mov edx, 0x800
sub edx, eax
shr edx, 5
add edx, eax
mov word [ecx], dx
mov eax, dword [ebx + 0x98]
cmp eax, 0x1000000
jae 0x10025319
shl eax, 8
lea esi, [ebx + 0x98]
jmp 0x100252f2
cmp eax, 0x1000000
jmp 0x1002552e
lea edi, [ebx + eax*2 + 0x32588]
movzx eax, word [edi]
mov ecx, edx
shr ecx, 0xb
imul ecx, eax
add dword [esi + 8], ecx
adc dword [esi + 0xc], 0
sub edx, ecx
mov ecx, eax
shr ecx, 5
sub eax, ecx
mov dword [esi], edx
mov word [edi], ax
mov eax, dword [esi]
cmp eax, 0x1000000
jae 0x10024c52
shl eax, 8
mov dword [esi], eax
call fcn.10020e20
mov eax, dword [ebp - 8]
test eax, eax
jne 0x10024cc8
mov edx, dword [ebx + 0x44]
movzx eax, word [ebx + edx*2 + 0x325a0]
lea ecx, [ebx + edx*2 + 0x325a0]
mov edx, dword [esi]
shr edx, 0xb
imul edx, eax
mov dword [esi], edx
mov edx, 0x800
sub edx, eax
shr edx, 5
add edx, eax
mov word [ecx], dx
mov eax, dword [esi]
cmp eax, 0x1000000
jae 0x10024c9f
shl eax, 8
mov dword [esi], eax
call fcn.10020e20
mov ecx, dword [ebx + 0x44]
xor eax, eax
cmp dword [ebp - 0x10], 1
setne al
shl ecx, 4
add ecx, dword [ebp - 0x14]
lea edi, [ebx + ecx*2 + 0x325e8]
push eax
mov eax, esi
call fcn.10021350
add esp, 4
jmp 0x10024b2e
mov edx, dword [ebx + eax*4 + 0x34]
mov eax, dword [ebx + 0x44]
lea edi, [ebx + eax*2 + 0x325a0]
movzx eax, word [edi]
mov dword [ebp - 0x1c], edx
jmp 0x100253da
cmp dword [ebx + 0x64], 0
jmp 0x100252b0
mov dword [esi], eax
jmp 0x10025135
cmp eax, dword [ebp + 0x14]
jae 0x10024d63
mov eax, dword [ebx + 0xb0]
sub eax, dword [ebx + 0xb8]
cdq
add eax, dword [ebx + 0xc0]
adc edx, dword [ebx + 0xc4]
add eax, dword [ebx + 0xa8]
adc edx, dword [ebx + 0xac]
add eax, 0x2000
adc edx, 0
xor ecx, ecx
cmp edx, ecx
ja 0x10024d63
jb 0x10024d04
cmp eax, dword [ebp + 0x10]
jb 0x10024d04
mov eax, dword [ebp - 0xc]
mov ecx, eax
jg 0x10024ee1
lea esp, [esp - 0x38]
pushfd
push edx
sub edx, 0xffff9d97
push ebx
lea ebx, [edx + ebx + 0x5674]
push eax
bsf edx, eax
push ecx
xor cx, cx
not cx
sahf
rol edx, 1
mov eax, dword [esp]
mov dword [esp + 0x48], eax
pop ecx
bswap ecx
push ebx
or bl, cl
inc ebx
clc
shl edx, 3
inc ax
clc
pop eax
not ax
dec ax
xor cx, 0xac
lahf
or dl, 0x40
aas
mov eax, dword [esp]
xor ecx, 0x7ea0
mov ecx, dword [esp + 0x44]
sahf
bsf dx, bx
mov ebx, dword [esp + 0xc]
push ebx
popfd
mov ebx, dword [esp + 4]
mov edx, dword [esp + 8]
lea esp, [esp + 0x48]
jle 0x10024ee1
cmp edx, 4
jb 0x10024ec7
mov eax, edx
shr eax, 1
and edx, 1
dec eax
or edx, 2
mov ecx, eax
shl edx, cl
mov ecx, dword [ebp - 0x14]
sub ebx, edx
cmp ecx, 0xe
jae 0x10024e95
sub edx, ecx
lea ecx, [edi + edx*2 + 0x32966]
push ebx
lea esp, [esp - 4]
push eax
lahf
pushfd
push ebx
xor ebx, 0xffffdd05
push edx
or dh, 0xb3
das
cdq
push ecx
bt ebx, 6
neg ax
aam 0xa
lahf
sub dh, 0x43
push ecx
not cl
mov ax, 0x69
mov cx, 0x46
mul cx
nop
sahf
daa
aam 0xa
cdq
bsf dx, cx
mov ecx, dword [esp]
clc
aaa
and dx, 0x19
cmc
add dx, 0x8d64
clc
shl edx, 5
not dx
shl dh, 1
mov edx, dword [esp + 8]
das
stc
xor ebx, 0x7db6
mov ebx, dword [esp + 0xc]
shl ah, 1
mov eax, dword [esp + 0x10]
push eax
popfd
bswap eax
mov eax, dword [esp + 0x14]
lea esp, [esp + 0x18]
mov dword [esp], ecx
mov ecx, esi
call fcn.100218f0
add esp, 8
jmp 0x10024ec4
add eax, 0xfffffffc
mov edx, ebx
push eax
shr edx, 4
push edx
call fcn.10021240
and ebx, 0xf
lea eax, [edi + 0x32a4c]
push ebx
push eax
mov eax, 4
mov ecx, esi
call fcn.100218f0
add esp, 0x10
inc dword [edi + 0x84]
mov ebx, dword [ebp - 8]
mov ecx, dword [edi + 0x3c]
mov edx, dword [edi + 0x38]
mov eax, dword [edi + 0x34]
inc dword [edi + 0x80]
mov dword [edi + 0x34], ebx
mov ebx, dword [ebp + 8]
jmp 0x1002507b
sub ecx, dword [ebp - 0x18]
push eax
add dword [ebx + 0x78], ecx
mov edi, ebx
adc dword [ebx + 0x7c], 0
call fcn.10024560
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x20000
jb 0x10024d04
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x18]
mov ecx, ebx
add dword [ebx + 0x78], eax
adc dword [ebx + 0x7c], 0
call fcn.10024500
jmp 0x1002540e
mov ecx, dword [eax*4 + 0x3f5d628]
mov eax, dword [ebp - 0x10]
mov dword [ebx + 0x44], ecx
xor ecx, ecx
add eax, 0xfffffffe
cmp dword [ebx + 0x64], ecx
lea edx, [ebx + 0x30d34]
sete cl
push edx
lea edi, [ebx + 0x32a6c]
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
push ecx
mov ecx, esi
push 0x3f05011
pushfd
cmc
push eax
bswap eax
daa
push ebx
not bx
mov ebx, dword [esp]
push ecx
bts ecx, 6
add ax, ax
neg cx
test ecx, 0x19
push edx
bsf ecx, edx
nop
cdq
test ah, 0xe1
xor dx, dx
mov ax, 0xee15
mov cx, 0xd8a0
div cx
inc ch
mov eax, 0xc7
cbw
push eax
stc
sub dx, ax
xor dx, dx
mov ax, 0xd74b
mov cx, 0xd0b9
div cx
mov eax, dword [esp + 0x14]
push eax
popfd
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
lea esp, [esp + 0x18]
push 0x3f01ef0
pushfd
clc
push eax
xor ax, 0xc1
push edx
xchg dx, ax
aas
push ebx
inc bh
xor bh, 0x82
push ecx
xchg dh, cl
push ebx
sar bx, 6
inc bx
shl bh, 5
pop edx
inc ch
xchg cx, ax
aad 0xa
push edx
bswap eax
not bx
aaa
mov eax, dword [esp + 0x10]
xadd ebx, ecx
mov ebx, dword [esp + 8]
sar edx, 6
pop ecx
mov ecx, dword [esp]
nop
cmc
mov edx, dword [esp + 0x10]
push edx
popfd
pop edx
mov edx, dword [esp + 4]
nop
lea esp, [esp + 0x10]
ret
mov dword [edi + 0x40], ecx
mov dword [edi + 0x3c], edx
mov dword [edi + 0x38], eax
mov ecx, dword [ebp - 0x10]
sub dword [ebx + 0x30], ecx
mov eax, dword [ebx + 0x30]
add dword [ebp - 0xc], ecx
test eax, eax
jne 0x10024d04
cmp dword [ebx + 0x64], eax
jne 0x100250ce
cmp dword [ebx + 0x80], 0x80
jb 0x100250b8
mov edx, ebx
call fcn.10024790
cmp dword [ebx + 0x84], 0x10
jb 0x100250ce
push ebx
call fcn.10024690
add esp, 4
mov ecx, dword [ebx]
mov edx, dword [ebx + 8]
push ecx
call edx
add esp, 4
test eax, eax
je 0x10024d63
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x18]
cmp dword [ebp + 0xc], 0
je 0x10024efd
add eax, 0x112c
jmp 0x10024d14
mov dword [esi], eax
call fcn.10020e20
jmp 0x1002567d
mov eax, dword [ebx + 0x44]
mov edx, dword [esi]
lea edi, [ebx + eax*2 + 0x325b8]
movzx eax, word [edi]
mov ecx, edx
shr ecx, 0xb
imul ecx, eax
add dword [esi + 8], ecx
adc dword [esi + 0xc], 0
sub edx, ecx
mov ecx, eax
shr ecx, 5
sub eax, ecx
mov dword [esi], edx
jmp 0x10025632
call fcn.10020e20
cmp dword [ebp - 8], 1
jne 0x10025107
mov edx, dword [ebx + 0x44]
jmp 0x100254f1
cmp dword [ebp - 8], 0xffffffff
jne 0x10025269
mov ecx, dword [ebx + 0x44]
mov edx, dword [ebx + 0x98]
shl ecx, 4
add ecx, eax
movzx eax, word [ebx + ecx*2 + 0x32408]
jmp 0x10024bc9
mov ecx, dword [ebx + 0x44]
mov edx, dword [ebx + 0x98]
shl ecx, 4
add ecx, eax
movzx eax, word [ebx + ecx*2 + 0x32408]
lea esi, [ebx + 0x98]
lea edi, [ebx + ecx*2 + 0x32408]
mov ecx, edx
shr ecx, 0xb
imul ecx, eax
add dword [esi + 8], ecx
adc dword [esi + 0xc], 0
sub edx, ecx
mov dword [esi], edx
mov edx, eax
shr edx, 5
sub eax, edx
mov word [edi], ax
mov eax, dword [esi]
jmp 0x10024c0a
lea ecx, [ebp - 8]
je 0x100252c8
push ecx
push ebx
call fcn.10023c50
add esp, 8
jmp 0x100252d7
mov edx, dword [ebp - 0xc]
push edx
call fcn.100222b0
mov ebx, dword [ebp + 8]
add esp, 4
mov dword [ebp - 0x10], eax
mov eax, dword [ebx + 0x58]
and eax, dword [ebp - 0xc]
cmp dword [ebp - 0x10], 1
mov dword [ebp - 0x14], eax
jne 0x10025269
jmp 0x1002514c
mov dword [ebx + 0x98], eax
call fcn.10020e20
jmp 0x10025319
mov eax, dword [ebx]
mov ecx, dword [ebx + 0xc]
push eax
push 0x3f0538d
push eax
mov ax, 0x39
push ecx
mov cx, 0xa1
pushfd
push edx
mul cx
inc al
lahf
cwd
aad 0xa
stc
push ebx
dec ebx
xchg edx, eax
btc eax, 5
das
xor dx, dx
mov ax, 0xb86a
mov cx, 0xd590
div cx
bsf cx, cx
clc
sar cl, 5
not dl
shr bl, 5
cbw
lea edx, [eax + ecx - 0x4705]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 4]
xadd ebx, ebx
mov ebx, dword [esp]
push eax
push ecx
clc
nop
push ebx
clc
push ecx
mov ecx, dword [esp + 0x18]
push ecx
popfd
pop ecx
lea esp, [esp + 0x20]
jmp ecx
mov edx, dword [esi]
mov ecx, edx
shr ecx, 0xb
imul ecx, eax
add dword [esi + 8], ecx
adc dword [esi + 0xc], 0
sub edx, ecx
mov ecx, eax
shr ecx, 5
sub eax, ecx
mov dword [esi], edx
mov word [edi], ax
mov eax, dword [esi]
cmp eax, 0x1000000
jae 0x1002513a
shl eax, 8
jmp 0x10024d0d
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebx + 0x78]
mov edx, esi
or edx, dword [ebx + 0x7c]
lea esp, [esp - 4]
pushfd
push ecx
bsf cx, cx
push edx
inc dl
cwd
push edx
push eax
aaa
aas
bsr ax, ax
xor dx, dx
mov ax, 0x7102
mov cx, 0x99f5
div cx
nop
push ebx
not bh
aam 0xa
bswap eax
push ecx
cbw
mov cl, bh
dec ecx
inc ch
dec ax
aam 0xa
stc
shl ebx, 5
aam 0xa
or bx, 0x2d
bsf ecx, edx
inc eax
nop
neg bh
bt eax, 6
bsf edx, ecx
mov ecx, dword [esp + 0x14]
rol eax, 6
bswap ebx
cdq
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x10]
not bh
inc ebx
mov ebx, dword [esp + 0x18]
push ebx
popfd
mov ebx, dword [esp + 4]
lea esp, [esp + 0x1c]
mov dword [esp], edi
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x18], esi
jne 0x1002561a
mov eax, dword [ebx]
mov ecx, dword [ebx + 8]
push eax
call ecx
add esp, 4
test eax, eax
jne 0x100254c5
push esi
mov edi, ebx
call fcn.10024560
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea edx, [ebp - 0x1c]
push edx
mov esi, ebx
call fcn.10021f50
mov eax, dword [ebx + 0x44]
mov edx, dword [ebx + 0x98]
shl eax, 5
lea ecx, [eax + ebx + 0x32408]
movzx eax, word [ecx]
lea esi, [ebx + 0x98]
jmp 0x100255b5
movzx eax, word [ebx + edx*2 + 0x325b8]
lea ecx, [ebx + edx*2 + 0x325b8]
mov edx, dword [esi]
shr edx, 0xb
imul edx, eax
mov dword [esi], edx
mov edx, 0x800
sub edx, eax
shr edx, 5
add edx, eax
mov word [ecx], dx
mov eax, dword [esi]
cmp eax, 0x1000000
jae 0x1002567d
shl eax, 8
jmp 0x100250fb
jae 0x1002553e
shl eax, 8
mov dword [esi], eax
call fcn.10020e20
cmp dword [ebp - 8], 4
mov eax, dword [ebx + 0x44]
mov edx, dword [esi]
jae 0x10024b89
jl 0x10024c14
pushfd
push eax
neg eax
bsf eax, eax
push edx
shr dx, 1
push ebx
shl ebx, 1
dec eax
stc
btc bx, 4
cmc
inc al
not dx
add bx, 0x70
not edx
push ecx
bsr dx, cx
mov ecx, dword [esp]
or dx, 0xc3ae
clc
inc edx
cdq
aam 0xa
not bx
mov ebx, dword [esp + 4]
inc eax
push eax
sahf
not dx
sar ax, 5
daa
cdq
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
cmp ecx, ebx
push ebx
mov ebx, dword [esp + 0x18]
push ebx
popfd
pop ebx
lea esp, [esp + 0x18]
jge 0x10024c14
shr edx, 0xb
imul edx, eax
mov dword [esi], edx
mov edx, 0x800
sub edx, eax
shr edx, 5
add edx, eax
mov word [ecx], dx
mov eax, dword [esi]
add esp, 4
cmp eax, 0x1000000
jae 0x100255e6
shl eax, 8
mov dword [esi], eax
call fcn.10020e20
mov eax, dword [ebx + 0x44]
mov ecx, dword [eax*4 + 0x3f5d5f8]
mov edx, dword [ebx]
mov eax, dword [ebx + 0xc]
push edx
mov dword [ebx + 0x44], ecx
call eax
sub eax, dword [ebx + 0x30]
jmp 0x10025603
mov ecx, dword [ebx + 0x60]
movzx eax, byte [eax]
push ecx
mov ecx, esi
call fcn.10021420
dec dword [ebx + 0x30]
add esp, 8
inc dword [ebp - 0xc]
mov edx, dword [ebx]
mov eax, dword [ebx + 8]
push edx
call eax
add esp, 4
test eax, eax
je 0x10024d63
jmp 0x10024d04
mov word [edi], ax
mov eax, dword [esi]
cmp eax, 0x1000000
jae 0x1002564c
shl eax, 8
mov dword [esi], eax
call fcn.10020e20
mov eax, dword [ebx + 0x44]
mov edx, dword [ebp - 8]
add edx, 0xfffffffe
lea edi, [ebx + eax*2 + 0x325d0]
push edx
mov eax, esi
call fcn.10021350
add esp, 4
cmp dword [ebp - 8], 3
jne 0x10025677
mov ecx, dword [ebx + 0x3c]
mov dword [ebx + 0x40], ecx
mov edx, dword [ebx + 0x38]
mov dword [ebx + 0x3c], edx
mov eax, dword [ebx + 0x34]
mov ecx, dword [ebp - 0x1c]
mov dword [ebx + 0x38], eax
jmp 0x10024b2b