Function at 0x403ed0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4513ce
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xb10
mov eax, dword [0x45e008]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x744], 0
call fcn.00403870
test eax, eax
je 0x403f2b
mov byte [ebp - 0x665], 1
jmp 0x403f32
mov byte [ebp - 0x665], 0
mov al, byte [ebp - 0x665]
mov byte [ebp - 0x666], al
mov dword [ebp - 0x708], 0x20019
movzx ecx, byte [ebp - 0x666]
test ecx, ecx
je 0x403f65
mov edx, dword [ebp - 0x708]
or edx, 0x100
mov dword [ebp - 0x708], edx
xor eax, eax
mov byte [ebp - 0x667], al
xor ecx, ecx
mov byte [ebp - 0x668], cl
xor edx, edx
mov byte [ebp - 0x669], dl
mov al, byte [ebp - 0x667]
mov byte [ebp - 0x6f8], al
mov cl, byte [ebp - 0x668]
mov byte [ebp - 0x6fc], cl
mov dl, byte [ebp - 0x669]
mov byte [ebp - 0x694], dl
mov dword [ebp - 0x7b0], 0x99066804
mov dword [ebp - 0x7ac], 0x7e29c598
mov eax, dword [ebp - 0x7b0]
mov dword [ebp - 0x8a0], eax
mov ecx, dword [ebp - 0x7ac]
mov dword [ebp - 0x89c], ecx
mov dword [ebp - 0x7b8], 0xae066fc6
mov dword [ebp - 0x7b4], 0x1bb3bb0e
mov edx, dword [ebp - 0x7b8]
mov dword [ebp - 0x898], edx
mov eax, dword [ebp - 0x7b4]
mov dword [ebp - 0x894], eax
lea ecx, [ebp - 0x8a0]
mov dword [ebp - 0x704], ecx
mov dword [ebp - 0x4c0], 0xf76d0651
mov dword [ebp - 0x4bc], 0x7e47b2f7
mov dword [ebp - 0x4b8], 0xae066fc6
mov dword [ebp - 0x4b4], 0x1bb3bb0e
xor edx, edx
mov byte [ebp - 0x66a], dl
mov al, byte [ebp - 0x66a]
mov byte [ebp - 0x698], al
movaps xmm0, xmmword [ebp - 0x4c0]
movaps xmmword [ebp - 0xa00], xmm0
mov ecx, dword [ebp - 0x704]
movups xmm0, xmmword [ecx]
movaps xmmword [ebp - 0x9f0], xmm0
movaps xmm0, xmmword [ebp - 0x9f0]
pxor xmm0, xmmword [ebp - 0xa00]
movaps xmmword [ebp - 0xa10], xmm0
movaps xmm0, xmmword [ebp - 0xa10]
mov edx, dword [ebp - 0x704]
movups xmmword [edx], xmm0
mov eax, dword [ebp - 0x704]
mov dword [ebp - 0x79c], eax
mov ecx, dword [ebp - 0x79c]
push ecx
lea ecx, [ebp - 0x4e0]
call fcn.00401810
mov dword [ebp - 4], 0
mov dword [ebp - 0x664], 0
xor edx, edx
mov byte [ebp - 0x66b], dl
xor eax, eax
mov byte [ebp - 0x66c], al
xor ecx, ecx
mov byte [ebp - 0x66d], cl
mov dl, byte [ebp - 0x66b]
mov byte [ebp - 0x69c], dl
mov al, byte [ebp - 0x66c]
mov byte [ebp - 0x6a0], al
mov cl, byte [ebp - 0x66d]
mov byte [ebp - 0x6a4], cl
mov dword [ebp - 0x7c0], 0xa32b4902
mov dword [ebp - 0x7bc], 0x3b15f3a0
mov edx, dword [ebp - 0x7c0]
mov dword [ebp - 0x8d0], edx
mov eax, dword [ebp - 0x7bc]
mov dword [ebp - 0x8cc], eax
mov dword [ebp - 0x7c8], 0xcd6f229a
mov dword [ebp - 0x7c4], 0x74c0d47c
mov ecx, dword [ebp - 0x7c8]
mov dword [ebp - 0x8c8], ecx
mov edx, dword [ebp - 0x7c4]
mov dword [ebp - 0x8c4], edx
mov dword [ebp - 0x7d0], 0xc5d90ea5
mov dword [ebp - 0x7cc], 0xdab354b3
mov eax, dword [ebp - 0x7d0]
mov dword [ebp - 0x8c0], eax
mov ecx, dword [ebp - 0x7cc]
mov dword [ebp - 0x8bc], ecx
mov dword [ebp - 0x7d8], 0x1123f6e7
mov dword [ebp - 0x7d4], 0x1532b8c0
mov edx, dword [ebp - 0x7d8]
mov dword [ebp - 0x8b8], edx
mov eax, dword [ebp - 0x7d4]
mov dword [ebp - 0x8b4], eax
lea ecx, [ebp - 0x8d0]
mov dword [ebp - 0x690], ecx
mov dword [ebp - 0x460], 0xf76d0651
mov dword [ebp - 0x45c], 0x7e47b2f7
mov dword [ebp - 0x458], 0xae066fc6
mov dword [ebp - 0x454], 0x1bb3bb0e
mov dword [ebp - 0x450], 0x86857ac3
mov dword [ebp - 0x44c], 0xaec32dc1
mov dword [ebp - 0x448], 0x70519188
mov dword [ebp - 0x444], 0x154bd0b0
xor edx, edx
mov byte [ebp - 0x66e], dl
mov al, byte [ebp - 0x66e]
mov byte [ebp - 0x6a8], al
movaps xmm0, xmmword [ebp - 0x460]
movaps xmmword [ebp - 0xa40], xmm0
mov ecx, dword [ebp - 0x690]
movups xmm0, xmmword [ecx]
movaps xmmword [ebp - 0xa20], xmm0
movaps xmm0, xmmword [ebp - 0xa20]
pxor xmm0, xmmword [ebp - 0xa40]
movaps xmmword [ebp - 0xa50], xmm0
movaps xmm0, xmmword [ebp - 0xa50]
mov edx, dword [ebp - 0x690]
movups xmmword [edx], xmm0
mov eax, dword [ebp - 0x690]
add eax, 0x10
mov dword [ebp - 0x724], eax
movaps xmm0, xmmword [ebp - 0x450]
movaps xmmword [ebp - 0xa70], xmm0
mov ecx, dword [ebp - 0x724]
movups xmm0, xmmword [ecx]
movaps xmmword [ebp - 0xa60], xmm0
movaps xmm0, xmmword [ebp - 0xa60]
pxor xmm0, xmmword [ebp - 0xa70]
movaps xmmword [ebp - 0x900], xmm0
movaps xmm0, xmmword [ebp - 0x900]
mov edx, dword [ebp - 0x724]
movups xmmword [edx], xmm0
mov eax, dword [ebp - 0x690]
mov dword [ebp - 0x850], eax
lea ecx, [ebp - 0x664]
push ecx
mov edx, dword [ebp - 0x708]
push edx
push 0
mov eax, dword [ebp - 0x850]
push eax
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4044ed
mov dword [ebp - 0x4c8], 0x20019
mov dword [ebp - 0x4c4], 0x400
xor ecx, ecx
mov byte [ebp - 0x66f], cl
xor edx, edx
mov byte [ebp - 0x670], dl
xor eax, eax
mov byte [ebp - 0x671], al
mov cl, byte [ebp - 0x66f]
mov byte [ebp - 0x6ac], cl
mov dl, byte [ebp - 0x670]
mov byte [ebp - 0x6b0], dl
mov al, byte [ebp - 0x671]
mov byte [ebp - 0x6b4], al
mov dword [ebp - 0x7e0], 0x9f0e671c
mov dword [ebp - 0x7dc], 0x3922dc9e
mov ecx, dword [ebp - 0x7e0]
mov dword [ebp - 0x870], ecx
mov edx, dword [ebp - 0x7dc]
mov dword [ebp - 0x86c], edx
mov dword [ebp - 0x7e8], 0xae6206b3
mov dword [ebp - 0x7e4], 0x1bb3bb0e
mov eax, dword [ebp - 0x7e8]
mov dword [ebp - 0x868], eax
mov ecx, dword [ebp - 0x7e4]
mov dword [ebp - 0x864], ecx
lea edx, [ebp - 0x870]
mov dword [ebp - 0x70c], edx
mov eax, dword [ebp - 0x8d4]
mov dword [ebp - 0x728], eax
mov dword [ebp - 0x4b0], 0xf76d0651
mov dword [ebp - 0x4ac], 0x7e47b2f7
mov dword [ebp - 0x4a8], 0xae066fc6
mov dword [ebp - 0x4a4], 0x1bb3bb0e
xor ecx, ecx
mov byte [ebp - 0x672], cl
mov dl, byte [ebp - 0x672]
mov byte [ebp - 0x6b8], dl
movaps xmm0, xmmword [ebp - 0x4b0]
movaps xmmword [ebp - 0x920], xmm0
mov eax, dword [ebp - 0x70c]
movups xmm0, xmmword [eax]
movaps xmmword [ebp - 0x910], xmm0
movaps xmm0, xmmword [ebp - 0x910]
pxor xmm0, xmmword [ebp - 0x920]
movaps xmmword [ebp - 0x930], xmm0
movaps xmm0, xmmword [ebp - 0x930]
mov ecx, dword [ebp - 0x70c]
movups xmmword [ecx], xmm0
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x728], edx
mov eax, dword [ebp - 0x664]
mov dword [ebp - 0x84c], eax
lea ecx, [ebp - 0x4c4]
push ecx
lea edx, [ebp - 0x438]
push edx
lea eax, [ebp - 0x4c8]
push eax
push 0
mov ecx, dword [ebp - 0x728]
push ecx
mov edx, dword [ebp - 0x84c]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4044e0
lea eax, [ebp - 0x438]
mov dword [ebp - 0x688], eax
mov ecx, dword [ebp - 0x688]
add ecx, 1
mov dword [ebp - 0x848], ecx
mov edx, dword [ebp - 0x688]
mov al, byte [edx]
mov byte [ebp - 0x673], al
add dword [ebp - 0x688], 1
cmp byte [ebp - 0x673], 0
jne 0x40447f
mov ecx, dword [ebp - 0x688]
sub ecx, dword [ebp - 0x848]
mov dword [ebp - 0x844], ecx
mov edx, dword [ebp - 0x844]
mov dword [ebp - 0x840], edx
mov eax, dword [ebp - 0x840]
mov dword [ebp - 0x838], eax
mov ecx, dword [ebp - 0x838]
push ecx
lea edx, [ebp - 0x438]
push edx
lea ecx, [ebp - 0x4e0]
call fcn.00401c20
mov eax, dword [ebp - 0x664]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor ecx, ecx
mov byte [ebp - 0x674], cl
xor edx, edx
mov byte [ebp - 0x675], dl
xor eax, eax
mov byte [ebp - 0x676], al
mov cl, byte [ebp - 0x674]
mov byte [ebp - 0x6bc], cl
mov dl, byte [ebp - 0x675]
mov byte [ebp - 0x6c0], dl
mov al, byte [ebp - 0x676]
mov byte [ebp - 0x6c4], al
mov dword [ebp - 0x7f0], 0x99066804
mov dword [ebp - 0x7ec], 0x7e29c598
mov ecx, dword [ebp - 0x7f0]
mov dword [ebp - 0x880], ecx
mov edx, dword [ebp - 0x7ec]
mov dword [ebp - 0x87c], edx
mov dword [ebp - 0x7f8], 0xae066fc6
mov dword [ebp - 0x7f4], 0x1bb3bb0e
mov eax, dword [ebp - 0x7f8]
mov dword [ebp - 0x878], eax
mov ecx, dword [ebp - 0x7f4]
mov dword [ebp - 0x874], ecx
lea edx, [ebp - 0x880]
mov dword [ebp - 0x710], edx
mov dword [ebp - 0x470], 0xf76d0651
mov dword [ebp - 0x46c], 0x7e47b2f7
mov dword [ebp - 0x468], 0xae066fc6
mov dword [ebp - 0x464], 0x1bb3bb0e
xor eax, eax
mov byte [ebp - 0x677], al
mov cl, byte [ebp - 0x677]
mov byte [ebp - 0x6c8], cl
movaps xmm0, xmmword [ebp - 0x470]
movaps xmmword [ebp - 0x950], xmm0
mov edx, dword [ebp - 0x710]
movups xmm0, xmmword [edx]
movaps xmmword [ebp - 0x940], xmm0
movaps xmm0, xmmword [ebp - 0x940]
pxor xmm0, xmmword [ebp - 0x950]
movaps xmmword [ebp - 0x960], xmm0
movaps xmm0, xmmword [ebp - 0x960]
mov eax, dword [ebp - 0x710]
movups xmmword [eax], xmm0
mov ecx, dword [ebp - 0x710]
mov dword [ebp - 0x834], ecx
mov edx, dword [ebp - 0x834]
push edx
lea ecx, [ebp - 0x4f8]
call fcn.00401810
mov byte [ebp - 4], 1
push 0x7c
push 0
lea eax, [ebp - 0x590]
push eax
call fcn.0043ac10
add esp, 0xc
lea ecx, [ebp - 0x590]
push ecx
call dword [sym.imp.ADVAPI32.dll_GetCurrentHwProfileA]
test eax, eax
je 0x4046cf
lea edx, [ebp - 0x58c]
mov dword [ebp - 0x68c], edx
mov eax, dword [ebp - 0x68c]
add eax, 1
mov dword [ebp - 0x830], eax
mov ecx, dword [ebp - 0x68c]
mov dl, byte [ecx]
mov byte [ebp - 0x678], dl
add dword [ebp - 0x68c], 1
cmp byte [ebp - 0x678], 0
jne 0x40466e
mov eax, dword [ebp - 0x68c]
sub eax, dword [ebp - 0x830]
mov dword [ebp - 0x82c], eax
mov ecx, dword [ebp - 0x82c]
mov dword [ebp - 0x828], ecx
mov edx, dword [ebp - 0x828]
mov dword [ebp - 0x824], edx
mov eax, dword [ebp - 0x824]
push eax
lea ecx, [ebp - 0x58c]
push ecx
lea ecx, [ebp - 0x4f8]
call fcn.00401c20
xor edx, edx
mov byte [ebp - 0x679], dl
xor eax, eax
mov byte [ebp - 0x67a], al
xor ecx, ecx
mov byte [ebp - 0x67b], cl
xor edx, edx
mov byte [ebp - 0x67c], dl
xor eax, eax
mov byte [ebp - 0x67d], al
xor ecx, ecx
mov byte [ebp - 0x67e], cl
xor edx, edx
mov byte [ebp - 0x680], dl
xor eax, eax
mov byte [ebp - 0x681], al
xor ecx, ecx
mov byte [ebp - 0x682], cl
lea edx, [ebp - 0xa88]
push edx
call fcn.00403bd0
add esp, 4
mov dword [ebp - 0x83c], eax
mov eax, dword [ebp - 0x83c]
mov dword [ebp - 0x748], eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x748]
mov dword [ebp - 0x790], ecx
mov dl, byte [ebp - 0x679]
mov byte [ebp - 0x6cc], dl
mov al, byte [ebp - 0x67a]
mov byte [ebp - 0x6d0], al
mov cl, byte [ebp - 0x67b]
mov byte [ebp - 0x6e8], cl
mov dword [ebp - 0x800], 0xf76d060e
mov dword [ebp - 0x7fc], 0x7e47b2f7
mov edx, dword [ebp - 0x800]
mov dword [ebp - 0x890], edx
mov eax, dword [ebp - 0x7fc]
mov dword [ebp - 0x88c], eax
mov dword [ebp - 0x808], 0xae066fc6
mov dword [ebp - 0x804], 0x1bb3bb0e
mov ecx, dword [ebp - 0x808]
mov dword [ebp - 0x888], ecx
mov edx, dword [ebp - 0x804]
mov dword [ebp - 0x884], edx
lea eax, [ebp - 0x890]
mov dword [ebp - 0x714], eax
mov ecx, dword [ebp - 0x8e4]
mov dword [ebp - 0x730], ecx
mov dword [ebp - 0x4a0], 0xf76d0651
mov dword [ebp - 0x49c], 0x7e47b2f7
mov dword [ebp - 0x498], 0xae066fc6
mov dword [ebp - 0x494], 0x1bb3bb0e
xor edx, edx
mov byte [ebp - 0x684], dl
mov al, byte [ebp - 0x684]
mov byte [ebp - 0x6d4], al
movaps xmm0, xmmword [ebp - 0x4a0]
movaps xmmword [ebp - 0xa30], xmm0
mov ecx, dword [ebp - 0x714]
movups xmm0, xmmword [ecx]
movaps xmmword [ebp - 0x970], xmm0
movaps xmm0, xmmword [ebp - 0x970]
pxor xmm0, xmmword [ebp - 0xa30]
movaps xmmword [ebp - 0x980], xmm0
movaps xmm0, xmmword [ebp - 0x980]
mov edx, dword [ebp - 0x714]
movups xmmword [edx], xmm0
mov eax, dword [ebp - 0x714]
mov dword [ebp - 0x730], eax
lea ecx, [ebp - 0xb00]
push ecx
call fcn.00403b30
add esp, 4
mov dword [ebp - 0x74c], eax
mov edx, dword [ebp - 0x74c]
mov dword [ebp - 0x750], edx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x750]
mov dword [ebp - 0x774], eax
mov cl, byte [ebp - 0x67c]
mov byte [ebp - 0x6d8], cl
mov dl, byte [ebp - 0x67d]
mov byte [ebp - 0x6dc], dl
mov al, byte [ebp - 0x67e]
mov byte [ebp - 0x6e0], al
mov dword [ebp - 0x810], 0xf76d060e
mov dword [ebp - 0x80c], 0x7e47b2f7
mov ecx, dword [ebp - 0x810]
mov dword [ebp - 0x8b0], ecx
mov edx, dword [ebp - 0x80c]
mov dword [ebp - 0x8ac], edx
mov dword [ebp - 0x818], 0xae066fc6
mov dword [ebp - 0x814], 0x1bb3bb0e
mov eax, dword [ebp - 0x818]
mov dword [ebp - 0x8a8], eax
mov ecx, dword [ebp - 0x814]
mov dword [ebp - 0x8a4], ecx
lea edx, [ebp - 0x8b0]
mov dword [ebp - 0x718], edx
mov eax, dword [ebp - 0x8d8]
mov dword [ebp - 0x72c], eax
mov dword [ebp - 0x490], 0xf76d0651
mov dword [ebp - 0x48c], 0x7e47b2f7
mov dword [ebp - 0x488], 0xae066fc6
mov dword [ebp - 0x484], 0x1bb3bb0e
xor ecx, ecx
mov byte [ebp - 0x67f], cl
mov dl, byte [ebp - 0x67f]
mov byte [ebp - 0x6e4], dl
movaps xmm0, xmmword [ebp - 0x490]
movaps xmmword [ebp - 0x9a0], xmm0
mov eax, dword [ebp - 0x718]
movups xmm0, xmmword [eax]
movaps xmmword [ebp - 0x990], xmm0
movaps xmm0, xmmword [ebp - 0x990]
pxor xmm0, xmmword [ebp - 0x9a0]
movaps xmmword [ebp - 0x9b0], xmm0
movaps xmm0, xmmword [ebp - 0x9b0]
mov ecx, dword [ebp - 0x718]
movups xmmword [ecx], xmm0
mov edx, dword [ebp - 0x718]
mov dword [ebp - 0x72c], edx
mov al, byte [ebp - 0x680]
mov byte [ebp - 0x700], al
mov cl, byte [ebp - 0x681]
mov byte [ebp - 0x6ec], cl
mov dl, byte [ebp - 0x682]
mov byte [ebp - 0x6f0], dl
mov dword [ebp - 0x7a8], 0xf76d060e
mov dword [ebp - 0x7a4], 0x7e47b2f7
mov eax, dword [ebp - 0x7a8]
mov dword [ebp - 0x860], eax
mov ecx, dword [ebp - 0x7a4]
mov dword [ebp - 0x85c], ecx
mov dword [ebp - 0x820], 0xae066fc6
mov dword [ebp - 0x81c], 0x1bb3bb0e
mov edx, dword [ebp - 0x820]
mov dword [ebp - 0x858], edx
mov eax, dword [ebp - 0x81c]
mov dword [ebp - 0x854], eax
lea ecx, [ebp - 0x860]
mov dword [ebp - 0x71c], ecx
mov dword [ebp - 0x480], 0xf76d0651
mov dword [ebp - 0x47c], 0x7e47b2f7
mov dword [ebp - 0x478], 0xae066fc6
mov dword [ebp - 0x474], 0x1bb3bb0e
xor edx, edx
mov byte [ebp - 0x683], dl
mov al, byte [ebp - 0x683]
mov byte [ebp - 0x6f4], al
movaps xmm0, xmmword [ebp - 0x480]
movaps xmmword [ebp - 0x9d0], xmm0
mov ecx, dword [ebp - 0x71c]
movups xmm0, xmmword [ecx]
movaps xmmword [ebp - 0x9c0], xmm0
movaps xmm0, xmmword [ebp - 0x9c0]
pxor xmm0, xmmword [ebp - 0x9d0]
movaps xmmword [ebp - 0x9e0], xmm0
movaps xmm0, xmmword [ebp - 0x9e0]
mov edx, dword [ebp - 0x71c]
movups xmmword [edx], xmm0
mov eax, dword [ebp - 0x71c]
mov dword [ebp - 0x754], eax
mov ecx, dword [ebp - 0x754]
push ecx
lea edx, [ebp - 0x4e0]
push edx
lea eax, [ebp - 0xae8]
push eax
call fcn.00417220
add esp, 0xc
mov dword [ebp - 0x758], eax
mov ecx, dword [ebp - 0x758]
mov dword [ebp - 0x75c], ecx
mov byte [ebp - 4], 4
lea edx, [ebp - 0x4f8]
push edx
mov eax, dword [ebp - 0x75c]
push eax
lea ecx, [ebp - 0xad0]
push ecx
call fcn.00417400
add esp, 0xc
mov dword [ebp - 0x760], eax
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x764], edx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x764]
mov dword [ebp - 0x768], eax
mov ecx, dword [ebp - 0x72c]
push ecx
mov edx, dword [ebp - 0x768]
push edx
lea eax, [ebp - 0xb18]
push eax
call fcn.00417340
add esp, 0xc
mov dword [ebp - 0x76c], eax
mov ecx, dword [ebp - 0x76c]
mov dword [ebp - 0x770], ecx
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x778], edx
mov eax, dword [ebp - 0x774]
push eax
mov ecx, dword [ebp - 0x778]
push ecx
lea edx, [ebp - 0xaa0]
push edx
call fcn.00417440
add esp, 0xc
mov dword [ebp - 0x77c], eax
mov eax, dword [ebp - 0x77c]
mov dword [ebp - 0x780], eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x780]
mov dword [ebp - 0x784], ecx
mov edx, dword [ebp - 0x730]
push edx
mov eax, dword [ebp - 0x784]
push eax
lea ecx, [ebp - 0xab8]
push ecx
call fcn.00417340
add esp, 0xc
mov dword [ebp - 0x788], eax
mov edx, dword [ebp - 0x788]
mov dword [ebp - 0x78c], edx
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x78c]
mov dword [ebp - 0x794], eax
mov ecx, dword [ebp - 0x790]
push ecx
mov edx, dword [ebp - 0x794]
push edx
lea eax, [ebp - 0x510]
push eax
call fcn.00417440
add esp, 0xc
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xab8]
call fcn.00401a20
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xaa0]
call fcn.00401a20
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xb18]
call fcn.00401a20
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xad0]
call fcn.00401a20
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xae8]
call fcn.00401a20
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xb00]
call fcn.00401a20
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xa88]
call fcn.00401a20
xor ecx, ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ecx
mov byte [ebp - 0x18], cl
lea ecx, [ebp - 0x660]
call fcn.00434f20
mov edx, dword [ebp - 0x8dc]
mov dword [ebp - 0x73c], edx
mov eax, dword [ebp - 0x500]
mov dword [ebp - 0x73c], eax
mov ecx, dword [ebp - 0x8e0]
mov dword [ebp - 0x740], ecx
lea edx, [ebp - 0x510]
mov dword [ebp - 0x720], edx
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x738], eax
mov ecx, dword [ebp - 0x720]
cmp dword [ecx + 0x14], 0x10
jb 0x404cfe
mov dword [ebp - 0x734], 1
jmp 0x404d08
mov dword [ebp - 0x734], 0
movzx edx, byte [ebp - 0x734]
test edx, edx
je 0x404d2d
mov eax, dword [ebp - 0x720]
mov ecx, dword [eax]
mov dword [ebp - 0x798], ecx
mov edx, dword [ebp - 0x798]
mov dword [ebp - 0x738], edx
mov eax, dword [ebp - 0x738]
mov dword [ebp - 0x740], eax
mov ecx, dword [ebp - 0x73c]
push ecx
mov edx, dword [ebp - 0x740]
push edx
lea ecx, [ebp - 0x660]
call fcn.00434f40
push 0
lea ecx, [ebp - 0x660]
call fcn.00435070
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x660]
call fcn.00435290
lea ecx, [ebp - 0x38]
push ecx
mov ecx, dword [ebx + 8]
call fcn.00401810
mov edx, dword [ebp - 0x744]
or edx, 1
mov dword [ebp - 0x744], edx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x510]
call fcn.00401a20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4f8]
call fcn.00401a20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4e0]
call fcn.00401a20
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00439348
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret