Function at 0x4a6560
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55ade2
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push esi
push edi
mov eax, dword [0x58829c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x18], edi
call fcn.00491c30
push 6
mov dword [ebp - 4], 0
lea ecx, [edi + 0x17c]
push str.Dialog
mov dword [edi], 0x56c7cc
mov dword [edi + 0x2c], 2
call fcn.00401ea0
mov dword [ebp - 4], 1
mov dword [edi], 0x56e490
mov dword [edi + method.phVector2d.virtual_0], vtable.phVector2d.0
mov byte [ebp - 4], 2
xorps xmm6, xmm6
mov dword [edi + 0x44], 0x441a4000
mov dword [edi + 0x48], 0x440dc000
mov dword [edi + 0x54], 0x4422e000
mov dword [edi + 0x58], 0x440e2000
mov dword [edi + 0x60], 0x43ab8000
mov dword [edi + 0x64], 0x438e8000
movss xmm0, dword [edi + 0x44]
addss xmm0, dword [0x577944]
mov dword [edi + 0x70], 0x438e8000
movss xmm7, dword [0x577514]
movss xmm5, dword [0x577570]
movss dword [edi + 0x6c], xmm0
movss xmm1, dword [edi + 0x44]
movss xmm0, dword [edi + 0x48]
addss xmm0, dword [0x5778e0]
addss xmm1, dword [0x577944]
movss dword [edi + 0x7c], xmm0
movss dword [edi + 0x78], xmm1
movss xmm0, dword [edi + 0x48]
addss xmm0, dword [0x5778e0]
mov dword [edi + 0x84], 0x43ab8000
movss xmm1, dword [0x577c44]
movss dword [edi + 0x88], xmm0
movss xmm2, dword [edi + 0x58]
cvttss2si eax, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm0
movaps xmm0, xmm2
movd xmm3, eax
cvtdq2ps xmm3, xmm3
subss xmm0, xmm3
andps xmm0, xmmword [0x577e90]
comiss xmm0, xmm7
jbe 0x4a66b8
comiss xmm6, xmm2
jbe 0x4a66af
movaps xmm2, xmm1
addss xmm2, xmm3
jmp 0x4a66bb
movaps xmm2, xmm5
addss xmm2, xmm3
jmp 0x4a66bb
movaps xmm2, xmm3
movss xmm4, dword [edi + 0x54]
cvttss2si eax, xmm4
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm0
movaps xmm0, xmm4
movd xmm3, eax
cvtdq2ps xmm3, xmm3
subss xmm0, xmm3
andps xmm0, xmmword [0x577e90]
comiss xmm0, xmm7
jbe 0x4a66f7
comiss xmm6, xmm4
ja 0x4a66f1
movaps xmm1, xmm5
addss xmm1, xmm3
jmp 0x4a66fa
movaps xmm1, xmm3
cvttss2si eax, xmm1
push 0x13
push str.swGuiDlgM2EnterName
lea ecx, [edi + 0x1ac]
movd xmm4, eax
cvttss2si eax, xmm2
cvtdq2ps xmm4, xmm4
movd xmm3, eax
movss dword [edi + 0x54], xmm4
movaps xmm2, xmm4
cvtdq2ps xmm3, xmm3
movss dword [edi + 0x58], xmm3
movaps xmm1, xmm3
movss xmm0, dword [edi + 0x44]
mulss xmm0, xmm7
subss xmm2, xmm0
movss xmm0, dword [edi + 0x48]
mulss xmm0, xmm7
subss xmm1, xmm0
movss dword [edi + 0x60], xmm2
movss dword [edi + 0x64], xmm1
movaps xmm1, xmm3
movss xmm0, dword [edi + 0x48]
movss xmm2, dword [edi + 0x44]
mulss xmm0, xmm7
mulss xmm2, xmm7
subss xmm1, xmm0
addss xmm2, xmm4
movss dword [edi + 0x70], xmm1
movss dword [edi + 0x6c], xmm2
movss xmm0, dword [edi + 0x48]
movss xmm1, dword [edi + 0x44]
mulss xmm0, xmm7
mulss xmm1, xmm7
addss xmm0, xmm3
addss xmm1, xmm4
movss dword [edi + 0x7c], xmm0
movss dword [edi + 0x78], xmm1
movss xmm0, dword [edi + 0x44]
mulss xmm0, xmm7
subss xmm4, xmm0
movss xmm0, dword [edi + 0x48]
mulss xmm0, xmm7
addss xmm0, xmm3
movss dword [edi + 0x84], xmm4
movss dword [edi + 0x88], xmm0
mov dword [edi + 0x30], 0
mov eax, dword [0x58d464]
mov eax, dword [eax + 0x14234]
mov eax, dword [eax]
mov dword [edi + 0xcc], eax
call fcn.00401ea0
push 0
push 0x5643b2
lea ecx, [edi + 0xd8]
call fcn.00401ea0
mov eax, dword [edi + 0xcc]
mov dword [edi + 0x34], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x104], 0
mov dword [edi + 0x108], 0
mov dword [edi + 0x110], 0
mov dword [edi + 0x114], 0
mov dword [edi + 0x118], 0x3f800000
test eax, eax
je 0x4a6848
mov dword [eax + 0x24], 0x3f800000
push 0
push 0x5643b2
lea ecx, [edi + 0x17c]
call fcn.00401ea0
push 0x15
lea ecx, [edi + 0x11c]
push str.textures_InfoMenu.png
call fcn.00401ea0
mov esi, dword [sym.imp.msvcr120.dll_void____cdecl_operator_new_unsigned_int_]
push 0xf4
call esi
add esp, 4
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x4a68d5
cmp dword [edi + 0x130], 0x10
lea eax, [edi + 0x11c]
jb 0x4a6898
mov eax, dword [eax]
mov ecx, dword [0x588fe4]
sub esp, 0x10
mov dword [esp + 0xc], 0x441ac000
mov dword [esp + 8], 0x442cc000
mov dword [esp + 4], 0x44648000
mov dword [esp], 0x42240000
push 0
push 0
push eax
call fcn.00542f20
mov ecx, dword [ebp - 0x14]
push eax
call fcn.00541d40
jmp 0x4a68d7
xor eax, eax
mov byte [ebp - 4], 2
lea ecx, [edi + 0x134]
mov dword [edi + 0xf0], eax
push 0x15
push str.textures_InfoMenu.png
mov dword [eax + 0xe0], 0x43ab8000
mov dword [eax + 0xe4], 0x439b0000
mov dword [eax + 0xe8], 0x43ab8000
mov dword [eax + 0xec], 0x439b0000
call fcn.00401ea0
push 0xf4
call esi
add esp, 4
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x4a697e
cmp dword [edi + 0x148], 0x10
lea eax, [edi + 0x134]
jb 0x4a6941
mov eax, dword [eax]
mov ecx, dword [0x588fe4]
sub esp, 0x10
mov dword [esp + 0xc], 0x441ac000
mov dword [esp + 8], 0x442cc000
mov dword [esp + 4], 0x44648000
mov dword [esp], 0x42240000
push 0
push 0
push eax
call fcn.00542f20
mov ecx, dword [ebp - 0x14]
push eax
call fcn.00541d40
jmp 0x4a6980
xor eax, eax
mov byte [ebp - 4], 2
lea ecx, [edi + 0x14c]
mov dword [edi + 0xf4], eax
push 0x15
push str.textures_InfoMenu.png
mov dword [eax + 0xe0], 0x43ab8000
mov dword [eax + 0xe4], 0x439b0000
mov dword [eax + 0xe8], 0x43ab8000
mov dword [eax + 0xec], 0x439b0000
call fcn.00401ea0
push 0xf4
call esi
add esp, 4
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x4a6a27
cmp dword [edi + 0x160], 0x10
lea eax, [edi + 0x14c]
jb 0x4a69ea
mov eax, dword [eax]
mov ecx, dword [0x588fe4]
sub esp, 0x10
mov dword [esp + 0xc], 0x441ac000
mov dword [esp + 8], 0x442cc000
mov dword [esp + 4], 0x44648000
mov dword [esp], 0x42240000
push 0
push 0
push eax
call fcn.00542f20
mov ecx, dword [ebp - 0x14]
push eax
call fcn.00541d40
jmp 0x4a6a29
xor eax, eax
mov byte [ebp - 4], 2
lea ecx, [edi + 0x164]
mov dword [edi + 0xf8], eax
push 0x15
push str.textures_InfoMenu.png
mov dword [eax + 0xe0], 0x43ab8000
mov dword [eax + 0xe4], 0x439b0000
mov dword [eax + 0xe8], 0x43ab8000
mov dword [eax + 0xec], 0x439b0000
call fcn.00401ea0
push 0xf4
call esi
add esp, 4
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x4a6ad0
cmp dword [edi + 0x178], 0x10
lea eax, [edi + 0x164]
jb 0x4a6a93
mov eax, dword [eax]
mov ecx, dword [0x588fe4]
sub esp, 0x10
mov dword [esp + 0xc], 0x441ac000
mov dword [esp + 8], 0x442cc000
mov dword [esp + 4], 0x44648000
mov dword [esp], 0x42240000
push 0
push 0
push eax
call fcn.00542f20
mov ecx, dword [ebp - 0x14]
push eax
call fcn.00541d40
jmp 0x4a6ad2
xor eax, eax
mov byte [ebp - 4], 2
mov dword [edi + 0xfc], eax
push 0x1f8
mov dword [eax + 0xe0], 0x43ab8000
mov dword [eax + 0xe4], 0x439b0000
mov dword [eax + 0xe8], 0x43ab8000
mov dword [eax + 0xec], 0x439b0000
call esi
add esp, 4
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x4a6b22
mov ecx, eax
call fcn.004a4e00
jmp 0x4a6b24
xor eax, eax
mov byte [ebp - 4], 2
mov dword [edi + 0x1fc], eax
mov dword [ebp - 0x14], eax
mov eax, dword [edi + 0x20]
cmp dword [edi + 0x1c], eax
jne 0x4a6b45
add eax, 0xa
lea ecx, [edi + 0xc]
push eax
call fcn.00436aa0
mov ecx, dword [edi + 0x1c]
mov eax, dword [edi + 0x24]
mov edx, dword [ebp - 0x14]
mov dword [eax + ecx*4], edx
inc dword [edi + 0x1c]
push dword [edi + 0x1fc]
mov ecx, dword [ebp + 8]
call fcn.00491150
mov eax, dword [edi + 0x1fc]
push 0x1f8
mov dword [eax + 0x28], edi
call dword [sym.imp.msvcr120.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x4a6b8d
mov ecx, eax
call fcn.004a53d0
jmp 0x4a6b8f
xor eax, eax
mov byte [ebp - 4], 2
mov dword [edi + 0x200], eax
mov dword [ebp - 0x14], eax
mov eax, dword [edi + 0x20]
cmp dword [edi + 0x1c], eax
jne 0x4a6bb0
add eax, 0xa
lea ecx, [edi + 0xc]
push eax
call fcn.00436aa0
mov ecx, dword [edi + 0x1c]
mov eax, dword [edi + 0x24]
mov edx, dword [ebp - 0x14]
mov dword [eax + ecx*4], edx
inc dword [edi + 0x1c]
push dword [edi + 0x200]
mov ecx, dword [ebp + 8]
call fcn.00491150
mov eax, dword [edi + 0x200]
push 0x284
mov dword [eax + 0x28], edi
call dword [sym.imp.msvcr120.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x4a6bf8
mov ecx, eax
call fcn.004a49b0
jmp 0x4a6bfa
xor eax, eax
mov byte [ebp - 4], 2
mov dword [edi + 0x1f8], eax
mov dword [ebp - 0x14], eax
mov eax, dword [edi + 0x20]
cmp dword [edi + 0x1c], eax
jne 0x4a6c1b
add eax, 0xa
lea ecx, [edi + 0xc]
push eax
call fcn.00436aa0
mov ecx, dword [edi + 0x1c]
mov eax, dword [edi + 0x24]
mov edx, dword [ebp - 0x14]
mov dword [eax + ecx*4], edx
inc dword [edi + 0x1c]
push dword [edi + 0x1f8]
mov ecx, dword [ebp + 8]
call fcn.00491150
mov eax, dword [edi + 0x1f8]
push 0x200
mov dword [eax + 0x28], edi
call dword [sym.imp.msvcr120.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x4a6c63
mov ecx, eax
call fcn.004a59a0
jmp 0x4a6c65
xor eax, eax
mov byte [ebp - 4], 2
mov dword [edi + 0x204], eax
mov dword [ebp - 0x14], eax
mov eax, dword [edi + 0x20]
cmp dword [edi + 0x1c], eax
jne 0x4a6c86
add eax, 0xa
lea ecx, [edi + 0xc]
push eax
call fcn.00436aa0
mov ecx, dword [edi + 0x1c]
mov eax, dword [edi + 0x24]
mov edx, dword [ebp - 0x14]
mov dword [eax + ecx*4], edx
inc dword [edi + 0x1c]
push dword [edi + 0x204]
mov ecx, dword [ebp + 8]
call fcn.00491150
mov eax, dword [edi + 0x204]
push 0x200
mov dword [eax + 0x28], edi
call dword [sym.imp.msvcr120.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x4a6cce
mov ecx, eax
call fcn.004a5f80
jmp 0x4a6cd0
xor eax, eax
mov byte [ebp - 4], 2
mov dword [edi + 0x208], eax
mov dword [ebp - 0x14], eax
mov eax, dword [edi + 0x20]
cmp dword [edi + 0x1c], eax
jne 0x4a6cf1
add eax, 0xa
lea ecx, [edi + 0xc]
push eax
call fcn.00436aa0
mov edx, dword [edi + 0x1c]
mov eax, dword [edi + 0x24]
mov ecx, dword [ebp - 0x14]
mov dword [eax + edx*4], ecx
inc dword [edi + 0x1c]
push dword [edi + 0x208]
mov ecx, dword [ebp + 8]
call fcn.00491150
mov eax, dword [edi + 0x208]
mov dword [eax + 0x28], edi
mov ecx, dword [edi + 0x204]
mov eax, dword [ecx]
call dword [eax + 0xe8]
mov dword [edi + 0x21c], 0x44480000
mov dword [edi + 0x220], 0x43e10000
mov dword [ebp - 0x24], vtable.phVector2d.0
mov dword [ebp - 0x20], 0xc0c00000
mov dword [ebp - 0x1c], 0
lea ecx, [ebp - 0x24]
push ecx
lea ecx, [ebp - 0x34]
push ecx
lea ecx, [edi + 0x218]
call fcn.00441d60
lea eax, [edi + 0x50]
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x34]
call fcn.00457080
mov byte [ebp - 4], 0xe
lea ecx, [edi + 0x40]
movss xmm0, dword [ebp - 0x2c]
sub esp, 8
mov eax, dword [ecx]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x30]
movss dword [esp], xmm0
call dword [eax + 8]
movss xmm0, dword [ebp - 0x38]
sub esp, 8
mov eax, dword [edi]
mov ecx, edi
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x3c]
movss dword [esp], xmm0
call dword [eax + 0x78]
mov byte [ebp - 4], 2
cmp byte [edi + 0x1f4], 0
mov dword [edi + 0x214], 2
jne 0x4a6df3
xor esi, esi
mov dword [edi + 0x30], 3
cmp dword [edi + 0x1c], esi
jle 0x4a6df3
lea esp, [esp]
mov eax, dword [edi + 0x24]
push 0
mov ecx, dword [eax + esi*4]
mov eax, dword [ecx]
call dword [eax + 0x24]
inc esi
cmp esi, dword [edi + 0x1c]
jl 0x4a6de0
xor esi, esi
mov dword [edi + 0x3c], 0
cmp dword [edi + 0x1c], esi
jle 0x4a6e14
mov eax, dword [edi + 0x24]
push 0
mov ecx, dword [eax + esi*4]
mov eax, dword [ecx]
call dword [eax + 0x28]
inc esi
cmp esi, dword [edi + 0x1c]
jl 0x4a6e01
xor ecx, ecx
mov dword [edi + 0x1c8], 0x447a0000
cmp dword [edi + 0x1c], ecx
jle 0x4a6e56
jmp 0x4a6e30
mov eax, dword [edi + 0x24]
mov eax, dword [eax + ecx*4]
mov dword [eax + 0x1c8], 0x447a0000
mov eax, dword [edi + 0x24]
mov eax, dword [eax + ecx*4]
inc ecx
mov dword [eax + 0x1c4], 0
cmp ecx, dword [edi + 0x1c]
jl 0x4a6e30
mov dword [edi + 0x1c4], 0
mov eax, dword [0x58d464]
mov eax, dword [eax + 0x154]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc0]
call eax
fstp dword [ebp + 8]
movss xmm0, dword [ebp + 8]
mulss xmm0, dword [0x577c00]
push 0
push ecx
mov ecx, edi
movss dword [esp], xmm0
call fcn.00492780
movss xmm2, dword [0x5778b0]
movaps xmm0, xmm2
movaps xmm1, xmm2
subss xmm0, dword [edi + 0x1c4]
subss xmm1, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm1
movss dword [ebp + 8], xmm1
jbe 0x4a6ec1
movaps xmm1, xmm0
jmp 0x4a6ec9
comiss xmm1, xmm2
jbe 0x4a6ece
movaps xmm1, xmm2
movss dword [ebp + 8], xmm1
xor esi, esi
cmp dword [edi + 0x1c], esi
jle 0x4a6ef4
mov eax, dword [edi + 0x24]
mov ecx, dword [eax + esi*4]
push ecx
movss dword [esp], xmm1
mov eax, dword [ecx]
call dword [eax + 0x8c]
movss xmm1, dword [ebp + 8]
inc esi
cmp esi, dword [edi + 0x1c]
jl 0x4a6ed5
mov dword [edi + 0x210], 0
mov dword [edi + 0x20c], 0
mov byte [edi + 0x224], 0
mov ecx, dword [0x58d464]
push str.EN_MENU_TITLE
mov ecx, dword [ecx + 0x148]
call fcn.005258c0
test eax, eax
je 0x4a6f3a
lea ecx, [edi + 0x40]
mov dword [edi + 0xc4], eax
push ecx
mov ecx, eax
call fcn.00522270
mov eax, dword [0x58d464]
mov eax, dword [eax + 0x14b90]
mov ecx, dword [eax + 0xbc]
test ecx, ecx
je 0x4a6f6f
mov eax, dword [ecx + 0x14]
test eax, eax
jg 0x4a6f6f
inc eax
cmp byte [0x58d45c], 0
mov dword [ecx + 0x14], eax
je 0x4a6f6f
push 0
push ecx
push ecx
mov ecx, dword [ecx + 0xc]
call fcn.00533230
mov ecx, dword [0x58d464]
push str.EN_MENU_NAME
mov ecx, dword [ecx + 0x148]
call fcn.005258c0
mov edx, dword [edi + 0x1f8]
mov ecx, dword [eax + 0xc0]
lea esi, [eax + 0xbc]
mov dword [edx + 0x44], ecx
mov ecx, dword [esi + 8]
mov dword [edx + 0x48], ecx
mov eax, dword [esi + 0xc]
mov dword [edx + 0x4c], eax
mov eax, dword [esi + 0x14]
mov dword [edx + 0x54], eax
mov eax, dword [esi + 0x18]
mov dword [edx + 0x58], eax
mov eax, dword [esi + 0x20]
mov dword [edx + 0x60], eax
mov eax, dword [esi + 0x24]
mov dword [edx + 0x64], eax
mov eax, dword [esi + 0x2c]
mov dword [edx + 0x6c], eax
mov eax, dword [esi + 0x30]
mov dword [edx + 0x70], eax
mov eax, dword [esi + 0x38]
mov dword [edx + 0x78], eax
mov eax, dword [esi + 0x3c]
mov dword [edx + 0x7c], eax
mov eax, dword [esi + 0x44]
mov dword [edx + 0x84], eax
mov eax, dword [esi + 0x48]
mov dword [edx + 0x88], eax
mov eax, dword [esi + 0x50]
mov dword [edx + 0x90], eax
mov eax, dword [esi + 0x54]
mov dword [edx + 0x94], eax
mov eax, dword [esi + 0x5c]
mov dword [edx + 0x9c], eax
mov eax, dword [esi + 0x60]
mov dword [edx + 0xa0], eax
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4