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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
lea esp, [esp - 4]
lea esp, [esp - 0x40]
pushfd
push edx
bsf edx, edx
push ecx
add ch, 0xdd
push eax
aam 0xa
not cl
not ax
das
aas
test bx, 0x67f8
inc ax
aaa
aam 0xa
push ebx
not bl
shl ax, 6
cwd
inc bx
mov eax, dword [esp]
mov dword [esp + 0x50], eax
pop ecx
aad 0xa
mov eax, dword [esp]
shr cl, 0
mov ecx, dword [esp + 4]
dec edx
mov edx, dword [esp + 8]
sahf
not bh
mov ebx, dword [esp + 0xc]
push ebx
popfd
mov ebx, dword [esp + 0x4c]
lea esp, [esp + 0x50]
mov dword [esp], ebx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 0x3c]
push esi
push edi
push 0x7f
xor edi, edi
lea esi, [ecx + eax + 0x78]
mov dword [ebp - 4], 0xffffffff
call dword [0x3f5d034]
cmp dword [esi + 4], edi
je 0x1002cada
mov edx, dword [ebx]
mov esi, dword [esi]
mov eax, dword [esi + edx + 0x18]
add esi, edx
mov dword [ebp - 0xc], edx
test eax, eax
je 0x1002cada
cmp dword [esi + 0x14], edi
je 0x1002cada
mov ecx, dword [ebp + 0xc]
mov ebx, ecx
shr ebx, 0x10
test ebx, ebx
jne 0x1002c8d2
movzx eax, cx
mov ecx, dword [esi + 0x10]
cmp eax, ecx
jb 0x1002cada
sub eax, ecx
mov dword [ebp - 4], eax
jmp 0x1002ca48
mov edi, dword [esi + 0x20]
mov ebx, dword [esi + 0x24]
add edi, edx
add ebx, edx
mov dword [ebp - 8], 0
test eax, eax
je 0x1002ca48
jmp 0x1002c8f6
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0xc]
mov eax, dword [edi]
add eax, edx
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x1002ca15
jae 0x1002c9ec
pushfd
push eax
aas
push ebx
lea esp, [esp - 4]
pushfd
push eax
inc ax
push ebx
push edx
xadd edx, ebx
push ecx
rol cl, 2
sar dl, 3
daa
sub ebx, eax
lea ebx, [ebx + 0x5b20]
lahf
aas
sahf
sub bx, 0xe535
neg dl
mov ax, dx
xchg ebx, eax
cmc
cdq
das
add ch, bl
sahf
inc ax
lea edx, [eax + eax - 0x427e]
not edx
cbw
lea ecx, [eax + ecx - 0x1272]
dec dx
btc ax, 2
add ch, dl
not ah
das
aam 0xa
aad 0xa
neg ecx
not ecx
mov ecx, dword [esp]
cdq
mov eax, dword [esp + 0xc]
xadd ebx, ebx
mov ebx, dword [esp + 8]
inc edx
mov edx, dword [esp + 0x10]
push edx
popfd
mov edx, dword [esp + 4]
lea esp, [esp + 0x14]
mov dword [esp], edx
bsf dx, bx
clc
push ecx
sub cx, cx
inc bl
shl edx, 2
cbw
ror bh, 4
neg dx
xor edx, edx
mov eax, 0x7dcd
mov ecx, 0xd7fa
div ecx
cdq
lea ecx, [ebx + eax + 0x6d5c]
cmc
bswap eax
bt cx, 3
mov ecx, dword [esp]
clc
add edx, ebx
clc
aas
mov eax, dword [esp + 0xc]
bswap edx
add bx, dx
mov edx, dword [esp + 4]
mov bl, 0xc0
clc
neg bl
neg ebx
mov ebx, dword [esp + 0x10]
push ebx
popfd
mov ebx, dword [esp + 8]
lea esp, [esp + 0x14]
jb 0x1002c9ec
test dl, dl
je 0x1002ca0e
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x1002ca15
add ecx, 2
add eax, 2
test dl, dl
jne 0x1002c8fa
xor eax, eax
jmp 0x1002ca1a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1002ca42
mov eax, dword [ebp - 8]
inc eax
add edi, 4
jmp 0x1002ca2e
add ebx, 2
mov dword [ebp - 8], eax
cmp eax, dword [esi + 0x18]
jb 0x1002c8f0
jmp 0x1002ca48
movzx edx, word [ebx]
mov dword [ebp - 4], edx
mov edi, dword [ebp - 4]
cmp edi, dword [esi + 0x14]
ja 0x1002ca73
push 0
call dword [0x3f5d034]
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [esi + 0x1c]
lea eax, [edx + edi*4]
mov eax, dword [eax + ecx]
pop edi
pop esi
add eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov esi, dword [esp]
pushfd
push eax
aas
push edx
cdq
lahf
das
cbw
test ebx, 0x4997
cdq
push ebx
not ebx
bswap edx
aam 0xa
inc ax
not ebx
daa
bswap edx
push ecx
and ch, 0x92
cwd
sahf
add bx, 0x92
sub al, 0x38
rol dx, 2
mov edx, dword [esp + 8]
push edx
push eax
bts ebx, 3
lahf
mov eax, dword [esp + 0x14]
inc ch
mov ecx, dword [esp + 8]
push ecx
pop ebx
mov ebx, dword [esp + 0xc]
stc
push eax
mov eax, dword [esp + 0x1c]
push eax
popfd
pop eax
lea esp, [esp + 0x1c]
lea esp, [esp + 4]
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret