Function at 0x439aa0
Capabilities:
Access peb ldr_data
Print debug messages

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c7fd8
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x1168
call fcn.004c0310
mov eax, dword [0x4fc00c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
call fcn.0041e7c0
movaps xmm0, xmmword [0x4f45b0]
movups xmmword [eax + 0x65], xmm0
movups xmmword [eax + 0x75], xmm0
mov word [eax + 0x65], 0x1210
call fcn.0041e7c0
movaps xmm0, xmmword [0x4f45b0]
mov esi, eax
movups xmmword [esi + 0x45], xmm0
movups xmmword [esi + 0x55], xmm0
mov word [esi + 0x45], 0x504
mov byte [esi + 0x48], 6
call fcn.00443960
mov al, byte [eax + 0x134]
mov byte [esi], al
mov al, byte [esi + 0x44]
mov byte [ebp - 0x1169], al
call fcn.00443960
movzx ecx, byte [ebp - 0x1169]
imul ecx, ecx, 0x208
cmp byte [ecx + eax + 0x144], 0
je 0x439b8d
mov al, byte [esi + 0x44]
mov byte [ebp - 0x1169], al
call fcn.00443960
movzx ecx, byte [ebp - 0x1169]
imul ecx, ecx, 0x208
cmp byte [ecx + eax + 0x144], 0
je 0x439b8d
mov al, byte [ecx + eax + 0x149]
cmp al, 6
jb 0x439b8d
cmp al, 0xc
jae 0x439b8d
mov word [esi + 0x45], 0x504
push edi
call fcn.0041fac0
mov ecx, eax
call fcn.0041fbb0
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
test al, al
jne 0x439d34
push edi
call esi
push str.____GUserData_Load_Failed_____n
call esi
call fcn.0041fac0
mov ecx, eax
call fcn.0041fb20
call fcn.0041e7c0
mov esi, eax
xorps xmm0, xmm0
movups xmmword [esi + 1], xmm0
movups xmmword [esi + 0x11], xmm0
movaps xmm0, xmmword [0x4f45b0]
movups xmmword [esi + 0x65], xmm0
movups xmmword [esi + 0x75], xmm0
mov word [esi + 0x65], 0x1210
movaps xmm0, xmmword [0x4f45b0]
mov byte [esi + 0x44], 0
movups xmmword [esi + 0x45], xmm0
movups xmmword [esi + 0x55], xmm0
mov word [esi + 0x45], 0x504
mov byte [esi + 0x48], 6
call fcn.00443960
mov al, byte [eax + 0x134]
mov byte [esi], al
mov al, byte [esi + 0x44]
mov byte [ebp - 0x1169], al
call fcn.00443960
movzx ecx, byte [ebp - 0x1169]
imul ecx, ecx, 0x208
cmp byte [ecx + eax + 0x144], 0
je 0x439c6e
mov al, byte [esi + 0x44]
mov byte [ebp - 0x1169], al
call fcn.00443960
movzx ecx, byte [ebp - 0x1169]
imul ecx, ecx, 0x208
cmp byte [ecx + eax + 0x144], 0
je 0x439c6e
mov al, byte [ecx + eax + 0x149]
cmp al, 6
jb 0x439c6e
cmp al, 0xc
jae 0x439c6e
mov word [esi + 0x45], 0x504
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
call fcn.00420dc0
mov word [eax + 1], 0x909
mov byte [eax], 5
mov dword [eax + 4], 0xa00
mov dword [eax + 8], 0x2010000
mov dword [eax + 0xc], 0x1010200
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x50a7b8]
cmp eax, dword [ecx + 4]
jle 0x439d05
push 0x50a7b8
call fcn.0047d453
add esp, 4
cmp dword [0x50a7b8], 0xffffffff
jne 0x439d05
xorps xmm0, xmm0
movups xmmword [0x50a7bc], xmm0
push 0x4c8930
mov word [0x50a7c8], 0x101
call fcn.0047d765
add esp, 4
push 0x50a7b8
call fcn.0047d409
add esp, 4
mov al, byte [0x50a7c8]
mov byte [ebp - 0x1169], al
call fcn.00420dc0
cmp byte [ebp - 0x1169], 0
sete cl
mov byte [eax + 4], cl
call fcn.0041fac0
mov ecx, eax
call fcn.00420060
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov word [ebp - 0x18], 0
mov byte [ebp - 0x16], 0
call fcn.00422650
mov ecx, eax
call fcn.00422e40
lea eax, [ebp - 0x18]
push eax
call fcn.00422650
mov ecx, eax
call fcn.00422ec0
lea eax, [ebp - 0x18]
push edi
push eax
call fcn.00422650
mov ecx, eax
call fcn.00422f70
cmp eax, 2
jne 0x439d8b
push 0
push str.Error
push edi
push dword [0x4fe450]
call dword [sym.imp.USER32.dll_MessageBoxA]
xor al, al
jmp 0x439fb4
lea eax, [ebp - 0x1174]
mov dword [ebp - 0x1174], 0x44a00000
push eax
movzx eax, word [0x4fe45a]
push eax
movzx eax, word [0x4fe458]
push eax
mov dword [ebp - 0x1170], 0x44340000
call fcn.0041e7c0
mov ecx, eax
call fcn.0041ea90
mov dword [0x4fe57c], 0x422dc0
mov dword [0x4fe580], 0x422e30
call fcn.00420dc0
mov ecx, edi
mov byte [eax + 0x68], 1
call fcn.00437cd0
test al, al
je 0x439d84
push edi
sub esp, 8
call fcn.00436600
call fcn.0041fac0
cmp dword [eax + 0x2348], 0
jne 0x439eda
push 0x10ec
lea eax, [ebp - 0x1168]
push 0
push eax
call fcn.0047ebc0
add esp, 0xc
lea ecx, [ebp - 0x1168]
call fcn.004296f0
push edi
push str.aib_guide_scene
lea ecx, [ebp - 0x1168]
mov dword [ebp - 4], 0
call fcn.0042a2d0
test al, al
jne 0x439e47
push edi
call esi
jmp 0x439e6a
call fcn.0041fac0
mov dword [eax + 0x2348], 1
mov dword [eax + 0x348], 0xea
mov dword [eax + 0x4348], 0x8f
lea ecx, [ebp - 0x1168]
mov dword [ebp - 4], 1
call fcn.00429900
mov byte [ebp - 4], 2
push dword [ebp - 0xb4]
call fcn.0043add0
mov ecx, eax
call fcn.0043af50
xor eax, eax
lea ecx, [ebp - 0x1160]
mov word [ebp - 0xb4], ax
mov dword [ebp - 0x8c], eax
mov byte [ebp - 0xb2], al
mov word [ebp - 0xb0], ax
call fcn.0044fb40
xor eax, eax
mov word [ebp - 0x1168], ax
mov eax, dword [ebp - 0x1164]
test eax, eax
je 0x439eda
push 0x8000
push 0
push eax
call dword [sym.imp.KERNEL32.dll_VirtualFree]
push 0x60
lea eax, [ebp - 0x78]
push 0
push eax
call fcn.0047ebc0
xor eax, eax
mov dword [ebp - 0x74], 0
xorps xmm0, xmm0
mov dword [ebp - 0x70], eax
movups xmmword [ebp - 0x68], xmm0
add esp, 0xc
mov byte [ebp - 0x6c], al
movq qword [ebp - 0x58], xmm0
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x58], 0x44200000
mov dword [ebp - 0x54], 0x43b40000
mov dword [ebp - 0x60], 0x44200000
mov dword [ebp - 0x5c], 0x43b40000
mov dword [ebp - 0x68], 0x44200000
mov dword [ebp - 0x64], 0x43b40000
mov dword [ebp - 0x50], 0x3f800000
mov dword [ebp - 0x4c], eax
mov word [ebp - 0x48], ax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov word [ebp - 0x34], ax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov word [ebp - 0x28], ax
mov byte [ebp - 0x24], al
mov dword [ebp - 0x20], eax
mov byte [ebp - 0x1c], al
mov dword [ebp - 0x78], eax
push edi
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 3
call fcn.004387d0
call fcn.00438460
mov dword [ebp - 4], 4
push dword [ebp - 0x78]
call fcn.0043add0
mov ecx, eax
call fcn.0043af50
push dword [ebp - 0x76]
call fcn.0043add0
mov ecx, eax
call fcn.0043af50
xor eax, eax
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x439fb2
push eax
call fcn.0047d79d
add esp, 4
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0047d312
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret