Function at 0x74f740
Capabilities:
Resolve function by parsing pe exports
Terminate process

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 8
mov eax, dword [esp + 0x3c]
or eax, 8
cmp eax, 8
mov eax, 0xffffff9a
jne 0x74fc1d
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x74fc1d
mov ecx, dword [esp + 0x54]
test ecx, ecx
jne 0x74fc1d
cmp dword [ebx + 0x38], 1
jne 0x74f78b
push ebx
call fcn.0074fc30
add esp, 4
test eax, eax
jne 0x74fc1d
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x38]
mov ecx, 0xbaf45c
mov esi, 0
test eax, eax
cmovne ecx, eax
xor ebp, ebp
test edx, edx
mov dword [esp], ecx
je 0x74f7b6
push edx
call fcn.00989030
add esp, 4
mov esi, eax
push dword [esp]
call fcn.00989030
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x24]
test eax, eax
je 0x74f7dd
mov ebp, dword [eax + 0x18]
test ebp, ebp
jne 0x74f7dd
mov ecx, dword [esp + 0x24]
call fcn.0074fc50
mov ebp, eax
mov dword [ebx + 0x100a4], ebp
mov ebp, dword [esp + 0x40]
mov eax, dword [esp + 0x60]
mov dword [esp + 4], esi
mov edx, ebp
mov ecx, eax
or edx, 1
or ecx, 2
cmp edx, 9
cmovne ecx, eax
cmp ebp, 2
mov dword [ebx + 0x98], ecx
jne 0x74f81d
mov esi, dword [esp + 0x34]
mov ebp, dword [esp + 0x3c]
mov eax, dword [esp + 0x44]
mov edx, 4
jmp 0x74f833
cmp ebp, 1
mov esi, dword [esp + 0x34]
mov ebp, dword [esp + 0x3c]
mov eax, dword [esp + 0x44]
jne 0x74f83b
mov edx, 6
or ecx, edx
mov dword [ebx + 0x98], ecx
mov dword [ebx + 0x100a8], 0
mov dword [ebx + 0x9c], ebp
mov dword [ebx + 0x100ac], 0
mov dword [ebx + 0x78], 0
mov dword [ebx + 0x7c], 0
mov dword [ebx + 0xa0], eax
push dword [ebx + 0x2c]
push ebx
call fcn.0076dee0
add esp, 8
mov ecx, dword [esp + 4]
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edx
lea eax, [esi + ecx]
mov esi, ecx
lea ecx, [edi + eax + 0x2e]
lea eax, [edi + eax + 0x4e]
mov dword [ebx + 0x90], ecx
mov dword [ebx + 0x94], 0x20
push eax
call fcn.004e93b3
add esp, 4
test eax, eax
mov dword [ebx + 0x88], eax
jne 0x74f8bf
mov eax, 0xffffff98
jmp 0x74fc1d
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x5c]
mov edx, 0x2014b50
mov dword [ebx + 0x8c], ecx
mov ecx, eax
push 4
push 0
call fcn.0074fca0
add esp, 8
mov ecx, dword [ebx + 0x88]
mov edx, ebp
add ecx, 4
push 2
push 0
call fcn.0074fca0
add esp, 8
mov ecx, dword [ebx + 0x88]
mov edx, 0x14
add ecx, 6
push 2
push 0
call fcn.0074fca0
add esp, 8
mov ecx, dword [ebx + 0x88]
mov edx, dword [ebx + 0x98]
add ecx, 8
push 2
push 0
call fcn.0074fca0
add esp, 8
mov ecx, dword [ebx + 0x88]
mov edx, dword [ebx + 0x9c]
add ecx, 0xa
push 2
push 0
call fcn.0074fca0
add esp, 8
mov ecx, dword [ebx + 0x88]
mov edx, dword [ebx + 0x100a4]
add ecx, 0xc
push 4
push 0
call fcn.0074fca0
add esp, 8
mov ecx, dword [ebx + 0x88]
xor edx, edx
add ecx, 0x10
push 4
push 0
call fcn.0074fca0
add esp, 8
mov ecx, dword [ebx + 0x88]
xor edx, edx
add ecx, 0x14
push 4
push 0
call fcn.0074fca0
add esp, 8
mov ecx, dword [ebx + 0x88]
xor edx, edx
add ecx, 0x18
push 4
push 0
call fcn.0074fca0
add esp, 8
mov ecx, dword [ebx + 0x88]
mov edx, edi
add ecx, 0x1c
push 2
push 0
call fcn.0074fca0
add esp, 8
mov ecx, dword [ebx + 0x88]
mov edx, dword [esp + 0x34]
add ecx, 0x1e
push 2
push 0
call fcn.0074fca0
add esp, 8
mov ecx, dword [ebx + 0x88]
mov edx, esi
add ecx, 0x20
push 2
push 0
call fcn.0074fca0
add esp, 8
mov ecx, dword [ebx + 0x88]
xor edx, edx
add ecx, 0x22
push 2
push 0
call fcn.0074fca0
add esp, 8
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x74fa31
mov ecx, dword [ebx + 0x88]
xor edx, edx
add ecx, 0x24
push 2
push 0
call fcn.0074fca0
add esp, 8
mov ecx, dword [ebx + 0x88]
xor edx, edx
add ecx, 0x26
jmp 0x74fa57
mov ecx, dword [ebx + 0x88]
mov edx, dword [eax + 0x1c]
mov esi, eax
add ecx, 0x24
push 2
push 0
call fcn.0074fca0
add esp, 8
mov ecx, dword [ebx + 0x88]
mov edx, dword [esi + 0x20]
add ecx, 0x26
push 4
push 0
call fcn.0074fca0
add esp, 8
mov eax, dword [ebx + 0x80]
mov edx, 0xfffffffe
xor ebp, ebp
mov ecx, 0
cmp edx, eax
sbb ecx, dword [ebx + 0x84]
jae 0x74fa95
mov ecx, dword [ebx + 0x88]
xor eax, eax
add ecx, 0x2a
add edx, 1
setb al
push 4
push eax
jmp 0x74faaf
sub eax, dword [ebx + 0x100d8]
mov ecx, dword [ebx + 0x88]
sbb ebp, dword [ebx + 0x100dc]
add ecx, 0x2a
mov edx, eax
push 4
push ebp
call fcn.0074fca0
add esp, 8
mov ebp, dword [esp]
test edi, edi
je 0x74fad4
xor eax, eax
movzx ecx, byte [ebp + eax]
mov edx, dword [ebx + 0x88]
mov byte [edx + eax + 0x2e], cl
inc eax
cmp eax, edi
jne 0x74fac0
mov esi, dword [esp + 0x34]
test esi, esi
je 0x74faf7
mov eax, dword [esp + 0x30]
xor ecx, ecx
mov ebp, dword [ebx + 0x88]
movzx edx, byte [eax + ecx]
add ebp, edi
mov byte [ecx + ebp + 0x2e], dl
inc ecx
cmp ecx, esi
jne 0x74fae2
mov esi, dword [esp + 4]
mov eax, dword [esp + 0x38]
mov ecx, ebx
test esi, esi
je 0x74fb24
xor ebp, ebp
mov edx, ecx
mov ecx, dword [ecx + 0x88]
movzx ebx, byte [eax + ebp]
add ecx, edi
add ecx, dword [esp + 0x34]
mov byte [ebp + ecx + 0x2e], bl
inc ebp
mov ecx, edx
cmp ebp, esi
jne 0x74fb07
mov eax, dword [esp + 0x64]
mov dword [ecx + 0x100b0], eax
mov dword [ecx + 0x100cc], 0
mov dword [ecx + 0x100c8], 0
mov dword [ecx + 0x100c4], 0
mov dword [ecx + 0x100c0], 0
mov dword [ecx + 0x100bc], 0
mov dword [ecx + 0x100b8], 0
push dword [esp + 0x28]
push dword [esp + 0x30]
push dword [esp + 8]
push ecx
mov ebx, ecx
call fcn.0074f470
add esp, 0x10
test eax, eax
lea ecx, [ebx + 0xa4]
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x50], 0x10000
mov dword [ebx + 0x4c], ecx
mov dword [ebx + 0x48], 0
mov dword [ebx + 0x54], 0
mov dword [ebx + 0x6c], 0
jne 0x74fc1d
cmp dword [ebx + 0x9c], 8
jne 0x74fc14
cmp dword [ebx + 0xa0], 0
jne 0x74fc14
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
mov dword [ebx + 0x60], 0
mov dword [ebx + 0x64], 0
lea esi, [ebx + 0x40]
mov dword [ebx + 0x68], 0
mov edi, edx
neg edi
test edx, edx
cmovs edi, edx
push 0x38
push 0xbaf45e
push eax
push ecx
push edi
push 8
push dword [esp + 0x58]
push esi
call fcn.0076e080
add esp, 0x20
test eax, eax
jne 0x74fc1d
mov dword [ebx + 0x78], 8
xor eax, eax
mov dword [ebx + 0x38], 1
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret