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

Disassembly:
sub esp, 0x78
mov eax, dword [0x101ed004]
xor eax, esp
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x80]
push ebx
push ebp
mov ebx, ecx
mov dword [esp + 0x20], eax
push esi
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
cmp dword [ebx + 0x88], 0
push edi
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x14], 0
je 0x10027c81
cmp dword [edi + 0x120], 0
je 0x10027c2e
mov ecx, dword [edi + 0x124]
test ecx, ecx
js 0x10027bef
mov eax, dword [ebx + 0x3e4]
cmp ecx, dword [eax + 0x20]
jge 0x10027bef
mov eax, dword [eax + 0x18]
mov edx, dword [eax + ecx*4]
jmp 0x10027bf1
xor edx, edx
mov eax, dword [edx + 0x38]
test eax, eax
je 0x10027c81
mov ecx, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [edi + 0x31], 0x85855
mov dword [edi + 0x35], eax
mov dword [edi + 0x39], ecx
mov eax, dword [edx + 0x38]
movzx esi, word [eax + 0x1c]
movzx edx, word [eax + 0x18]
mov ecx, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [edi + 0x25], eax
mov dword [edi + 0x29], ecx
mov word [edi + 0x2d], dx
mov word [edi + 0x2f], si
jmp 0x10027c7a
mov eax, dword [edi]
test eax, eax
je 0x10027c81
cmp word [eax], 0
je 0x10027c81
lea ecx, [esp + 0x48]
push ecx
push eax
call fcn.1014d350
add esp, 8
cmp eax, 0xffffffff
je 0x10027c81
movsx esi, word [esp + 0x52]
movsx edx, word [esp + 0x54]
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x70]
mov dword [edi + 0x31], 0x85855
mov dword [edi + 0x35], ecx
mov dword [edi + 0x39], eax
mov dword [edi + 0x25], ecx
mov dword [edi + 0x29], eax
mov word [edi + 0x2d], si
mov word [edi + 0x2f], dx
mov dword [edi + 0x21], 0xc5855
cmp dword [edi + 0x64], 0
je 0x10027d46
mov eax, dword [edi]
xorps xmm0, xmm0
mov dword [edi + 0x48], 0
mov dword [edi + 0x4c], 0
mov dword [edi + 0x50], 0
mov dword [edi + 0x54], 0
movlpd qword [esp + 0x30], xmm0
mov dword [edi + 0x114], 0
test eax, eax
je 0x10027d0e
lea ecx, [esp + 0x48]
push ecx
push 0
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesExW]
test eax, eax
je 0x10027d0e
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov dword [edi + 0xe8], eax
mov eax, dword [esp + 0x54]
mov dword [edi + 0xec], ecx
mov ecx, dword [esp + 0x58]
mov dword [edi + 0xf0], eax
mov eax, dword [esp + 0x5c]
mov dword [edi + 0xf4], ecx
mov ecx, dword [esp + 0x60]
mov dword [edi + 0xf8], eax
mov dword [edi + 0xfc], ecx
mov esi, dword [esp + 0x34]
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x10], esi
mov eax, dword [ebx + 0x488]
mov ecx, dword [ebx + 0x48c]
mov dword [edi + 0xa8], eax
mov dword [edi + 0xac], ecx
cmp dword [ebx + 0x414], 0
jne 0x10027e7e
xor ecx, ecx
jmp 0x10027e97
cmp byte [esp + 0x94], 0
je 0x10027db1
mov eax, dword [edi + 0x74]
cdq
mov ebp, eax
mov esi, edx
lea eax, [esp + 0x48]
mov dword [esp + 0x10], esi
push eax
push 0
push dword [edi]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesExW]
test eax, eax
je 0x10027e1e
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov dword [edi + 0xe8], eax
mov eax, dword [esp + 0x54]
mov dword [edi + 0xec], ecx
mov ecx, dword [esp + 0x58]
mov dword [edi + 0xf0], eax
mov eax, dword [esp + 0x5c]
mov dword [edi + 0xf4], ecx
mov ecx, dword [esp + 0x60]
mov dword [edi + 0xf8], eax
mov dword [edi + 0xfc], ecx
jmp 0x10027e1e
lea eax, [esp + 0x14]
mov ecx, ebx
push eax
push edi
call fcn.1000c4c0
test eax, eax
jne 0x10027dcd
or ebp, 0xffffffff
or esi, ebp
mov dword [esp + 0x10], esi
jmp 0x10027e02
mov eax, dword [ebx + 0x154]
test eax, eax
je 0x10027de3
mov esi, dword [eax + 0x1c]
mov ebp, dword [eax + 0x18]
mov dword [esp + 0x10], esi
jmp 0x10027dfc
mov eax, dword [ebx + 0x100]
lea ecx, [ebx + 0x100]
mov eax, dword [eax + 0x28]
call eax
mov ebp, eax
mov dword [esp + 0x10], edx
mov esi, edx
mov dword [edi + 0x48], ebp
mov dword [edi + 0x4c], esi
lea eax, [edi + 0xf8]
mov ecx, ebx
push eax
lea eax, [edi + 0xf0]
push eax
lea eax, [edi + 0xe8]
push eax
call fcn.1000c560
test esi, esi
jg 0x10027d1a
jl 0x10027e30
test ebp, ebp
jae 0x10027d1a
mov edx, dword [esp + 0x14]
lea ecx, [ebx + 8]
mov eax, dword [edi + 4]
push 1
push eax
test edx, edx
je 0x10027e44
push edx
jmp 0x10027e49
push 0xa0000001
call fcn.1000baa0
mov ecx, dword [edi + 0x4c]
mov eax, dword [edi + 0x48]
test ecx, ecx
jl 0x10027e67
jg 0x10027e5e
test eax, eax
je 0x10027e67
push ecx
push eax
mov ecx, ebx
call fcn.1000c690
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.10142783
add esp, 0x78
ret 0xc
mov edx, dword [ebx + 0x420]
mov eax, dword [ebx + 0x418]
or eax, dword [ebx + 0x41c]
lea ecx, [edx - 1]
jne 0x10027e97
mov ecx, edx
mov dword [edi + 0xb8], ecx
mov ecx, dword [ebx + 0x3f4]
test ecx, ecx
je 0x10027ec7
mov eax, dword [ecx]
mov eax, dword [eax + 0x48]
call eax
mov dword [edi + 0xc0], eax
mov dword [edi + 0xc4], edx
test edx, edx
jg 0x10027ee7
jl 0x10027edb
cmp eax, 0xffffffff
jae 0x10027ee7
jmp 0x10027edb
mov dword [edi + 0xc0], 0
mov dword [edi + 0xc4], 0
cmp dword [edi + 0xb8], 0xffff
jl 0x10027ef1
mov dword [edi + 0x118], 1
mov edx, dword [edi + 0x120]
test edx, edx
jne 0x10027f4d
mov eax, ebp
or eax, esi
jne 0x10027f09
mov dword [edi + 0x114], eax
jmp 0x10027f65
mov eax, dword [edi + 0x114]
cmp eax, 8
jne 0x10027f29
mov ecx, ebp
mov eax, esi
add ecx, 0xffffffff
adc eax, 0xffffffff
test eax, eax
ja 0x10027f4d
jb 0x10027f43
cmp ecx, 4
jmp 0x10027f41
cmp eax, 0xe
jne 0x10027f4d
mov ecx, ebp
mov eax, esi
add ecx, 0xffffffff
adc eax, 0xffffffff
test eax, eax
ja 0x10027f4d
jb 0x10027f43
cmp ecx, 0x1e
ja 0x10027f4d
mov dword [edi + 0x114], 0
test esi, esi
jl 0x10027f65
jg 0x10027f5b
cmp ebp, 0x80000000
jb 0x10027f65
mov dword [edi + 0x118], 1
cmp dword [edi + 4], 0
mov ecx, dword [sym.imp.KERNEL32.dll_lstrlenW]
mov eax, dword [ebx + 0x74]
mov dword [esp + 0x18], ecx
mov ecx, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], ecx
je 0x1002817d
test edx, edx
je 0x10027f9c
cmp dword [edi + 8], 0
je 0x10027f9c
test eax, eax
je 0x1002817d
mov eax, dword [edi + 8]
test eax, eax
je 0x10027fb3
push eax
call fcn.10146720
add esp, 4
mov dword [edi + 8], 0
cmp dword [esp + 0x2c], 0
je 0x1002801e
mov eax, dword [edi + 4]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x1002800d
push eax
call dword [esp + 0x1c]
lea eax, [eax*4 + 1]
push eax
push 1
mov dword [esp + 0x34], eax
call fcn.1014bd06
mov esi, eax
add esp, 8
test esi, esi
je 0x1002800d
push 0
push 0
push dword [esp + 0x34]
push esi
push 0xffffffffffffffff
push dword [esp + 0x30]
push 0
push 0xfde9
call dword [esp + 0x34]
test eax, eax
jne 0x1002800f
push esi
call fcn.10146720
add esp, 4
xor esi, esi
mov dword [edi + 8], esi
mov dword [edi + 0xc], 1
jmp 0x10028179
mov ecx, dword [edi + 4]
lea eax, [esp + 0x2c]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x34]
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x2c], 0
test ecx, ecx
je 0x1002809f
cmp eax, 0xfde9
je 0x1002804e
cmp eax, 0xfde8
jne 0x10028056
mov dword [esp + 0x1c], 0
push ecx
call dword [esp + 0x1c]
lea eax, [eax*4 + 1]
push eax
push 1
mov dword [esp + 0x2c], eax
call fcn.1014bd06
mov esi, eax
add esp, 8
test esi, esi
je 0x1002809f
push dword [esp + 0x1c]
push 0
push dword [esp + 0x2c]
push esi
push 0xffffffffffffffff
push dword [esp + 0x34]
push 0
push dword [esp + 0x4c]
call dword [esp + 0x34]
test eax, eax
jne 0x100280a1
push esi
call fcn.10146720
add esp, 4
xor esi, esi
mov dword [edi + 8], esi
mov dword [edi + 0xc], 0
cmp dword [ebx + 0x80], 0
je 0x10028179
test esi, esi
je 0x100280d0
cmp dword [esp + 0x2c], 0
je 0x10028179
push esi
call fcn.10146720
add esp, 4
mov eax, dword [edi + 4]
mov dword [esp + 0x20], eax
test eax, eax
je 0x10028123
push eax
call dword [esp + 0x1c]
lea eax, [eax*4 + 1]
push eax
push 1
mov dword [esp + 0x38], eax
call fcn.1014bd06
mov esi, eax
add esp, 8
test esi, esi
je 0x10028123
push 0
push 0
push dword [esp + 0x38]
push esi
push 0xffffffffffffffff
push dword [esp + 0x34]
push 0
push 0xfde9
call dword [esp + 0x34]
test eax, eax
jne 0x10028163
push esi
call fcn.10146720
add esp, 4
mov dword [edi + 8], 0
mov dword [edi + 0xc], 1
mov eax, dword [ebx + 0xc8]
push 4
push 1
mov dword [edi + 0x110], eax
call fcn.1014bd06
add esp, 8
mov dword [edi + 8], eax
test eax, eax
je 0x10028179
mov byte [eax + 2], 0x3f
mov eax, dword [edi + 8]
mov byte [eax + 1], 0x3f
mov eax, dword [edi + 8]
mov byte [eax], 0x3f
jmp 0x10028179
mov dword [edi + 8], esi
mov dword [edi + 0xc], 1
mov eax, dword [ebx + 0xc8]
mov dword [edi + 0x110], eax
mov esi, dword [esp + 0x10]
cmp dword [edi + 8], 0
jne 0x100281ac
push 0
push dword [edi + 4]
lea ecx, [ebx + 8]
push 0xa0000047
call fcn.1000baa0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.10142783
add esp, 0x78
ret 0xc
mov ax, word [edi + 0x114]
mov word [edi + 0xd0], ax
mov eax, dword [edi + 0x100]
test eax, eax
jne 0x100281cf
lea ecx, [edi + 0xf8]
call fcn.10001d30
mov dword [edi + 0xd2], eax
mov ecx, ebx
push edi
lea eax, [edi + 0xce]
push eax
call fcn.1006a5b0
mov eax, dword [edi + 8]
mov ecx, eax
mov dword [esp + 0x2c], eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100281f0
xor eax, eax
sub ecx, edx
cmp word [edi + 0xd0], 0
mov word [edi + 0xe4], ax
mov eax, dword [edi + 0x118]
mov word [edi + 0xe2], cx
jne 0x10028244
test eax, eax
je 0x10028234
mov dword [edi + 0xda], 0xffffffff
or ebp, 0xffffffff
mov dword [esp + 0x34], 0
jmp 0x1002823e
mov dword [edi + 0xda], ebp
mov dword [esp + 0x34], esi
mov dword [edi + 0xde], ebp
test eax, eax
je 0x1002825b
mov eax, 0x14
mov word [edi + 0xe4], ax
mov eax, 0x1f
jmp 0x10028260
mov eax, 0xb
movzx ecx, ax
mov eax, dword [edi + 0x78]
cmp eax, 2
je 0x10028275
cmp eax, 3
je 0x10028275
cmp eax, 4
jne 0x10028288
mov eax, 0x63
mov word [edi + 0xe4], cx
mov word [edi + 0xd0], ax
cmp dword [ebx + 0x84], 0
je 0x1002839b
mov ebp, dword [edi + 4]
test ebp, ebp
je 0x1002839b
cmp dword [esp + 0x2c], 0
je 0x1002839b
movzx eax, word [ebp]
mov ecx, ebp
test ax, ax
je 0x1002839b
mov edx, eax
nop dword [eax]
lea eax, [edx - 0x20]
cmp ax, 0x5e
ja 0x100282dc
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x100282c0
jmp 0x1002839b
mov eax, dword [edi + 0x1d]
test eax, eax
je 0x100282ec
push eax
call fcn.10146720
add esp, 4
push ebp
call dword [esp + 0x1c]
lea eax, [eax*4 + 1]
push eax
push 1
mov dword [esp + 0x38], eax
call fcn.1014bd06
mov esi, eax
add esp, 8
test esi, esi
je 0x10028331
push 0
push 0
push dword [esp + 0x38]
push esi
push 0xffffffffffffffff
push ebp
push 0
push 0xfde9
call dword [esp + 0x34]
test eax, eax
jne 0x10028333
push esi
call fcn.10146720
add esp, 4
xor esi, esi
mov dword [edi + 0x1d], esi
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x10028340
mov edx, dword [esp + 0x2c]
sub esi, ecx
mov eax, 0x7075
mov dword [edi + 0x19], esi
mov ecx, edx
mov word [edi + 0x10], ax
mov byte [edi + 0x14], 1
lea eax, [esi + 5]
mov word [edi + 0x12], ax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10028370
sub ecx, esi
push 0x101f1fd0
push ecx
or ecx, 0xffffffff
call fcn.100d5f20
not eax
mov dword [edi + 0x15], eax
mov ax, word [edi + 0x19]
add ax, 9
add word [edi + 0xe4], ax
cmp dword [edi + 0x68], 0
jne 0x100283b9
cmp dword [ebx + 0x88], 0
je 0x100283b9
cmp word [edi + 0x21], 0
je 0x100283b9
add word [edi + 0xe4], 0x10
mov esi, dword [esp + 0x28]
lea eax, [edi + 0xc8]
push 0x1e
push eax
mov ecx, esi
mov edx, dword [esi]
call dword [edx + 0x14]
movzx eax, word [edi + 0xe2]
mov ecx, esi
mov edx, dword [esi]
push eax
push dword [edi + 8]
call dword [edx + 0x14]
cmp dword [edi + 0x118], 0
mov ebp, 1
je 0x1002843d
mov ecx, dword [ebx + 0x488]
add ecx, dword [esi + 0x18]
mov eax, dword [ebx + 0x48c]
adc eax, dword [esi + 0x1c]
mov dword [edi + 0xb0], ecx
mov ecx, dword [edi + 0x54]
mov dword [edi + 0xb4], eax
mov eax, dword [edi + 0x50]
mov dword [esp + 0x40], ecx
mov ecx, dword [edi + 0x4c]
mov dword [esp + 0x3c], eax
mov eax, dword [edi + 0x48]
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x30]
mov dword [esp + 0x34], eax
mov eax, dword [esi]
push 0x14
push ecx
mov ecx, esi
mov dword [esp + 0x38], 0x100001
call dword [eax + 0x14]
mov eax, dword [edi + 0x78]
cmp eax, 2
je 0x1002844f
cmp eax, 3
je 0x1002844f
cmp eax, 4
jne 0x1002849e
mov ecx, dword [edi + 0x114]
mov dword [esp + 0x30], 0x79901
mov dword [esp + 0x34], 0x45410002
cmp eax, 2
jne 0x10028471
mov byte [esp + 0x38], 1
jmp 0x1002848b
cmp eax, 3
jne 0x1002847d
mov byte [esp + 0x38], 2
jmp 0x1002848b
cmp eax, 4
setne al
dec al
and al, 3
mov byte [esp + 0x38], al
mov eax, dword [esi]
mov word [esp + 0x39], cx
lea ecx, [esp + 0x30]
push 0xb
push ecx
mov ecx, esi
call dword [eax + 0x14]
cmp dword [ebx + 0x84], 0
je 0x100284c7
cmp dword [edi + 0x19], 0
je 0x100284c7
mov edx, dword [esi]
lea eax, [edi + 0x10]
push 9
push eax
mov ecx, esi
call dword [edx + 0x14]
push dword [edi + 0x19]
mov eax, dword [esi]
mov ecx, esi
push dword [edi + 0x1d]
call dword [eax + 0x14]
cmp dword [edi + 0x68], 0
jne 0x100284e9
cmp dword [ebx + 0x88], 0
je 0x100284e9
add edi, 0x21
cmp word [edi], 0
je 0x100284e9
mov edx, dword [esi]
mov ecx, esi
push 0x10
push edi
call dword [edx + 0x14]
mov ecx, dword [esp + 0x84]
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10142783
add esp, 0x78
ret 0xc