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

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push 0
push ebx
mov ebx, eax
xor eax, eax
push ebp
push 0x156e29
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebx + 0x48]
xor ecx, ecx
mov edx, 0x200
call fcn.0001487c
cmp byte [ebx + 4], 0
je 0x156bd3
mov byte [ebx + 0x48], 0xeb
mov byte [ebx + 0x49], 0x58
mov byte [ebx + 0x4a], 0x90
mov eax, dword [ebx + 0x450]
call fcn.000186b0
lea edx, [ebx + 0xa2]
mov ecx, dword [ebx + 0x450]
xchg ecx, eax
call fcn.00014480
lea eax, [ebp - 4]
push eax
mov cl, 0x20
mov edx, 8
mov eax, dword [ebx + 8]
call fcn.0013a520
mov edx, dword [ebp - 4]
lea eax, [ebx + 8]
call fcn.00016224
lea eax, [ebx + 8]
call fcn.0001678c
lea edx, [ebx + 0x4b]
mov ecx, 8
call fcn.00014480
lea edx, [ebx + 0x53]
lea eax, [ebx + 0xc]
mov ecx, 2
call fcn.00014480
movzx eax, byte [ebx + 0xe]
mov byte [ebx + 0x55], al
lea edx, [ebx + 0x56]
lea eax, [ebx + 0x10]
mov ecx, 2
call fcn.00014480
movzx eax, byte [ebx + 0x12]
mov byte [ebx + 0x58], al
lea edx, [ebx + 0x59]
lea eax, [ebx + 0x14]
mov ecx, 2
call fcn.00014480
lea edx, [ebx + 0x5b]
lea eax, [ebx + 0x16]
mov ecx, 2
call fcn.00014480
movzx eax, byte [ebx + 0x18]
mov byte [ebx + 0x5d], al
lea edx, [ebx + 0x5e]
lea eax, [ebx + 0x1a]
mov ecx, 2
call fcn.00014480
lea edx, [ebx + 0x60]
lea eax, [ebx + 0x1c]
mov ecx, 2
call fcn.00014480
lea edx, [ebx + 0x62]
lea eax, [ebx + 0x1e]
mov ecx, 2
call fcn.00014480
lea edx, [ebx + 0x64]
lea eax, [ebx + 0x20]
mov ecx, 4
call fcn.00014480
lea edx, [ebx + 0x68]
lea eax, [ebx + 0x24]
mov ecx, 4
call fcn.00014480
lea edx, [ebx + 0x6c]
lea eax, [ebx + 0x28]
mov ecx, 4
call fcn.00014480
lea edx, [ebx + 0x70]
lea eax, [ebx + 0x2c]
mov ecx, 2
call fcn.00014480
lea edx, [ebx + 0x72]
lea eax, [ebx + 0x2e]
mov ecx, 2
call fcn.00014480
lea edx, [ebx + 0x74]
lea eax, [ebx + 0x30]
mov ecx, 4
call fcn.00014480
lea edx, [ebx + 0x78]
lea eax, [ebx + 0x34]
mov ecx, 2
call fcn.00014480
lea edx, [ebx + 0x7a]
lea eax, [ebx + 0x36]
mov ecx, 2
call fcn.00014480
movzx eax, byte [ebx + 0x38]
mov byte [ebx + 0x88], al
mov byte [ebx + 0x89], 0
movzx eax, byte [ebx + 0x39]
mov byte [ebx + 0x8a], al
cmp byte [ebx + 0x3a], 0
je 0x156d8e
call fcn.0001469c
mov eax, pe_nt_image_headers32
call fcn.000146c4
mov byte [ebx + 0x8b], al
mov eax, pe_nt_image_headers32
call fcn.000146c4
mov byte [ebx + 0x8c], al
mov eax, pe_nt_image_headers32
call fcn.000146c4
mov byte [ebx + 0x8d], al
mov eax, pe_nt_image_headers32
call fcn.000146c4
mov byte [ebx + 0x8e], al
lea eax, [ebp - 8]
push eax
mov cl, 0x20
mov edx, 0xb
mov eax, dword [ebx + 0x3c]
call fcn.0013a520
mov edx, dword [ebp - 8]
lea eax, [ebx + 0x3c]
call fcn.00016224
lea eax, [ebx + 0x3c]
call fcn.0001678c
lea edx, [ebx + 0x8f]
mov ecx, 0xb
call fcn.00014480
lea eax, [ebp - 0xc]
push eax
mov cl, 0x20
mov edx, 8
mov eax, dword [ebx + 0x40]
call fcn.0013a520
mov edx, dword [ebp - 0xc]
lea eax, [ebx + 0x40]
call fcn.00016224
lea eax, [ebx + 0x40]
call fcn.0001678c
lea edx, [ebx + 0x9a]
mov ecx, 8
call fcn.00014480
cmp byte [ebx + 0x44], 0
je 0x156e0e
mov byte [ebx + 0x246], 0x55
mov byte [ebx + 0x247], 0xaa
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x156e30
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.000161f4
ret