Function at 0x100256a0
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 0x100256c6
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 0x10025af8
test eax, eax
jne 0x10025af8
cmp dword [ebx + 0xc8], eax
je 0x100256f4
mov dword [ebx + 0x90], 9
cmp dword [ebx + 0x12c], 0
je 0x1002570b
mov dword [ebx + 0x90], 8
mov eax, dword [ebx + 0x90]
test eax, eax
je 0x10025725
mov dword [ebx + 0x6c], 1
pop ebx
mov esp, ebp
pop ebp
ret
push esi
jmp 0x10026015
mov dword [ebx + 0x34], ecx
mov eax, dword [ebp - 0x10]
cmp eax, 1
jne 0x1002574c
mov edx, dword [ebx + 0x44]
mov eax, dword [edx*4 + 0x301d688]
mov dword [ebx + 0x44], eax
jmp 0x10025c84
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.10022af0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
mov edx, dword [ecx*4 + 0x301d658]
add esp, 8
mov dword [eax + 0x44], edx
mov ebx, eax
jmp 0x10025c84
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 0x100257c1
shl eax, 8
mov dword [esi], eax
call fcn.10021a20
mov eax, dword [ebx + 0x44]
jmp 0x10025b21
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 0x10025f19
shl eax, 8
lea esi, [ebx + 0x98]
jmp 0x10025ef2
cmp eax, 0x1000000
jmp 0x1002612e
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 0x10025852
shl eax, 8
mov dword [esi], eax
call fcn.10021a20
mov eax, dword [ebp - 8]
test eax, eax
jne 0x100258c8
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 0x1002589f
shl eax, 8
mov dword [esi], eax
call fcn.10021a20
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.10021f50
add esp, 4
jmp 0x1002572e
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 0x10025fda
cmp dword [ebx + 0x64], 0
jmp 0x10025eb0
mov dword [esi], eax
jmp 0x10025d35
cmp eax, dword [ebp + 0x14]
jae 0x10025963
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 0x10025963
jb 0x10025904
cmp eax, dword [ebp + 0x10]
jb 0x10025904
mov eax, dword [ebp - 0xc]
mov ecx, eax
jg 0x10025ae1
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 0x10025ae1
cmp edx, 4
jb 0x10025ac7
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 0x10025a95
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.100224f0
add esp, 8
jmp 0x10025ac4
add eax, 0xfffffffc
mov edx, ebx
push eax
shr edx, 4
push edx
call fcn.10021e40
and ebx, 0xf
lea eax, [edi + 0x32a4c]
push ebx
push eax
mov eax, 4
mov ecx, esi
call fcn.100224f0
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 0x10025c7b
sub ecx, dword [ebp - 0x18]
push eax
add dword [ebx + 0x78], ecx
mov edi, ebx
adc dword [ebx + 0x7c], 0
call fcn.10025160
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x20000
jb 0x10025904
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.10025100
jmp 0x1002600e
mov ecx, dword [eax*4 + 0x301d628]
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 0x2fc5011
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 0x2fc1ef0
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 0x10025904
cmp dword [ebx + 0x64], eax
jne 0x10025cce
cmp dword [ebx + 0x80], 0x80
jb 0x10025cb8
mov edx, ebx
call fcn.10025390
cmp dword [ebx + 0x84], 0x10
jb 0x10025cce
push ebx
call fcn.10025290
add esp, 4
mov ecx, dword [ebx]
mov edx, dword [ebx + 8]
push ecx
call edx
add esp, 4
test eax, eax
je 0x10025963
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x18]
cmp dword [ebp + 0xc], 0
je 0x10025afd
add eax, 0x112c
jmp 0x10025914
mov dword [esi], eax
call fcn.10021a20
jmp 0x1002627d
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 0x10026232
call fcn.10021a20
cmp dword [ebp - 8], 1
jne 0x10025d07
mov edx, dword [ebx + 0x44]
jmp 0x100260f1
cmp dword [ebp - 8], 0xffffffff
jne 0x10025e69
mov ecx, dword [ebx + 0x44]
mov edx, dword [ebx + 0x98]
shl ecx, 4
add ecx, eax
movzx eax, word [ebx + ecx*2 + 0x32408]
jmp 0x100257c9
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 0x1002580a
lea ecx, [ebp - 8]
je 0x10025ec8
push ecx
push ebx
call fcn.10024850
add esp, 8
jmp 0x10025ed7
mov edx, dword [ebp - 0xc]
push edx
call fcn.10022eb0
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 0x10025e69
jmp 0x10025d4c
mov dword [ebx + 0x98], eax
call fcn.10021a20
jmp 0x10025f19
mov eax, dword [ebx]
mov ecx, dword [ebx + 0xc]
push eax
push 0x2fc538d
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 0x10025d3a
shl eax, 8
jmp 0x1002590d
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 0x1002621a
mov eax, dword [ebx]
mov ecx, dword [ebx + 8]
push eax
call ecx
add esp, 4
test eax, eax
jne 0x100260c5
push esi
mov edi, ebx
call fcn.10025160
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.10022b50
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 0x100261b5
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 0x1002627d
shl eax, 8
jmp 0x10025cfb
jae 0x1002613e
shl eax, 8
mov dword [esi], eax
call fcn.10021a20
cmp dword [ebp - 8], 4
mov eax, dword [ebx + 0x44]
mov edx, dword [esi]
jae 0x10025789
jl 0x10025814
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 0x10025814
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 0x100261e6
shl eax, 8
mov dword [esi], eax
call fcn.10021a20
mov eax, dword [ebx + 0x44]
mov ecx, dword [eax*4 + 0x301d5f8]
mov edx, dword [ebx]
mov eax, dword [ebx + 0xc]
push edx
mov dword [ebx + 0x44], ecx
call eax
sub eax, dword [ebx + 0x30]
jmp 0x10026203
mov ecx, dword [ebx + 0x60]
movzx eax, byte [eax]
push ecx
mov ecx, esi
call fcn.10022020
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 0x10025963
jmp 0x10025904
mov word [edi], ax
mov eax, dword [esi]
cmp eax, 0x1000000
jae 0x1002624c
shl eax, 8
mov dword [esi], eax
call fcn.10021a20
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.10021f50
add esp, 4
cmp dword [ebp - 8], 3
jne 0x10026277
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 0x1002572b