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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xa4
mov eax, dword [0x10285008]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
xor edx, edx
push ebx
mov ebx, dword [ebp + 0x18]
push esi
mov dword [ebp - 0x98], eax
mov eax, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 0x1c]
mov dword [ebp - 0x94], ecx
mov ecx, dword [ebx + 0xa14]
mov dword [ebp - 0xa0], eax
and ecx, 4
mov esi, dword [edi]
mov eax, edx
or eax, ecx
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x90], esi
je 0x1015d670
mov dl, 1
mov ecx, dword [ebp - 0x94]
lea eax, [ebp - 0x9c]
push eax
push dword [ebx + 0xa1c]
push dword [ebx + 0xa18]
mov ecx, dword [ecx + 8]
push edx
push dword [ebp + 0x14]
push dword [ebp + 0x10]
mov ecx, dword [ecx + 0x50c]
push dword [ebp - 0xa0]
push dword [ebp - 0x98]
call fcn.1016ba74
test al, al
je 0x1015da91
test byte [ebp - 0x9c], 2
jne 0x1015da91
mov ecx, 0x10001
mov eax, esi
and eax, ecx
push 0x23
pop edx
cmp eax, ecx
jne 0x1015d730
mov eax, dword [ebx + 0x8d8]
mov dword [edi + 0xb4], eax
mov dword [edi + 0xbc], 0x1b
mov eax, dword [ebx + 0xa18]
mov dword [edi + 0xb8], eax
mov dword [edi + 0xc8], edx
mov eax, dword [ebx + 0x8d0]
mov dword [edi + 0xc4], eax
xor eax, eax
mov edx, dword [ebx + 0xa30]
mov dword [edi + 0xc0], edx
mov ecx, dword [ebx + 0xa14]
and ecx, 0x100
or eax, ecx
push 0x23
je 0x1015d72f
or edx, 0x100
mov dword [edi + 0xc0], edx
pop edx
mov ecx, 0x10002
mov eax, esi
and eax, ecx
cmp eax, ecx
jne 0x1015d785
mov eax, dword [ebx + 0x8e8]
mov dword [edi + 0x9c], eax
mov eax, dword [ebx + 0x8e0]
mov dword [edi + 0xa0], eax
mov eax, dword [ebx + 0x8c8]
mov dword [edi + 0xa4], eax
mov eax, dword [ebx + 0x8c0]
mov dword [edi + 0xa8], eax
mov eax, dword [ebx + 0x8b8]
mov dword [edi + 0xac], eax
mov eax, dword [ebx + 0x8b0]
mov dword [edi + 0xb0], eax
mov ecx, 0x10004
mov eax, esi
and eax, ecx
cmp eax, ecx
jne 0x1015d7bf
and dword [edi + 0x8c], 0
mov dword [edi + 0x94], edx
mov dword [edi + 0x98], edx
mov dword [edi + 0xc8], edx
mov dword [edi + 0x90], 0x3b
mov dword [edi + 0xbc], 0x1b
mov ecx, 0x10020
mov eax, esi
and eax, ecx
cmp eax, ecx
jne 0x1015d8cb
mov ax, word [ebx + 0xa28]
mov word [edi + 0xcc], ax
mov ax, word [ebx + 0xa50]
mov word [edi + 0xce], ax
mov ecx, dword [ebx + 0xa50]
mov eax, dword [ebx + 0xa54]
shrd ecx, eax, 0x10
mov word [edi + 0xd0], cx
mov cl, 0x20
shr eax, 0x10
mov ax, word [ebx + 0xa5e]
mov word [edi + 0xd2], ax
mov eax, dword [ebx + 0xa58]
mov dword [edi + 0xd4], eax
mov eax, dword [ebx + 0xa58]
mov edx, dword [ebx + 0xa5c]
call fcn.1026abd0
mov dword [edi + 0xd8], eax
mov cl, 0x20
mov eax, dword [ebx + 0xa60]
mov dword [edi + 0xdc], eax
mov eax, dword [ebx + 0xa60]
mov edx, dword [ebx + 0xa64]
call fcn.1026abd0
mov dword [edi + 0xe0], eax
mov cl, 0x20
mov eax, dword [ebx + 0xa28]
mov edx, dword [ebx + 0xa2c]
call fcn.1026abd0
and eax, 0xffff
lea esi, [edi + 0xec]
push ecx
lea ecx, [ebx + 0xf0]
mov dword [edi + 0xe4], eax
mov edx, esi
call fcn.1015e043
push dword [ebx + 0xa54]
mov ecx, esi
push dword [ebx + 0xa50]
call fcn.1015dfd0
push 0x10
lea ecx, [ebx + 0x170]
lea edx, [edi + 0x16c]
pop esi
mov eax, dword [ecx]
lea ecx, [ecx + 0x10]
mov dword [edx], eax
lea edx, [edx + 8]
mov eax, dword [ecx - 0xc]
mov dword [edx - 4], eax
dec esi
jne 0x1015d8b2
mov esi, dword [ebp - 0x90]
mov ecx, 0x10008
mov eax, esi
and eax, ecx
cmp eax, ecx
jne 0x1015d99c
movzx eax, word [ebx + 0xa28]
mov dword [edi + 0x1c], eax
movzx eax, word [ebx + 0xa50]
mov dword [edi + 0x20], eax
mov ecx, dword [ebx + 0xa50]
mov eax, dword [ebx + 0xa54]
shrd ecx, eax, 0x10
and ecx, 0xffff
shr eax, 0x10
mov dword [edi + 0x24], ecx
mov cl, 0x20
mov eax, dword [ebx + 0xa58]
mov dword [edi + 0x28], eax
mov eax, dword [ebx + 0xa58]
mov edx, dword [ebx + 0xa5c]
call fcn.1026abd0
mov dword [edi + 0x2c], eax
mov cl, 0x20
mov eax, dword [ebx + 0xa60]
mov dword [edi + 0x30], eax
mov eax, dword [ebx + 0xa60]
mov edx, dword [ebx + 0xa64]
call fcn.1026abd0
push ecx
lea ecx, [ebx + 0xf0]
mov dword [edi + 0x34], eax
lea edx, [ebp - 0x88]
call fcn.1015e043
push dword [ebx + 0xa54]
lea ecx, [ebp - 0x88]
push dword [ebx + 0xa50]
call fcn.1015dfd0
push 8
lea ecx, [ebp - 0x88]
lea edx, [edi + 0x38]
pop eax
mov esi, ecx
mov edi, edx
add ecx, 0x10
add edx, 0xa
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
dec eax
jne 0x1015d97f
mov edi, dword [ebp - 0x8c]
mov esi, dword [ebp - 0x90]
mov eax, 0x10010
and esi, eax
cmp esi, eax
jne 0x1015daf5
mov eax, dword [ebx + 0x50]
mov cl, 0x20
mov edx, dword [ebx + 0x54]
call fcn.1026abd0
and eax, 0xff
lea esi, [edi + 0x18]
shr eax, 4
mov edx, esi
or eax, 0xffff0ff0
mov dword [edi + 0x14], eax
lea eax, [edi + 4]
push eax
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0x5c]
push dword [ebx + 0x58]
push dword [ebx + 0x54]
push dword [ebx + 0x50]
push ecx
push ecx
xor ecx, ecx
call fcn.1015e1a5
lea eax, [edi + 8]
mov edx, esi
push eax
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x6c]
push dword [ebx + 0x68]
push dword [ebx + 0x64]
push dword [ebx + 0x60]
push ecx
push ecx
xor ecx, ecx
inc ecx
call fcn.1015e1a5
lea eax, [edi + 0xc]
mov edx, esi
push eax
push dword [ebx + 0x3c]
push dword [ebx + 0x38]
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push dword [ebx + 0x7c]
push dword [ebx + 0x78]
push dword [ebx + 0x74]
push dword [ebx + 0x70]
push ecx
push ecx
push 2
pop ecx
call fcn.1015e1a5
lea eax, [edi + 0x10]
mov edx, esi
push eax
push dword [ebx + 0x4c]
push dword [ebx + 0x48]
push dword [ebx + 0x44]
push dword [ebx + 0x40]
push dword [ebx + 0x8c]
push dword [ebx + 0x88]
push dword [ebx + 0x84]
push dword [ebx + 0x80]
push ecx
push ecx
push 3
pop ecx
call fcn.1015e1a5
mov eax, dword [ebx + 0xa14]
mov edx, pe_nt_image_headers32
and eax, edx
xor ecx, ecx
or ecx, eax
je 0x1015daf5
or dword [edi + 0xc0], edx
jmp 0x1015daf5
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push ecx
mov ecx, eax
call fcn.100d7b00
mov ecx, dword [0x102b9e70]
mov esi, eax
mov dword [ebp - 0x8c], ecx
test ecx, ecx
je 0x1015dad6
test esi, esi
je 0x1015dad6
mov eax, ebx
cdq
push edx
push eax
mov eax, edi
cdq
push edx
push eax
mov eax, esi
cdq
push edx
push eax
push 0
push 1
call dword [0x102dc578]
call dword [ebp - 0x8c]
jmp 0x1015dae5
push 0x100a47b8
call fcn.100d3aab
pop ecx
test esi, esi
je 0x1015daf5
mov eax, dword [esi]
push esi
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x102dc578]
call esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10236010
mov esp, ebp
pop ebp
ret 0x18