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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xbc
mov dword [esp + 0x44], eax
mov edi, dword [esp + 0xd0]
mov eax, dword [eax]
mov ebx, dword [esp + 0xd4]
mov dword [esp + 0x34], edx
mov dword [esp + 0x70], ecx
mov word [esp + 0x6c], di
mov eax, dword [eax]
test bx, bx
je 0x10e284c
test byte [eax + 0x50], 0x40
jne 0x10e2bab
mov eax, dword [esp + 0x34]
mov esi, dword [eax]
cmp si, 0x3f
ja 0x10e2bab
mov ecx, esi
movzx eax, si
xor edx, edx
mov dword [esp + 0x14], eax
xor eax, eax
test cl, 0x20
sete al
setne dl
shl eax, cl
shl edx, cl
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [esp + 0x58], eax
mov ecx, edx
mov edx, eax
xor eax, eax
test edi, 0x803
setne al
mov dword [esp + 0x5c], ecx
add ax, 0x182
mov word [esp + 0x60], ax
mov eax, edx
or eax, ecx
je 0x10e319d
movzx eax, bx
mov dword [esp + 8], 0
xor ecx, ecx
mov dword [esp + 0x64], eax
add eax, 1
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], 0
add eax, 0x1f0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x74], eax
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], edi
jmp 0x10e293e
mov eax, dword [esp + 8]
mov edi, dword [esp + 0x58]
add ecx, 1
mov edx, dword [esp + 0xc]
mov ebp, dword [esp + 0x5c]
cmp eax, edi
mov eax, edx
sbb eax, ebp
jae 0x10e3311
cmp dword [esp + 0x68], ecx
je 0x10e3330
mov edi, dword [esp + 0x30]
mov ebp, dword [edi + 0xc]
mov edi, dword [edi + 8]
or dword [esp + 0x4c], ebp
or dword [esp + 0x48], edi
cmp dword [esp + 0x64], ecx
jle 0x10e315a
mov eax, dword [esp + 0x70]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x30], eax
test word [esp + 0x6c], 0x800
jne 0x10e2903
mov eax, dword [esp + 0x30]
mov edx, dword [eax + 0x2c]
test dh, 4
jne 0x10e3175
movzx eax, word [esp + 0x6c]
and ax, 0x80
mov word [esp + 0x50], ax
je 0x10e2989
mov eax, dword [esp + 0x30]
xor ebx, ebx
mov word [eax + 0x1e], bx
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x14]
movzx eax, byte [eax + 0x10]
lea eax, [eax + eax*8]
shl eax, 3
add eax, dword [edi + 4]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x24], eax
test ebp, ebp
je 0x10e2cb8
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], ecx
xor esi, esi
lea ebx, [eax + 8]
mov dword [esp + 0x18], ebx
mov ebp, ebx
lea esi, [esi]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov ecx, esi
shrd eax, edx, cl
shr edx, cl
test cl, 0x20
cmovne eax, edx
xor edx, edx
and eax, 1
or eax, edx
jne 0x10e2a20
mov ebx, dword [ebp]
test ebx, ebx
jne 0x10e29fa
jmp 0x10e2a20
mov eax, dword [ebx + 0x14]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x10e2a20
mov eax, dword [ebx + 4]
test eax, 0x82000
je 0x10e2bc0
test eax, 0x80000
jne 0x10e29f0
cmp byte [ebx], 0x71
jne 0x10e2bc0
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x10e29fa
nop
add esi, 1
add ebp, 0x14
cmp dword [esp + 0x14], esi
jne 0x10e29c8
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov edx, dword [eax + 0x2c]
test dh, 0x10
je 0x10e2cc1
mov edi, dword [esp + 0x30]
mov ebp, dword [edi + 0xc]
mov edi, dword [edi + 8]
or dword [esp + 0x7c], ebp
or dword [esp + 0x78], edi
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov edi, ebx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x10], edi
mov ebp, dword [esp + 0x14]
xor ebx, ebx
not eax
not edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
jmp 0x10e2aa9
mov eax, dword [esp + 0x74]
mov edx, esi
call fcn.010afdf0
mov ecx, eax
or ecx, edx
je 0x10e2c68
and eax, dword [esp + 0x18]
and edx, dword [esp + 0x1c]
or eax, edx
je 0x10e2ad1
add ebx, 1
add dword [esp + 0x10], 0x14
cmp ebp, ebx
je 0x10e2af8
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov ecx, ebx
shrd eax, edx, cl
shr edx, cl
test bl, 0x20
cmovne eax, edx
xor edx, edx
and eax, 1
or eax, edx
jne 0x10e2a9d
mov eax, dword [esp + 0x10]
mov esi, dword [eax]
test esi, esi
jne 0x10e2a7c
xor eax, eax
xor edx, edx
test bl, 0x20
mov ecx, ebx
sete al
setne dl
add ebx, 1
add dword [esp + 0x10], 0x14
shl eax, cl
shl edx, cl
or dword [esp + 8], eax
or dword [esp + 0xc], edx
cmp ebp, ebx
jne 0x10e2aa9
mov ecx, dword [esp + 0x20]
jmp 0x10e2903
movzx edi, byte [esp + 0x2f]
mov ecx, dword [esp + 0x54]
mov ebx, edi
or byte [esp + 0x52], bl
cmp byte [esp + 0x52], 0
jne 0x10e2f09
mov eax, dword [esp + 8]
mov edi, dword [esp + 0x58]
mov ebp, dword [esp + 0x5c]
mov edx, dword [esp + 0xc]
xor eax, edi
mov esi, dword [esp + 0x88]
xor edx, ebp
or eax, edx
je 0x10e319d
mov ecx, dword [esp + 0x14]
sub ecx, 1
test ecx, ecx
jle 0x10e2bab
cmp ecx, 0x3f
jg 0x10e32d0
xor eax, eax
xor edx, edx
test cl, 0x20
mov esi, dword [esp + 8]
sete al
setne dl
mov edi, dword [esp + 0xc]
shl eax, cl
shl edx, cl
not esi
add eax, 0xffffffff
not edi
adc edx, 0xffffffff
jmp 0x10e2b9a
mov edi, ecx
mov eax, dword [esp + 8]
mov edx, dword [esp + 0xc]
shr edi, 5
and edi, 1
not eax
not edx
mov esi, edi
shl edi, cl
xor esi, 1
shl esi, cl
add esi, 0xffffffff
adc edi, 0xffffffff
and eax, esi
and edx, edi
or eax, edx
je 0x10e32d0
sub ecx, 1
jne 0x10e2b77
xor eax, eax
add esp, 0xbc
pop ebx
pop esi
pop edi
pop ebp
ret
movzx eax, byte [ebx]
add eax, 0x59
test al, 0xfd
jne 0x10e2a20
mov eax, dword [esp + 0x24]
cmp dword [ebx + 0x1c], eax
jne 0x10e2a20
mov eax, dword [esp + 0x44]
movsx ecx, word [ebx + 0x20]
push 0
lea edi, [eax + 0x50]
movzx eax, word [esp + 0x64]
push eax
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
not eax
not edx
push edx
push eax
mov edx, dword [esp + 0x34]
mov eax, edi
call fcn.010e1850
add esp, 0x10
mov edi, eax
test eax, eax
je 0x10e2a20
movzx eax, word [eax + 0xc]
cmp ax, 1
je 0x10e3296
test al, 0x82
je 0x10e2c31
cmp word [ebx + 0x20], 0
jns 0x10e3204
mov ecx, esi
xor eax, eax
xor edx, edx
test cl, 0x20
sete al
setne dl
add esi, 1
add ebp, 0x14
shl eax, cl
shl edx, cl
or dword [esp + 8], eax
or dword [esp + 0xc], edx
cmp dword [esp + 0x14], esi
jne 0x10e29c8
jmp 0x10e2a2c
mov edi, 1
mov edx, esi
lea eax, [esp + 0x94]
mov dword [esp + 0x94], 0
mov word [esp + 0xa8], di
mov dword [esp + 0x98], 0x10cbe80
mov dword [esp + 0x9c], 0x10994e0
call fcn.010b3350
cmp word [esp + 0xa8], 0
je 0x10e2a9d
jmp 0x10e2ad1
test dh, 0x10
jne 0x10e32fa
test dh, 1
jne 0x10e31de
mov eax, dword [esp + 0x30]
mov edi, dword [eax + 0x20]
mov dword [esp + 0x28], edi
test edi, edi
je 0x10e2bab
test byte [edi + 0x38], 4
jne 0x10e2bab
movzx ebx, byte [edi + 0x36]
movzx esi, word [edi + 0x32]
movzx eax, word [edi + 0x34]
mov byte [esp + 0x52], bl
test bl, bl
je 0x10e327b
shr edx, 0xf
xor edx, 1
mov ebx, edx
and ebx, 1
mov byte [esp + 0x52], bl
test ax, ax
je 0x10e2b10
mov edi, 1
xor ebp, ebp
xor edx, edx
mov dword [esp + 0x40], eax
shld ebp, edi, cl
shl edi, cl
test cl, 0x20
movzx eax, word [esp + 0x6c]
cmovne ebp, edi
cmovne edi, edx
mov byte [esp + 0x6f], 0
and ax, 0xc0
mov byte [esp + 0x53], 0
mov dword [esp + 0x80], edi
xor edi, edi
mov word [esp + 0x2c], ax
mov eax, edi
mov edi, dword [esp + 0x30]
mov dword [esp + 0x84], ebp
xor ebp, ebp
mov byte [esp + 0x2f], al
mov word [esp + 0x62], si
mov dword [esp + 0x54], ecx
jmp 0x10e2db7
movzx edx, word [edi + 0x32]
cmp edx, ebp
jg 0x10e2dbf
mov ecx, dword [edi + 0x38]
mov ebx, dword [ecx + ebp*4]
movzx edx, word [ebx + 0xc]
test word [esp + 0x60], dx
je 0x10e30d9
movzx esi, byte [esp + 0x52]
xor eax, eax
test dx, 0x180
cmovne esi, eax
mov eax, esi
mov byte [esp + 0x52], al
add ebp, 1
cmp dword [esp + 0x40], ebp
je 0x10e2b01
movzx eax, word [edi + 0x18]
cmp eax, ebp
jg 0x10e2d78
mov edx, dword [esp + 0x14]
test edx, edx
setg byte [esp + 0x10]
mov esi, dword [esp + 0x28]
test esi, esi
je 0x10e3123
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 4]
mov dword [esp + 0x18], 0xffffffff
movzx ecx, byte [ecx + ebp]
movzx edx, word [edx + ebp*2]
and ecx, 1
mov byte [esp + 0x6e], cl
mov ecx, dword [esi + 0xc]
cmp dx, word [ecx + 0x20]
je 0x10e2e30
movsx esi, dx
cmp byte [esp + 0x52], 0
mov dword [esp + 0x18], esi
je 0x10e2e30
test esi, esi
js 0x10e31cf
cmp eax, ebp
jg 0x10e2e30
mov eax, esi
shl eax, 4
add eax, dword [ecx + 4]
test byte [eax + 4], 0xf
setne byte [esp + 0x52]
lea esi, cs:[esi]
nop
movzx eax, byte [esp + 0x10]
test al, al
je 0x10e313d
mov esi, dword [esp + 0x34]
mov dword [esp + 0x3c], edi
xor ebx, ebx
mov dword [esp + 0x20], ebp
mov ebp, eax
add esi, 8
mov dword [esp + 0x10], esi
lea esi, [esi]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov ecx, ebx
shrd eax, edx, cl
shr edx, cl
test bl, 0x20
cmovne eax, edx
xor edx, edx
and eax, 1
or eax, edx
jne 0x10e2ec0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov eax, ecx
test ecx, ecx
jne 0x10e2e92
jmp 0x10e2ec0
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 8]
test eax, eax
je 0x10e2ec0
mov edx, dword [eax + 4]
test edx, 0x82000
je 0x10e2f38
and edx, 0x80000
jne 0x10e2e88
cmp byte [eax], 0x71
jne 0x10e2f38
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x10e2e92
lea esi, [esi]
mov edi, ebp
add dword [esp + 0x10], 0x14
add ebx, 1
cmp dword [esp + 0x14], ebx
jle 0x10e2ed6
mov eax, edi
test al, al
jne 0x10e2e58
mov eax, dword [esp + 0x3c]
movzx edi, byte [esp + 0x2f]
movzx esi, word [esp + 0x62]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x54]
test ebp, ebp
je 0x10e2eff
movzx eax, si
cmp eax, ebp
jle 0x10e2b0a
mov eax, edi
test al, al
je 0x10e2b1b
mov edi, dword [esp + 0x30]
mov ebp, dword [edi + 0xc]
mov edi, dword [edi + 8]
or dword [esp + 0x7c], ebp
or dword [esp + 0x78], edi
cmp dword [esp + 0x14], 0
je 0x10e2903
mov eax, dword [esp + 0x34]
lea ebx, [eax + 8]
jmp 0x10e2a56
cmp word [esp + 0x2c], 0
setne dl
cmp dword [esp + 0x18], 0xffffffff
mov edi, edx
jl 0x10e30a0
movzx esi, byte [eax]
lea edx, [esi + 0x59]
and edx, 0xfd
jne 0x10e2ec2
mov esi, dword [esp + 0x24]
cmp dword [eax + 0x1c], esi
jne 0x10e2ec2
movsx eax, word [eax + 0x20]
mov esi, dword [esp + 0x18]
cmp eax, esi
jne 0x10e2ec2
cmp dword [esp + 0x18], 0xffffffff
je 0x10e31f7
mov eax, dword [esp + 0x44]
mov edx, ecx
mov esi, dword [eax]
mov eax, esi
call fcn.010d2a80
test eax, eax
je 0x10e3150
mov esi, dword [esp + 0x28]
mov dword [esp + 0x38], ebx
mov edx, dword [esi + 0x20]
mov esi, dword [esp + 0x20]
mov ecx, dword [edx + esi*4]
mov edx, dword [eax]
jmp 0x10e2fd1
movzx ebx, byte [esi + 0x143e140]
cmp byte [eax + 0x143e140], bl
jne 0x10e30d0
add edx, 1
add ecx, 1
movzx eax, byte [edx]
movzx esi, byte [ecx]
cmp eax, esi
jne 0x10e2fb8
test eax, eax
jne 0x10e2fcb
mov edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x20]
cmp word [esp + 0x50], 0
je 0x10e2ffa
lea eax, [ebp + 1]
mov word [edi + 0x1e], ax
mov ecx, dword [esp + 0x34]
lea eax, [ebx + ebx*4]
movzx esi, byte [ecx + eax*4 + 0x10]
test byte [esp + 0x6c], 0x40
jne 0x10e304d
mov edx, esi
movzx ecx, byte [esp + 0x6e]
and edx, 1
cmp byte [esp + 0x53], 0
jne 0x10e31b0
mov eax, ecx
mov byte [esp + 0x53], 1
xor eax, edx
mov byte [esp + 0x6f], al
cmp cl, dl
je 0x10e304d
mov ecx, dword [esp + 0xdc]
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
or dword [ecx], eax
or dword [ecx + 4], edx
and esi, 2
je 0x10e3065
movzx eax, word [edi + 0x18]
cmp eax, ebp
jne 0x10e313d
or dword [edi + 0x2c], 0x80000
movzx esi, byte [esp + 0x2f]
cmp dword [esp + 0x18], 0xffffffff
mov eax, 1
mov ecx, ebx
cmove esi, eax
xor edx, edx
mov eax, esi
mov byte [esp + 0x2f], al
xor eax, eax
test bl, 0x20
sete al
setne dl
shl edx, cl
shl eax, cl
or dword [esp + 0xc], edx
or dword [esp + 8], eax
jmp 0x10e2daa
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
lea edx, [esi + esi*4]
mov esi, dword [esp + 0x28]
shl edx, 2
add edx, dword [esi + 0x28]
mov edx, dword [edx + 8]
call fcn.010e1160
test eax, eax
jne 0x10e2ec2
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
jmp 0x10e2f88
mov ebx, dword [esp + 0x38]
jmp 0x10e2ec2
mov esi, dword [esp + 0x14]
test esi, esi
setg byte [esp + 0x10]
and edx, 1
je 0x10e2dca
lea edx, [ebp + 1]
mov esi, dword [ebx]
cmp eax, edx
jg 0x10e310b
jmp 0x10e2dca
add edx, 1
cmp eax, edx
je 0x10e2dca
mov ebx, dword [ecx + edx*4]
cmp dword [ebx], esi
jne 0x10e3100
mov esi, dword [esp + 0x28]
mov byte [esp + 0x10], 0
test esi, esi
jne 0x10e2dd6
movzx eax, byte [esp + 0x10]
mov dword [esp + 0x18], 0xffffffff
mov byte [esp + 0x6e], 0
test al, al
jne 0x10e2e3d
movzx edi, byte [esp + 0x2f]
movzx esi, word [esp + 0x62]
mov ecx, dword [esp + 0x54]
jmp 0x10e2ef0
mov eax, dword [esi]
mov eax, dword [eax + 8]
jmp 0x10e2f9f
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
mov edx, dword [eax + 0x2c]
test dh, 4
je 0x10e296f
cmp byte [eax + 0x20], 0
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x8c]
je 0x10e3330
and di, 0x280
cmp di, 0x80
je 0x10e3330
add esp, 0xbc
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
xor cl, byte [esp + 0x6f]
cmp cl, dl
je 0x10e304d
movzx edi, byte [esp + 0x2f]
movzx esi, word [esp + 0x62]
mov ecx, dword [esp + 0x54]
jmp 0x10e2ef0
cmp dword [esp + 0x18], 0xfffffffe
setne byte [esp + 0x52]
jmp 0x10e2e30
mov dword [esp + 0x28], 0
mov eax, 1
xor esi, esi
mov byte [esp + 0x52], 1
jmp 0x10e2d17
mov edi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x20]
jmp 0x10e2feb
mov eax, dword [esp + 0x44]
mov edx, dword [ebp]
mov ebx, dword [eax]
mov eax, ebx
call fcn.010d2a80
mov dword [esp + 0x20], eax
test eax, eax
je 0x10e32dd
mov ecx, dword [edi]
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0xc]
test byte [ecx + 5], 4
jne 0x10e3289
mov ecx, eax
mov eax, ebx
call fcn.010d2c60
test eax, eax
je 0x10e2a20
mov edi, dword [eax]
mov eax, dword [esp + 0x20]
mov ebx, dword [eax]
xor eax, eax
jmp 0x10e3266
movzx ecx, byte [ecx + 0x143e140]
cmp byte [edx + 0x143e140], cl
jne 0x10e2a20
add eax, 1
movzx edx, byte [ebx + eax]
movzx ecx, byte [edi + eax]
cmp edx, ecx
jne 0x10e3250
test edx, edx
jne 0x10e3263
jmp 0x10e2c31
test ax, ax
jne 0x10e2d17
jmp 0x10e2b1b
mov ecx, edx
mov edx, eax
mov eax, ebx
call fcn.010d2c60
jmp 0x10e3237
mov eax, dword [esp + 0x30]
movzx edx, word [eax + 0x30]
test edx, edx
je 0x10e2a20
mov ecx, dword [eax + 0x38]
xor eax, eax
jmp 0x10e32b8
add eax, 1
cmp edx, eax
je 0x10e2a20
cmp dword [ecx + eax*4], edi
jne 0x10e32ad
cmp edx, eax
jg 0x10e2c31
jmp 0x10e2a20
add esp, 0xbc
mov eax, ecx
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebx]
mov ecx, dword [edi]
mov eax, dword [eax + 8]
mov edx, dword [ecx + 0xc]
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 0x10]
test byte [ecx + 5], 4
je 0x10e322e
jmp 0x10e3289
mov edi, dword [esp + 0x30]
mov ebp, dword [edi + 0xc]
mov edi, dword [edi + 8]
or dword [esp + 0x7c], ebp
or dword [esp + 0x78], edi
jmp 0x10e2903
mov esi, dword [esp + 0x88]
mov eax, dword [esp + 0x5c]
cmp dword [esp + 0xc], eax
jne 0x10e3330
mov eax, dword [esp + 0x58]
cmp dword [esp + 8], eax
je 0x10e319d
mov eax, 0xffffffff
jmp 0x10e2bad