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

Disassembly:
sub esp, 0x64
lea eax, [esp + 0x68]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x74]
push edi
push eax
mov ebp, 1
push 0x30
push ebp
push esi
call fcn.00410b60
add esp, 0x10
test eax, eax
jne 0x43eec4
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x78]
mov dword [ecx], esi
mov edx, dword [esp + 0x78]
mov dword [edx + 4], ebp
mov eax, dword [esp + 0x78]
mov dword [eax + 8], ebp
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0x2c], 4
mov al, byte [esi + 0x394]
test al, 8
je 0x43e77e
mov eax, dword [esp + 0x78]
or dword [eax + 0x2c], 2
test dword [esi + 0x394], 0x40000
je 0x43e7ac
mov edx, dword [esp + 0x78]
add edx, 0x10
push edx
push str.process_private
push esi
call fcn.00410b00
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x43ed6d
jmp 0x43e823
push str.__db.001
push 0x4ba140
lea eax, [esp + 0x5c]
push 0x1e
push eax
call fcn.004a3f7b
mov ecx, dword [esp + 0x88]
lea edx, [esp + 0x64]
add ecx, 0x10
push ecx
push 0
push 0
push edx
push 0
push esi
call fcn.00411c20
mov edi, eax
add esp, 0x28
test edi, edi
jne 0x43ed6d
test byte [esi + 0x394], 8
je 0x43ea8f
mov edx, dword [esp + 0x78]
mov ecx, dword [esi + 0xd8]
lea eax, [esi + 0xec]
push eax
mov eax, dword [edx + 0x10]
push ecx
push 0x52
push eax
push esi
call fcn.0043c470
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x43ea68
mov eax, dword [esp + 0x78]
mov ecx, 6
lea edi, [esp + 0x3c]
mov ebx, dword [eax + 0x2c]
or ebx, ebp
mov dword [eax + 0x2c], ebx
mov ebx, dword [esi + 0x84]
xor eax, eax
add ebx, 0xa
rep stosd dword es:[edi], eax
mov ecx, dword [esi + 0x13c]
lea eax, [ebx + ebx*2]
shl eax, 3
mov dword [esp + 0x14], eax
mov dword [esp + 0x50], 0xffffffff
lea edx, [ecx + eax + 0x4000]
mov ecx, dword [esp + 0x78]
lea eax, [esp + 0x3c]
mov dword [esp + 0x48], edx
push eax
push ecx
push esi
call fcn.0047db30
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x43ed6d
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x48]
push ebp
push edx
mov ecx, dword [eax + 0x18]
push ecx
push esi
call fcn.0043f7e0
mov eax, dword [esp + 0x88]
mov edx, dword [eax + 0x18]
mov dword [eax + 0x1c], edx
mov eax, dword [esp + 0x88]
mov edx, dword [eax + 0x18]
add edx, 0x48
mov dword [eax + 0x18], edx
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x88]
add eax, 0xffffffb8
push eax
push ecx
call fcn.004529b0
mov edx, dword [esp + 0x90]
lea eax, [esp + 0x40]
lea ecx, [esp + 0x3c]
push eax
mov ebp, dword [edx + 0x1c]
lea edx, [esp + 0x3c]
push ecx
push edx
mov dword [ebp], edi
mov dword [ebp + 4], edi
call fcn.00410d10
mov eax, dword [esp + 0x44]
mov dword [ebp + 8], eax
mov ecx, dword [esp + 0x48]
mov dword [ebp + 0xc], ecx
mov edx, dword [esp + 0x4c]
lea eax, [ebp + 0x18]
mov dword [ebp + 0x10], edx
push eax
call fcn.004a318e
lea ecx, [ebp + 0x14]
push ecx
push esi
call fcn.004241e0
lea edx, [ebp + 0x20]
push edx
push edi
push 4
push esi
call fcn.00441780
mov edi, eax
add esp, 0x40
test edi, edi
jne 0x43ed6d
mov eax, dword [esp + 0x7c]
mov dword [ebp + 0x24], 1
test eax, eax
je 0x43e942
mov eax, dword [eax]
mov ecx, dword [esp + 0x14]
mov dword [ebp + 0x1c], eax
lea eax, [esp + 0x10]
mov dword [ebp + 0x28], ebx
mov edx, dword [esp + 0x78]
push eax
push 0
push ecx
push edx
call fcn.00452a70
mov edi, eax
xor ecx, ecx
add esp, 0x10
cmp edi, ecx
je 0x43e983
push edi
call fcn.00415de0
push eax
push str.unable_to_create_new_master_region_array:__s
push esi
call fcn.00415f80
add esp, 0x10
jmp 0x43ed6d
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
mov edi, dword [eax + 0x394]
mov eax, dword [esp + 0x10]
test edi, 0x40000
jne 0x43e99e
sub eax, dword [edx + 0x18]
cmp ebx, ecx
mov dword [ebp + 0x2c], eax
jbe 0x43e9b9
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
mov edx, dword [esp + 0x10]
add edx, 0x18
dec ebx
mov dword [esp + 0x10], edx
jne 0x43e9a5
lea eax, [esp + 0x10]
mov dword [ebp + 0x30], ecx
mov dword [ebp + 0x34], ecx
mov dword [ebp + 0x38], ecx
mov dword [ebp + 0x40], ecx
mov dword [ebp + 0x3c], ecx
push eax
mov eax, dword [esp + 0x7c]
push eax
push eax
push esi
call fcn.0043f6b0
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x43ed1e
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x10]
mov dword [edx + 0xc], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x48]
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x50]
mov dword [eax + 0x14], edx
mov eax, dword [esp + 0x50]
cmp eax, 0xffffffff
je 0x43ee39
mov ecx, dword [esp + 0x48]
lea edx, [esp + 0x18]
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0xec]
push edx
lea eax, [esp + 0x38]
push 8
push eax
push ecx
push esi
call fcn.00459480
mov edi, eax
add esp, 0x14
test edi, edi
je 0x43ee39
push edi
call fcn.00415de0
mov edx, dword [esp + 0x7c]
push eax
mov eax, dword [edx + 0x10]
push eax
push str._s:_unable_to_write_out_public_environment_ID:__s
push esi
call fcn.00415f80
add esp, 0x14
jmp 0x43ed6d
cmp edi, 0x11
je 0x43ea8f
push edi
call fcn.00415de0
mov ecx, dword [esp + 0x7c]
push eax
mov edx, dword [ecx + 0x10]
push edx
push str._s:__s
push esi
call fcn.00415f80
add esp, 0x14
jmp 0x43ed6d
mov eax, dword [esp + 0x78]
lea ebx, [esi + 0xec]
push ebx
push 0
mov ecx, dword [eax + 0x10]
push 0x40
push ecx
push esi
call fcn.0043c470
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x43ed6d
mov eax, dword [esp + 0x78]
lea edx, [esp + 0x30]
push edi
push edx
mov ecx, dword [eax + 0x2c]
and ecx, 0xfffffffd
mov dword [eax + 0x2c], ecx
mov edx, dword [esp + 0x80]
mov ecx, dword [ebx]
lea eax, [esp + 0x34]
push eax
mov eax, dword [edx + 0x10]
push ecx
push eax
push esi
call fcn.00451800
mov edi, eax
add esp, 0x18
test edi, edi
je 0x43eb0c
push edi
call fcn.00415de0
mov ecx, dword [esp + 0x7c]
push eax
mov edx, dword [ecx + 0x10]
push edx
push str._s:__s
push esi
call fcn.00415f80
add esp, 0x14
jmp 0x43ed6d
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
shl eax, 0x14
add eax, edx
cmp eax, 8
mov dword [esp + 0x14], eax
ja 0x43eb93
jne 0x43ed6d
mov edx, dword [ebx]
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x38]
push 8
push ecx
push edx
push esi
call fcn.00459350
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x43eb71
cmp dword [esp + 0x18], 8
jb 0x43eb6c
mov eax, dword [esp + 0x34]
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x394]
or eax, 0x400000
mov dword [esi + 0x394], eax
jmp 0x43ebcc
mov edi, 5
push edi
call fcn.00415de0
mov ecx, dword [esp + 0x7c]
push eax
mov edx, dword [ecx + 0x10]
push edx
push str._s:_unable_to_read_system_memory_information_from:__s
push esi
call fcn.00415f80
add esp, 0x14
jmp 0x43ed6d
test dword [esi + 0x394], 0x400000
je 0x43ebc9
mov edi, 0x16
push edi
call fcn.00415de0
push eax
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 0x10]
push ecx
push str._s:_existing_environment_not_created_in_system_memory:__s
push esi
call fcn.00415f80
add esp, 0x14
jmp 0x43ed6d
or ebp, 0xffffffff
mov edx, dword [ebx]
push edx
push esi
call fcn.00451b10
mov edx, dword [esp + 0x80]
mov ecx, 6
xor eax, eax
lea edi, [esp + 0x44]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x44]
push ecx
push edx
push esi
mov dword [ebx], 0
mov dword [esp + 0x5c], eax
mov dword [esp + 0x64], ebp
call fcn.0047db30
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x43ed6d
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x18]
mov dword [eax + 0x1c], ecx
mov eax, dword [esp + 0x78]
mov ebx, dword [eax + 0x18]
add ebx, 0x48
mov dword [eax + 0x18], ebx
mov ecx, dword [esp + 0x78]
mov ebx, dword [ecx + 0x1c]
mov eax, dword [ebx + 8]
cmp eax, 4
jne 0x43ed3f
cmp dword [ebx + 0xc], eax
jne 0x43ed3f
mov eax, dword [ebx + 4]
test eax, eax
je 0x43ec69
mov eax, dword [esi + 0x394]
test ah, 0x80
jne 0x43ec69
push esi
call fcn.00415d30
add esp, 4
mov edi, eax
jmp 0x43ed6d
cmp dword [ebx], 0x120897
jne 0x43ed6d
lea edx, [esp + 0x10]
push edx
push ecx
push ecx
push esi
call fcn.0043f6b0
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x43ed1e
mov eax, dword [esp + 0x10]
test eax, eax
je 0x43ed1e
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0xc], eax
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
cmp dword [edx + 0xc], eax
jne 0x43ed6d
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x43eccc
push eax
push esi
call fcn.004151f0
add esp, 8
test eax, eax
jne 0x43ee6b
mov edx, dword [ebx + 0x24]
mov eax, dword [ebx + 0x20]
inc edx
test eax, eax
mov dword [ebx + 0x24], edx
je 0x43ecec
push eax
push esi
call fcn.00415420
add esp, 8
test eax, eax
jne 0x43ee6b
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x43ee7d
mov ecx, dword [ebx + 0x1c]
mov edx, dword [eax]
not ecx
and edx, ecx
mov dword [eax], edx
je 0x43ee78
push str.configured_environment_flags_incompatible_with_existing_environment
push esi
call fcn.00415f80
add esp, 8
mov edi, 0x16
jmp 0x43ed6d
mov edx, dword [esp + 0x78]
mov eax, dword [edx + 0x10]
push eax
push str._s:_unable_to_find_environment
push esi
call fcn.00415f80
add esp, 0xc
test edi, edi
jne 0x43ed6d
mov edi, 0x16
jmp 0x43ed6d
test eax, eax
jne 0x43ed51
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jne 0x43ed51
mov edi, 0x16
jmp 0x43ed6d
mov ecx, dword [ebx + 0xc]
push ecx
push eax
push 4
push 4
push str.Program_version__d._d_doesnt_match_environment_version__d._d
push esi
call fcn.00415f80
add esp, 0x18
mov edi, 0xffff8705
mov eax, dword [esi + 0xec]
test eax, eax
je 0x43ed8b
push eax
push esi
call fcn.00451b10
add esp, 8
mov dword [esi + 0xec], 0
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x43edc9
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x43eda4
lea edx, [esp + 0x3c]
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x78]
mov ebp, 1
mov ecx, dword [eax + 0x1c]
mov dword [eax + 0x18], ecx
mov eax, dword [esp + 0x78]
mov edx, dword [eax + 0x2c]
and edx, ebp
push edx
push eax
push esi
call fcn.0047dbf0
add esp, 0xc
jmp 0x43edce
mov ebp, 1
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x43ede3
push eax
push esi
call fcn.00410cc0
add esp, 8
mov ecx, dword [esp + 0x78]
push ecx
push esi
call fcn.00410cc0
add esp, 8
test edi, edi
jne 0x43eec2
mov eax, dword [esp + 0x1c]
add eax, 3
cmp eax, 9
mov dword [esp + 0x1c], eax
ja 0x43eeaf
push edi
push eax
push esi
call fcn.00475b30
lea edx, [esp + 0x84]
push edx
push 0x30
push ebp
push esi
call fcn.00410b60
add esp, 0x1c
test eax, eax
je 0x43e74d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret
mov eax, dword [esi + 0xec]
test eax, eax
je 0x43ee57
push eax
push esi
call fcn.00451b10
add esp, 8
mov dword [esi + 0xec], 0
mov eax, dword [esp + 0x78]
pop edi
mov dword [esi + 0xe8], eax
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x64
ret
pop edi
pop esi
pop ebp
mov eax, 0xffff8702
pop ebx
add esp, 0x64
ret
mov ecx, dword [ebx + 0x1c]
mov dword [eax], ecx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x78]
push 0
mov eax, dword [edx + 0xc]
mov edx, dword [ecx + 0x1c]
push eax
push edx
push esi
call fcn.0043f7e0
mov eax, dword [esp + 0x88]
add esp, 0x10
mov dword [esi + 0xe8], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret
push str.unable_to_join_the_environment
push esi
call fcn.00415f80
add esp, 8
mov edi, 0xb
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret