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

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
test edi, edi
je 0x10027b01
test esi, esi
je 0x10027b01
cmp dword [esi + 0x70], 0
jl 0x10027b01
mov ecx, dword [edi + 0x260]
test ecx, ecx
je 0x10027b01
cmp dword [edi + 0x734], 0
lea ebx, [edi + 0x734]
je 0x10027b01
mov eax, dword [esi + 0x28]
inc eax
mov dword [edi], eax
lea eax, [esi + 0x75]
push 0x14a
push eax
push ecx
call fcn.10095740
mov eax, dword [edi + 0x260]
add esp, 0xc
mov byte [eax + 0x149], 0
mov ecx, dword [edi + 0x260]
lea eax, [ecx + 1]
mov dword [ebp - 4], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10027310
sub ecx, dword [ebp - 4]
lea eax, [ecx + 1]
mov dword [edi + 0x268], eax
mov eax, dword [esi + 0x3f0]
mov dword [ebp - 8], eax
test eax, eax
je 0x100273a8
lea ecx, [edi + 0x260]
call fcn.100218f0
mov eax, dword [edi + 0x94]
lea ecx, [edi + 0x260]
mov dword [ebp - 4], eax
test ecx, ecx
je 0x1002737f
push 0x4d0
lea eax, [edi + 0x264]
push 0
push eax
call fcn.1007d2d0
lea ecx, [edi + 0x260]
add esp, 0xc
lea eax, [ecx + 0xc]
mov dword [ecx + 4], 0
mov dword [ecx], eax
mov eax, dword [ebp - 4]
mov dword [ecx + 0x4d0], eax
mov edx, ecx
mov ecx, dword [ebp - 8]
call fcn.100203b0
cmp eax, 1
je 0x1002739b
lea ecx, [edi + 0x260]
call fcn.100218f0
jmp 0x100273a2
or byte [edi + 0xf3], 1
mov dword [edi + 0x5d8], edi
push 0x14a
lea eax, [esi + 0x1bf]
push eax
push dword [ebx]
call fcn.10095740
mov eax, dword [ebx]
add esp, 0xc
mov byte [eax + 0x149], 0
mov ecx, dword [ebx]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100273d0
sub ecx, edx
lea eax, [ecx + 1]
mov dword [ebx + 8], eax
mov eax, dword [esi + 0x3f4]
mov dword [ebp - 4], eax
test eax, eax
je 0x10027447
mov ecx, ebx
call fcn.100218f0
mov eax, dword [edi + 0x94]
mov dword [ebp - 8], eax
test ebx, ebx
je 0x1002742b
push 0x4d0
lea eax, [edi + 0x738]
push 0
push eax
call fcn.1007d2d0
lea eax, [ebx + 0xc]
mov dword [ebx + 4], 0
mov dword [ebx], eax
add esp, 0xc
mov eax, dword [ebp - 8]
mov dword [ebx + 0x4d0], eax
mov ecx, dword [ebp - 4]
mov edx, ebx
call fcn.100203b0
cmp eax, 1
je 0x10027441
mov ecx, ebx
call fcn.100218f0
mov dword [edi + 0xaac], edi
movups xmm0, xmmword [esi + 0x320]
movups xmmword [edi + 0xf4], xmm0
movups xmm0, xmmword [esi + 0x330]
movups xmmword [edi + 0x104], xmm0
mov eax, dword [esi + 0x340]
mov dword [edi + 4], eax
mov ecx, dword [esi + 0x6c]
test ecx, ecx
je 0x1002749b
mov eax, dword [esi + 0x70]
cmp eax, 0x14a
jge 0x1002749b
push eax
push ecx
lea eax, [edi + 0x114]
push eax
call fcn.1007e990
mov eax, dword [esi + 0x70]
add esp, 0xc
mov byte [eax + edi + 0x114], 0
jmp 0x100274a2
mov byte [edi + 0x114], 0
cmp dword [esi + 0x3d4], 0
jle 0x100274e2
mov edx, dword [esi + 0x3d0]
mov al, byte [edx + 1]
movzx ecx, al
cmp al, 0x20
jb 0x100274c0
mov ecx, 0x20
movzx eax, byte [edx]
mov dword [edi + 0x40], eax
mov dword [edi + 0x3c], ecx
mov eax, dword [esi + 0x3d0]
push ecx
add eax, 2
push eax
lea eax, [edi + 0x1c]
push eax
call fcn.1007e990
add esp, 0xc
jmp 0x100274e9
mov dword [edi + 0x3c], 0
cmp dword [esi + 0x3dc], 0
jle 0x10027529
mov edx, dword [esi + 0x3d8]
mov al, byte [edx + 1]
movzx ecx, al
cmp al, 0x20
jb 0x10027507
mov ecx, 0x20
movzx eax, byte [edx]
mov dword [edi + 0x68], eax
mov dword [edi + 0x64], ecx
mov eax, dword [esi + 0x3d8]
push ecx
add eax, 2
push eax
lea eax, [edi + 0x44]
push eax
call fcn.1007e990
add esp, 0xc
jmp 0x10027530
mov dword [edi + 0x64], 0
cmp dword [esi], 0
je 0x1002757c
mov eax, dword [esi + 4]
test eax, eax
je 0x1002757c
mov ecx, dword [0x100df564]
push eax
test ecx, ecx
je 0x1002754b
call ecx
jmp 0x10027550
call fcn.10080ffe
mov ecx, eax
add esp, 4
mov dword [edi + 0x7c], ecx
test ecx, ecx
je 0x100275a1
mov eax, dword [esi + 0x1c]
mov dword [edi + 0x84], eax
mov eax, dword [esi + 4]
mov dword [edi + 0x80], eax
push dword [esi + 4]
push dword [esi]
push ecx
call fcn.1007e990
add esp, 0xc
xor ebx, ebx
cmp dword [esi + 0x68], 0
je 0x100275d7
mov eax, dword [esi + 0x14]
test eax, eax
je 0x100275d7
cmp eax, 0x200
ja 0x100275d7
mov ecx, dword [0x100df564]
push eax
test ecx, ecx
je 0x100275a8
call ecx
jmp 0x100275ad
mov ebx, 0xffffff83
jmp 0x1002757e
call fcn.10080ffe
add esp, 4
mov dword [edi + 0x6c], eax
test eax, eax
jne 0x100275bc
lea ebx, [eax - 0x7d]
jmp 0x100275d7
push dword [esi + 0x14]
push dword [esi + 0x68]
push eax
call fcn.1007e990
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [edi + 0x70], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 0x74], eax
cmp dword [esi + 0x310], 0
je 0x10027627
mov edx, dword [esi + 0x318]
test edx, edx
je 0x10027627
push dword [edi + 0x94]
lea ecx, [edi + 0x90]
push 0
call fcn.10053490
add esp, 8
test eax, eax
jne 0x10027622
push dword [esi + 0x318]
mov eax, dword [edi + 0x90]
push dword [esi + 0x310]
push dword [eax]
call fcn.1007e990
add esp, 0xc
jmp 0x10027627
mov ebx, 0xffffff83
mov eax, dword [esi + 0x2c]
lea ecx, [edi + 0x78]
mov dword [ecx], eax
mov edx, dword [esi + 0x30]
and byte [esi + 0x440], 0xbf
push ecx
push 1
call fcn.100271b0
add esp, 8
test eax, eax
jne 0x10027af5
mov edx, dword [esi + 0x34]
push ecx
push 4
lea ecx, [edi + 0x78]
call fcn.100271b0
add esp, 8
test eax, eax
jne 0x10027af5
mov eax, dword [edi + 0x78]
mov dword [edi + 0x88], eax
movzx eax, byte [esi + 0x440]
shr al, 4
xor al, byte [edi + 0x99]
and al, 1
xor byte [edi + 0x99], al
movzx eax, byte [esi + 0x3a0]
mov dword [edi + 0xc4], eax
mov ax, word [esi + 0x3a4]
mov word [edi + 0xc8], ax
mov cl, byte [esi + 0x441]
shr cl, 1
xor cl, byte [edi + 0xf1]
and cl, 1
xor cl, byte [edi + 0xf1]
mov byte [edi + 0xf1], cl
movzx eax, byte [esi + 0x442]
shr al, 1
xor al, cl
and al, 2
xor al, cl
mov byte [edi + 0xf1], al
cmp dword [esi + 0x358], 0
je 0x1002772f
mov eax, dword [esi + 0x35c]
test eax, eax
jle 0x1002772f
mov ecx, dword [0x100df564]
push eax
test ecx, ecx
je 0x100276f5
call ecx
jmp 0x100276fa
call fcn.10080ffe
add esp, 4
mov dword [edi + 0xb0], eax
test eax, eax
je 0x1002772a
push dword [esi + 0x35c]
push dword [esi + 0x358]
push eax
call fcn.1007e990
mov eax, dword [esi + 0x35c]
add esp, 0xc
mov dword [edi + 0xcc], eax
jmp 0x1002772f
mov ebx, 0xffffff83
cmp dword [esi + 0x360], 0
je 0x1002778b
mov eax, dword [esi + 0x364]
test eax, eax
jle 0x1002778b
mov ecx, dword [0x100df564]
push eax
test ecx, ecx
je 0x10027751
call ecx
jmp 0x10027756
call fcn.10080ffe
add esp, 4
mov dword [edi + 0xb4], eax
test eax, eax
je 0x10027786
push dword [esi + 0x364]
push dword [esi + 0x360]
push eax
call fcn.1007e990
mov eax, dword [esi + 0x364]
add esp, 0xc
mov dword [edi + 0xd0], eax
jmp 0x1002778b
mov ebx, 0xffffff83
mov cl, byte [edi + 0xf1]
xor cl, byte [esi + 0x441]
and cl, 4
xor cl, byte [edi + 0xf1]
mov byte [edi + 0xf1], cl
mov al, byte [esi + 0x442]
xor al, cl
and al, 8
xor al, cl
mov byte [edi + 0xf1], al
cmp dword [esi + 0x350], 0
je 0x10027814
mov eax, dword [esi + 0x354]
test eax, eax
jle 0x10027814
mov ecx, dword [0x100df564]
push eax
test ecx, ecx
je 0x100277da
call ecx
jmp 0x100277df
call fcn.10080ffe
add esp, 4
mov dword [edi + 0xb8], eax
test eax, eax
je 0x1002780f
push dword [esi + 0x354]
push dword [esi + 0x350]
push eax
call fcn.1007e990
mov eax, dword [esi + 0x354]
add esp, 0xc
mov dword [edi + 0xd4], eax
jmp 0x10027814
mov ebx, 0xffffff83
movzx eax, byte [esi + 0x441]
shr al, 2
xor al, byte [edi + 0xf2]
and al, 2
xor byte [edi + 0xf2], al
mov al, byte [edi + 0xf2]
mov cl, byte [esi + 0x442]
shr cl, 2
xor cl, al
and cl, 4
xor cl, al
mov byte [edi + 0xf2], cl
mov al, byte [esi + 0x440]
shr al, 2
xor al, cl
and al, 8
xor al, cl
mov byte [edi + 0xf2], al
mov cl, byte [esi + 0x441]
shr cl, 3
xor cl, al
and cl, 0x10
xor cl, al
mov byte [edi + 0xf2], cl
mov dl, byte [esi + 0x442]
shr dl, 1
xor dl, cl
and dl, 0x20
xor dl, cl
mov byte [edi + 0xf2], dl
mov al, byte [esi + 0x440]
shl al, 4
xor al, dl
and al, 0x40
xor al, dl
mov byte [edi + 0xf2], al
mov cl, byte [esi + 0x442]
xor cl, al
and cl, 0x7f
xor cl, byte [esi + 0x442]
mov byte [edi + 0xf2], cl
mov dl, cl
cmp dword [esi + 0x3bc], 0
je 0x1002797b
cmp dword [esi + 0x3c0], 0
je 0x1002797b
mov eax, dword [esi + 0x3b4]
test eax, eax
je 0x10027974
cmp dword [esi + 0x3bc], eax
jbe 0x10027974
mov edx, dword [esi + 0x3b8]
add eax, edx
cmp dword [esi + 0x3bc], eax
jae 0x10027974
mov eax, dword [0x100df564]
push edx
test eax, eax
je 0x10027908
call eax
jmp 0x1002790d
call fcn.10080ffe
add esp, 4
mov dword [edi + 0xa4], eax
test eax, eax
je 0x10027967
push dword [esi + 0x3b8]
push dword [esi + 0x3b4]
push eax
call fcn.1007e990
mov eax, dword [esi + 0x3b8]
add esp, 0xc
mov dl, byte [edi + 0xf2]
mov dword [edi + 0xdc], eax
mov eax, dword [esi + 0x3bc]
sub eax, dword [esi + 0x3b4]
add eax, dword [edi + 0xa4]
mov dword [edi + 0xa0], eax
mov eax, dword [esi + 0x3c0]
mov dword [edi + 0xd8], eax
jmp 0x1002797b
mov dl, byte [edi + 0xf2]
mov ebx, 0xffffff83
jmp 0x1002797b
mov ebx, 0xffffff83
mov dl, cl
mov cl, byte [esi + 0x440]
movzx eax, byte [esi + 0x440]
shl cl, 6
xor cl, byte [edi + 0xf1]
shl al, 6
and cl, 0x7f
xor cl, al
mov byte [edi + 0xf1], cl
movzx eax, byte [esi + 0x443]
shr al, 1
xor al, dl
and al, 1
xor al, dl
mov byte [edi + 0xf2], al
cmp dword [esi + 0x3c4], 0
je 0x10027a10
mov eax, dword [esi + 0x3c8]
test eax, eax
je 0x10027a10
mov ecx, dword [0x100df564]
push eax
test ecx, ecx
je 0x100279d6
call ecx
jmp 0x100279db
call fcn.10080ffe
add esp, 4
mov dword [edi + 0xa8], eax
test eax, eax
je 0x10027a0b
push dword [esi + 0x3c8]
push dword [esi + 0x3c4]
push eax
call fcn.1007e990
mov eax, dword [esi + 0x3c8]
add esp, 0xc
mov dword [edi + 0xe0], eax
jmp 0x10027a10
mov ebx, 0xffffff83
mov cl, byte [esi + 0x440]
shr cl, 3
xor cl, byte [edi + 0xf1]
and cl, 0x10
xor cl, byte [edi + 0xf1]
mov byte [edi + 0xf1], cl
mov al, byte [esi + 0x443]
shl al, 3
xor al, cl
and al, 0x20
xor al, cl
mov byte [edi + 0xf1], al
cmp dword [esi + 0x3a8], 0
je 0x10027ad4
mov eax, dword [esi + 0x3ac]
test eax, eax
je 0x10027ad4
mov ecx, dword [0x100df564]
push eax
test ecx, ecx
je 0x10027a69
call ecx
jmp 0x10027a6e
call fcn.10080ffe
add esp, 4
mov dword [edi + 0xac], eax
test eax, eax
je 0x10027acf
push dword [esi + 0x3ac]
push dword [esi + 0x3a8]
push eax
call fcn.1007e990
movzx eax, byte [esi + 0x3a6]
add esp, 0xc
mov byte [edi + 0xe4], al
mov eax, dword [esi + 0x3ac]
mov dword [edi + 0xe8], eax
movzx eax, byte [esi + 0x443]
shl al, 3
xor al, byte [edi + 0xf1]
and al, 0x40
xor byte [edi + 0xf1], al
mov eax, dword [esi + 0x3b0]
mov dword [edi + 0xec], eax
jmp 0x10027ad4
mov ebx, 0xffffff83
mov cl, byte [esi + 0x3f8]
mov eax, ebx
mov byte [edi + 0xf0], cl
mov ecx, dword [esi + 0x3cc]
mov dword [edi + 0x8c], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffff83
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffff53
pop ebx
mov esp, ebp
pop ebp
ret