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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
mov eax, dword [0x10119540]
xor eax, esp
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0xc]
push ebx
mov dword [esp + 0x30], ecx
mov ecx, 0x100
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x3c], edx
push esi
push edi
cmp eax, ecx
je 0x10028def
cmp eax, 0x200
je 0x10028def
cmp eax, 0x300
je 0x10028dec
cmp eax, 0x3c00
je 0x10028de8
push 0xffffffffffffffe2
pop eax
jmp 0x1002903f
push 6
jmp 0x10028df1
mov dword [ebp + 8], ecx
push 5
xor esi, esi
xor eax, eax
pop edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], eax
jmp 0x1002902a
cmp byte [edx], 0
je 0x10029032
xor ebx, ebx
lea eax, [esp + 0x23]
push eax
lea eax, [esp + 0x50]
push eax
lea edx, [esp + 0x50]
lea ecx, [esp + 0x4c]
call fcn.10029576
cmp ebx, edi
jge 0x10028e3d
mov eax, dword [esp + 0x48]
mov dword [esp + ebx*8 + 0x54], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + ebx*8 + 0x58], eax
inc ebx
cmp byte [esp + 0x23], 0x3a
je 0x10028e12
mov eax, ebx
cmp ebx, edi
jge 0x10028e5d
lea ecx, [esp + 0x58]
and dword [ecx + eax*8], 0
and dword [esp + eax*8 + 0x54], 0
inc eax
cmp eax, edi
jl 0x10028e4f
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x10028e6e
cmp byte [ecx], 0x23
je 0x10029022
or dword [esp + 0x24], 0xffffffff
xor edi, edi
and dword [esp + 0x30], edi
xor edx, edx
and dword [esp + 0x28], edi
xor eax, eax
mov esi, dword [ebp + 8]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x34], eax
cmp esi, 0x3c00
je 0x100290cd
mov edx, dword [esp + 0x58]
sub edx, ecx
cmp byte [ecx], 0x64
jne 0x10028edd
cmp edx, 1
je 0x10028ec0
push 7
pop eax
cmp edx, eax
jb 0x10028edd
cmp dword [ecx + 1], 0x75616665
jne 0x10028edd
cmp word [ecx + 5], 0x746c
jne 0x10028edd
mov eax, 0x200
push 7
mov dword [esp + 0x1c], eax
pop eax
cmp eax, edx
jae 0x10028ed8
add ecx, eax
cmp eax, edx
mov dword [esp + 0x54], ecx
sbb edi, edi
inc edi
jmp 0x10028ee1
mov dword [esp + 0x18], esi
mov edx, dword [esp + edi*8 + 0x60]
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esp + edi*8 + 0x60]
call fcn.10029353
cmp dword [esp + 0x24], 0xffffffff
jne 0x10028f13
lea eax, [edi + 3]
cmp ebx, eax
jle 0x10028f13
mov edx, dword [esp + edi*8 + 0x70]
lea eax, [esp + 0x24]
mov ecx, dword [esp + edi*8 + 0x6c]
push eax
call fcn.10029353
mov eax, dword [esp + edi*8 + 0x58]
mov edx, dword [esp + edi*8 + 0x54]
sub eax, edx
je 0x10029017
movsx ecx, byte [edx]
sub ecx, 0x67
je 0x10029056
sub ecx, 6
je 0x10028f90
dec ecx
sub ecx, 1
je 0x10028f6e
sub ecx, 6
jne 0x10029017
cmp eax, 1
je 0x10028f67
cmp eax, 4
jne 0x10029017
cmp word [edx + 1], 0x6573
jne 0x10029017
cmp byte [edx + 3], 0x72
jne 0x10029017
mov esi, 0x2712
jmp 0x10028fad
cmp eax, 1
je 0x10028f89
cmp eax, 5
jne 0x10029017
cmp dword [edx + 1], 0x72656874
jne 0x10029017
mov esi, 0x2716
jmp 0x10028fad
cmp eax, 1
je 0x10028fa8
cmp eax, 4
jne 0x10029017
cmp word [edx + 1], 0x7361
jne 0x10029017
cmp byte [edx + 3], 0x6b
jne 0x10029017
mov esi, 0x2715
mov eax, esi
sub eax, 0x2712
je 0x1002906e
dec eax
sub eax, 1
je 0x1002906e
sub eax, 1
je 0x10028fce
sub eax, 1
jne 0x10029017
mov ecx, dword [esp + edi*8 + 0x5c]
lea eax, [edi + 2]
cmp ebx, eax
jne 0x10029002
cmp ecx, dword [esp + edi*8 + 0x60]
jae 0x10029002
mov edx, dword [esp + edi*8 + 0x60]
lea eax, [esp + 0x28]
push eax
call fcn.100293ad
test eax, eax
je 0x10028ffe
mov dword [esp + 0x30], 1
jmp 0x1002909f
mov ecx, dword [esp + edi*8 + 0x5c]
lea eax, [edi + 3]
cmp ebx, eax
jne 0x1002909f
cmp ecx, dword [esp + edi*8 + 0x60]
jae 0x1002909f
mov edi, dword [esp + 0x1c]
push 0xffffffffffffffec
pop esi
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x44]
test edx, edx
jne 0x10028e07
mov ecx, dword [esp + 0x38]
mov edx, eax
call fcn.10027398
mov eax, esi
mov ecx, dword [esp + 0x84]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100913c0
mov esp, ebp
pop ebp
ret 8
cmp eax, 1
je 0x10029069
cmp eax, 5
jne 0x10029017
cmp dword [edx + 1], 0x70756f72
jne 0x10029017
mov esi, 0x2714
cmp dword [esp + 0x24], 0xffffffff
jne 0x1002907f
mov eax, dword [esp + edi*8 + 0x5c]
cmp eax, dword [esp + edi*8 + 0x60]
jae 0x100290aa
mov eax, dword [esp + edi*8 + 0x5c]
mov edx, dword [esp + edi*8 + 0x60]
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], edx
cmp esi, 0x2712
jne 0x1002909a
dec esi
jmp 0x100290aa
mov esi, 0x2713
cmp dword [esp + 0x28], 0
jne 0x100292b3
sub edi, dword [esp + 0x30]
lea eax, [esp + 0x28]
push eax
mov ecx, dword [esp + edi*8 + 0x68]
mov edx, dword [esp + edi*8 + 0x6c]
call fcn.100293ad
test eax, eax
jne 0x100292b3
jmp 0x10029017
mov eax, dword [esp + 0x58]
xor esi, esi
sub eax, ecx
sub eax, 4
je 0x1002918e
sub eax, 1
je 0x1002913d
sub eax, 1
je 0x1002910f
sub eax, 3
jne 0x10029017
cmp dword [ecx], 0x72657665
jne 0x10029150
cmp dword [ecx + 4], 0x656e6f79
jne 0x10029150
cmp byte [ecx + 8], 0x40
jne 0x10029150
mov esi, 0x277b
jmp 0x10029150
cmp dword [ecx], 0x656e776f
jne 0x10029126
cmp word [ecx + 4], 0x4072
jne 0x10029126
mov esi, 0x2712
jmp 0x10029160
cmp dword [ecx], 0x756f7267
jne 0x10029150
cmp word [ecx + 4], 0x4070
jne 0x10029150
mov esi, 0x2714
jmp 0x10029150
cmp dword [ecx], 0x756f7267
jne 0x10029150
cmp byte [ecx + 4], 0x70
jne 0x10029150
mov esi, 0x2713
test esi, esi
je 0x10029017
cmp esi, 0x2713
je 0x1002919f
mov edx, dword [esp + 0x60]
lea eax, [esp + 0x78]
mov ecx, dword [esp + 0x5c]
mov edi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x74]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x64]
jmp 0x100291ec
cmp dword [ecx], 0x72657375
jne 0x10029017
mov esi, 0x2711
mov ecx, dword [esp + 0x60]
lea edx, [esp + 0x24]
mov eax, dword [esp + 0x5c]
push edx
mov dword [esp + 0x30], ecx
mov edx, ecx
mov ecx, eax
mov dword [esp + 0x38], eax
call fcn.10029353
mov edx, dword [esp + 0x68]
lea eax, [esp + 0x80]
mov ecx, dword [esp + 0x64]
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x7c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x28]
push eax
call fcn.10029407
test eax, eax
je 0x10029017
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x28]
mov edx, dword [esp + 0x30]
push eax
call fcn.100294ee
test eax, eax
je 0x10029017
sub ebx, edi
xor eax, eax
mov dword [esp + 0x18], eax
cmp ebx, 4
jne 0x10029248
cmp dword [edi], 0x796e6564
mov eax, 0x800
mov ebx, dword [esp + 0x18]
cmove ebx, eax
mov dword [esp + 0x18], ebx
test ebx, ebx
jne 0x1002929d
jmp 0x10029017
cmp ebx, 5
jne 0x10029017
cmp dword [edi], 0x6f6c6c61
jne 0x10029269
cmp byte [edi + 4], 0x77
jne 0x10029269
mov dword [esp + 0x18], 0x400
jmp 0x1002929d
cmp dword [edi], 0x69647561
jne 0x1002927e
cmp byte [edi + 4], 0x74
jne 0x1002927e
mov eax, 0x1000
jmp 0x10029299
cmp dword [edi], 0x72616c61
jne 0x10029017
cmp byte [edi + 4], 0x6d
jne 0x10029017
mov eax, 0x2000
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x24]
mov ecx, dword [esp + 0x40]
push eax
mov edx, dword [edx]
mov ecx, dword [ecx]
call fcn.10029353
mov ebx, dword [esp + 0x18]
mov edx, ebx
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
sub dword [esp + 0x2c], edi
push esi
push dword [esp + 0x2c]
call fcn.100271b2
test eax, eax
je 0x1002932f
push dword [esp + 0x24]
mov ecx, dword [esp + 0x3c]
mov edx, ebx
push esi
push dword [esp + 0x30]
call fcn.10027228
test eax, eax
je 0x10029346
test edi, edi
je 0x10029327
cmp byte [edi], 0
je 0x10029327
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x10029327
push dword [esp + 0x50]
lea ecx, [eax + 0x14]
push edx
mov edx, edi
call fcn.10068d85
test eax, eax
je 0x1002932f
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__errno]
cmp dword [eax], 0xc
je 0x10028de0
push 0xffffffffffffffec
pop esi
mov dword [esp + 0x10], esi
jmp 0x10029333
lea ecx, [eax + 0x14]
call fcn.10068960
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
or eax, ebx
mov dword [esp + 0x14], eax
jmp 0x10029026
push 0xffffffffffffffe7
jmp 0x10028de2