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

Disassembly:
push 0xffffffffffffffff
push 0x1015da09
mov eax, dword fs:[0]
push eax
sub esp, 0x50
mov eax, dword [0x101af0fc]
xor eax, esp
mov dword [esp + 0x4c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101af0fc]
xor eax, esp
push eax
lea eax, [esp + 0x64]
mov dword fs:[0], eax
mov ebx, dword [esp + 0x74]
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x8c]
lea ecx, [esp + 0x48]
xor ebp, ebp
mov dword [esp + 0x30], ebp
mov edx, ecx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x6c], 1
mov ecx, dword [esp + 0x58]
mov byte [ecx], 0
mov dword [esp + 0x6c], 2
mov ah, ah
push eax
pop eax
mov dword [esp + 0x38], ebp
test dl, dl
test ebx, ebx
cmp dword [esi + 0x32b8], ebp
jne 0x100459f9
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x100459f5
push 0xffffffffffffff9c
push esi
call fcn.10062c00
add esp, 8
mov ebx, ebx
lea edx, [esp + 0x48]
push edx
mov ecx, ebx
call fcn.1000cef0
jmp 0x10045dbb
mov eax, dword [esp + 0x3c]
cmp dword [esi + 0x32b8], 0
je 0x10045a0d
or eax, 0x80000000
mov dword [esp + 0x3c], eax
mov edi, edi
test esi, esi
test edi, edi
jne 0x10045b1e
mov bh, bh
mov ecx, dword [esp + 0x80]
or ecx, dword [esp + 0x84]
jne 0x10045a40
push 0xffffffffffffff9b
push esi
call fcn.10062c00
add esp, 8
xchg ebx, eax
xchg ebx, eax
lea edx, [esp + 0x48]
push edx
jmp 0x10045db4
push eax
call fcn.10047400
add esp, 4
mov edi, eax
test eax, 0x6ed8
push 0
push 0
push edi
push 0
push 0x400
call fcn.100648d0
add esp, 0x14
mov dword [esp + 0x40], eax
mov eax, eax
test eax, eax
jne 0x10045a83
push 0xffffffffffffff9b
push esi
call fcn.10062c00
add esp, 8
test eax, 0x6179
jmp 0x10045daf
push edx
pop edx
nop
push edi
call fcn.10068fc0
add esp, 4
mov byte [esp + 0x34], al
mov bh, bh
mov ecx, dword [esp + 0x34]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x94]
lea edx, [esp + 0x38]
push edx
mov edx, dword [esp + 0x94]
lea eax, [esp + 0x34]
push eax
mov eax, dword [esp + 0x58]
push ecx
push edx
push eax
call fcn.10047a00
movzx ecx, al
add esp, 0x24
mov dword [esp + 0x34], ecx
mov bl, bl
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcessId]
cmp edi, eax
je 0x10045af2
mov edx, dword [esp + 0x40]
push edx
call fcn.100486c0
add esp, 4
mov dh, dh
cmp dword [esp + 0x34], 0
jne 0x10045b0b
push 0xffffffffffffff9b
push esi
call fcn.10062c00
add esp, 8
mov ecx, ecx
jmp 0x10045daf
mov edi, dword [esp + 0x28]
sub edi, dword [esp + 0x80]
add edi, dword [esp + 0x20]
mov eax, eax
test edi, edi
jg 0x10045b37
push 0xffffffffffffff9b
push esi
call fcn.10062c00
add esp, 8
push ecx
pop ecx
lea ecx, [esp + 0x48]
push ecx
jmp 0x10045db4
mov eax, dword [esp + 0x88]
test eax, eax
je 0x10045bfe
cmp eax, 2
je 0x10045bfe
cmp eax, 1
jne 0x10045c87
lea eax, [edi + 0xa]
push eax
mov dword [esp + 0x18], eax
call fcn.1010136f
add esp, 4
mov ebp, eax
test bh, bh
mov edx, dword [esp + 0x14]
push edx
call fcn.1010136f
add esp, 4
mov dword [esp + 0x38], eax
mov ebp, ebp
test ebp, ebp
je 0x10045bd9
test eax, eax
je 0x10045bca
mov word [eax], 0
mov dl, dl
mov byte [ebp], 0
test cl, cl
mov ecx, dword [esp + 0x80]
push eax
mov eax, dword [esp + 0x88]
push eax
push ecx
push esi
mov esi, dword [esp + 0x4c]
call fcn.10042040
add esp, 0x10
test bl, bl
mov eax, dword [esp + 0x38]
mov byte [edi + eax], 0
test dh, dh
mov byte [edi + eax + 1], 0
mov edx, edx
jmp 0x10045c62
push ebp
call fcn.10101432
add esp, 4
mov ah, ah
mov eax, dword [esp + 0x38]
test eax, eax
je 0x10045be7
push eax
call fcn.10101432
add esp, 4
nop
push 0xffffffffffffff9b
push esi
call fcn.10062c00
add esp, 8
test bl, bl
lea edx, [esp + 0x48]
push edx
jmp 0x10045db4
lea eax, [edi + 0xa]
push eax
mov dword [esp + 0x18], eax
call fcn.1010136f
add esp, 4
mov ebp, eax
push ebx
pop ebx
test ebp, ebp
jne 0x10045c28
push 0xffffffffffffff9b
push esi
call fcn.10062c00
add esp, 8
mov dl, dl
jmp 0x10045daf
mov byte [ebp], 0
test cl, cl
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
push ebp
push ecx
push edx
push esi
mov esi, dword [esp + 0x4c]
call fcn.10042040
add esp, 0x10
test edx, edx
mov byte [edi + ebp], 0
mov ch, ch
cmp dword [esp + 0x88], 1
jne 0x10045c80
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
push 0
push 0
push ecx
push ebp
push 0xffffffffffffffff
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.DLL_WideCharToMultiByte]
test ch, ch
jmp 0x10045d7e
mov eax, dword [esp + 0x88]
cmp eax, 2
jne 0x10045d7e
push 0
push 0
push 0xffffffffffffffff
push ebp
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.DLL_MultiByteToWideChar]
mov edi, eax
push edx
pop edx
xor ecx, ecx
lea esi, [edi + edi]
mov eax, esi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.100f356b
add esp, 4
mov esi, eax
mov bl, bl
test esi, esi
jne 0x10045cdd
push ebp
call fcn.10101432
add esp, 4
nop
jmp 0x10045daf
lea eax, [edi + edi]
push eax
push 0
push esi
call fcn.10102a00
add esp, 0xc
mov dl, dl
push edi
push esi
push 0xffffffffffffffff
push ebp
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.DLL_MultiByteToWideChar]
mov edi, edi
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push esi
push 0
push 0
call dword [sym.imp.KERNEL32.DLL_WideCharToMultiByte]
mov dword [esp + 0x34], eax
test cl, cl
push eax
call fcn.1010136f
add esp, 4
mov edi, eax
test esi, esi
test edi, edi
jne 0x10045d4b
push esi
call fcn.100f3570
add esp, 4
test edx, edx
push ebp
call fcn.10101432
add esp, 4
test ch, ch
lea ecx, [esp + 0x48]
push ecx
jmp 0x10045db4
mov edx, dword [esp + 0x34]
push 0
push 0
push edx
push edi
push 0xffffffffffffffff
push esi
push 0
push 0
call dword [sym.imp.KERNEL32.DLL_WideCharToMultiByte]
test eax, eax
push esi
call fcn.100f3570
add esp, 4
test ecx, ecx
push ebp
call fcn.10101432
add esp, 4
xchg ebx, eax
xchg ebx, eax
mov ebp, edi
test bl, bl
push ebp
lea ecx, [esp + 0x4c]
call fcn.10011380
test dl, dl
test ebp, ebp
je 0x10045d9c
push ebp
call fcn.10101432
add esp, 4
test eax, 0x6ca6
mov eax, dword [esp + 0x38]
test eax, eax
je 0x10045daf
push eax
call fcn.10101432
add esp, 4
mov ecx, ecx
lea eax, [esp + 0x48]
push eax
mov ecx, ebx
call fcn.1000cef0
mov dword [esp + 0x30], 1
mov byte [esp + 0x6c], 0
lea ecx, [esp + 0x48]
call fcn.10006e20
mov eax, ebx
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x4c]
xor ecx, esp
call fcn.1010190d
add esp, 0x5c
ret