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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x10c
mov eax, dword [0x101dc354]
xor eax, esp
mov dword [esp + 0x108], eax
mov eax, dword [ebp + 8]
push ebx
xor ebx, ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0xc]
push esi
push edi
mov edi, ecx
mov dword [esp + 0x24], eax
mov ecx, dword [0x101dc9c4]
mov dword [eax], ebx
mov dword [esp + 0x20], ecx
push ecx
mov eax, dword [ecx]
mov dword [esp + 0x14], edx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x20], ebx
mov esi, dword [eax + 4]
mov ecx, esi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x70], ebx
call dword [0x101e07c0]
call esi
lea eax, [esp + 0x18]
push eax
test edi, edi
je 0x101518b9
mov ecx, edi
call fcn.1012a021
mov edi, eax
test edi, edi
jns 0x101518d3
push 0x100205f8
jmp 0x10151d81
mov edx, 0x1002f008
call fcn.1011dc71
mov edi, eax
test edi, edi
jns 0x101518d3
push 0x1003c134
jmp 0x10151d81
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
mov esi, dword [eax]
lea eax, [esp + 0x40]
push eax
push 0x1003c684
push ecx
mov ecx, esi
call dword [0x101e07c0]
call esi
mov edi, eax
test edi, edi
jns 0x10151908
push 0x1003c154
push 1
push edi
push 0x2000000
jmp 0x10151d89
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx]
mov esi, dword [eax + 0xc]
lea eax, [esp + 0x44]
push eax
mov eax, 0x1002f190
push eax
push eax
push ecx
mov ecx, esi
call dword [0x101e07c0]
call esi
mov edi, eax
test edi, edi
jns 0x10151935
push 0x1003c188
jmp 0x101518fb
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx]
mov esi, dword [eax + 0x1c]
lea eax, [esp + 0x34]
push eax
push 0x10063a60
push dword [esp + 0x18]
push ebx
push ecx
mov ecx, esi
call dword [0x101e07c0]
call esi
mov edi, eax
test edi, edi
jns 0x10151982
mov ecx, dword [esp + 0x10]
call fcn.101154bb
push eax
push 0x1006376c
push 1
push edi
push 0x4000000
call fcn.100ab973
add esp, 0x14
jmp 0x10151d91
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx]
mov esi, dword [eax + 0xc]
lea eax, [esp + 0x74]
push eax
push ecx
mov ecx, esi
call dword [0x101e07c0]
call esi
mov edi, eax
test edi, edi
jns 0x101519b2
mov ecx, dword [esp + 0x10]
call fcn.101154bb
push eax
push 0x100637e4
jmp 0x1015196d
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx]
mov esi, dword [eax + 0x48]
lea eax, [esp + 0x68]
push eax
push 1
push dword [esp + 0x7c]
push ebx
push ecx
mov ecx, esi
call dword [0x101e07c0]
call esi
mov edi, eax
test edi, edi
jns 0x101519e9
mov ecx, dword [esp + 0x10]
call fcn.101154bb
push eax
push 0x100637b8
jmp 0x1015196d
cmp dword [esp + 0x68], 0xffffffff
jne 0x10151a0e
mov ecx, dword [esp + 0x10]
mov esi, 0x80070490
mov edi, esi
call fcn.101154bb
push eax
push 0x10063840
push 1
push esi
jmp 0x10151970
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx]
mov esi, dword [eax + 0x2c]
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x6c]
push ebx
push ecx
mov ecx, esi
call dword [0x101e07c0]
call esi
mov edi, eax
test edi, edi
jns 0x10151a46
mov ecx, dword [esp + 0x10]
call fcn.101154bb
push eax
push 0x1006380c
jmp 0x1015196d
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx]
mov esi, dword [eax + 0xc]
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x84]
push eax
push 1
push ecx
mov ecx, esi
call dword [0x101e07c0]
call esi
mov edi, eax
test edi, edi
jne 0x10151d91
cmp dword [esp + 0x6c], ebx
jbe 0x10151d91
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx]
mov esi, dword [eax + 0x10]
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x84]
push ecx
mov ecx, esi
call dword [0x101e07c0]
call esi
mov edi, eax
test edi, edi
js 0x10151d7c
push dword [esp + 0x14]
push dword [esp + 0x3c]
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x10151b02
cmp dword [esp + 0x38], ebx
je 0x10151add
mov ecx, dword [esp + 0x20]
push dword [esp + 0x38]
push ecx
mov eax, dword [ecx]
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [0x101e07c0]
call esi
mov dword [esp + 0x38], ebx
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x10151a46
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x101e07c0]
call esi
mov dword [esp + 0x3c], ebx
jmp 0x10151a46
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x4c], ebx
mov eax, dword [ecx]
mov esi, dword [eax + 0x18]
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x68]
push eax
push dword [esp + 0x8c]
push ecx
mov ecx, esi
call dword [0x101e07c0]
call esi
mov edi, eax
test edi, edi
js 0x10151d57
mov edx, dword [esp + 0x4c]
cmp dword [edx + 0x38], 0xffffffff
je 0x10151d38
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx]
mov esi, dword [eax + 0x44]
lea eax, [esp + 0x3c]
push eax
push dword [edx + 0x38]
push ebx
push ecx
mov ecx, esi
call dword [0x101e07c0]
call esi
mov edi, eax
test edi, edi
js 0x10151d31
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x70], ebx
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx]
mov esi, dword [eax + 0xc]
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x7c]
push eax
push 1
push ecx
mov ecx, esi
call dword [0x101e07c0]
call esi
test eax, eax
jne 0x10151d15
cmp dword [esp + 0x70], ebx
jbe 0x10151d15
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx]
mov esi, dword [eax + 0x18]
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x68]
push eax
push dword [esp + 0x84]
push ecx
mov ecx, esi
call dword [0x101e07c0]
call esi
mov edi, eax
test edi, edi
js 0x10151d00
mov edx, dword [esp + 0x50]
cmp byte [edx + 3], 2
jne 0x10151b7a
cmp byte [edx + 2], 1
jne 0x10151b7a
mov ecx, dword [esp + 0x34]
lea edi, [esp + 0x58]
xor eax, eax
mov dword [esp + 0x54], ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ecx]
mov esi, dword [eax + 0x18]
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x68]
push eax
push dword [edx + 8]
push ecx
mov ecx, esi
call dword [0x101e07c0]
call esi
mov edi, eax
test edi, edi
jns 0x10151c37
mov ecx, dword [esp + 0x10]
call fcn.101154bb
push eax
push dword [esp + 0x18]
push 0x10063914
jmp 0x10151d6a
mov eax, dword [esp + 0x64]
lea edx, [esp + 0x28]
mov dword [esp + 0x28], eax
mov esi, 0x80
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x88]
push ecx
mov dword [esp + 0x64], eax
lea eax, [esp + 0x5c]
push ebx
push eax
mov dword [esp + 0x68], esi
mov dword [esp + 0x64], ebx
call fcn.1016e808
mov edi, eax
test edi, edi
jns 0x10151c97
mov ecx, dword [esp + 0x10]
or edi, 0x10000000
call fcn.101154bb
push eax
push dword [esp + 0x18]
push 0x100639ac
jmp 0x10151d6a
mov eax, dword [esp + 0x58]
cmp eax, esi
jbe 0x10151ca5
mov eax, esi
mov dword [esp + 0x58], eax
and eax, 0xfffffffe
cmp eax, 0x82
jae 0x10151cfb
xor ecx, ecx
mov word [esp + eax + 0x88], cx
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.100a7590
mov edi, eax
test edi, edi
jns 0x10151cec
push 0x1006398c
push 1
push edi
push 0x4000000
call fcn.100ab973
mov ebx, dword [esp + 0x2c]
jmp 0x10151d8e
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov dword [ecx], eax
jmp 0x10151d91
call fcn.100b8d83
mov ecx, dword [esp + 0x10]
call fcn.101154bb
push eax
push dword [esp + 0x18]
push 0x10063950
jmp 0x10151d6a
mov ecx, dword [esp + 0x10]
mov esi, 0x80070490
mov edi, esi
call fcn.101154bb
push eax
push dword [esp + 0x18]
push 0x10063a08
jmp 0x10151d52
push 0x100638c4
jmp 0x10151d81
mov ecx, dword [esp + 0x10]
mov esi, 0x80070490
mov edi, esi
call fcn.101154bb
push eax
push dword [esp + 0x18]
push 0x100638e0
push 1
push esi
jmp 0x10151d6d
mov ecx, dword [esp + 0x10]
call fcn.101154bb
push eax
push dword [esp + 0x18]
push 0x1006386c
push 1
push edi
push 0x4000000
call fcn.100ab973
add esp, 0x18
jmp 0x10151d91
push 0x100638ac
push 1
push edi
push 0x4000000
call fcn.100ab973
add esp, 0x10
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x10151da9
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x101e07c0]
call esi
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x10151dc1
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x101e07c0]
call esi
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x10151dd9
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x101e07c0]
call esi
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x10151df1
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x101e07c0]
call esi
test ebx, ebx
je 0x10151dff
lea eax, [ebx - 4]
push eax
call fcn.100b84f9
pop ecx
cmp dword [esp + 0x38], 0
mov ebx, dword [esp + 0x20]
je 0x10151e1e
mov eax, dword [ebx]
push dword [esp + 0x38]
push ebx
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [0x101e07c0]
call esi
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x10151e36
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x101e07c0]
call esi
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x10151e4e
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x101e07c0]
call esi
mov eax, dword [ebx]
push ebx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x101e07c0]
call esi
mov ecx, dword [esp + 0x114]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100b88c0
mov esp, ebp
pop ebp
ret 8