Function at 0x413190
Capabilities:
Get common file path
Query or enumerate registry value

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 0x5940c7
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xdb0
mov eax, dword [0x5de00c]
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, dword [0x5e457c]
mov esi, dword [0x5e46dc]
push str.debug
push esi
mov dword [edi], esi
call fcn.005317f0
push 0xffffffffffffffff
push esi
call fcn.00532a90
add esp, 0x10
test eax, eax
je 0x41321a
push str.traceback
push 0xffffffffffffffff
push esi
call fcn.005317c0
add esp, 0xc
push 0xffffffffffffffff
push esi
call fcn.00532860
add esp, 8
mov dword [edi + 0x3ec], eax
cmp dword [edi + 0x3f0], 0
jne 0x41327d
push 0x34
call fcn.0052d778
add esp, 4
mov dword [ebp - 0xdbc], eax
mov dword [ebp - 4], 0
mov ecx, 0x5e4710
cmp dword [0x5e4724], 8
cmovae ecx, dword [0x5e4710]
push ecx
mov ecx, eax
call fcn.004dd2e0
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 0x3f0], eax
cmp dword [eax], 0
jne 0x41327d
test eax, eax
je 0x41327d
push ecx
mov ecx, eax
call fcn.004a50c0
mov dword [edi + 0x3f0], 0
push 0x412ac0
push 0x412a90
push 0x14
push 0x18
lea eax, [ebp - 0x7a0]
push eax
call fcn.0052d8d8
mov dword [ebp - 0x5c0], 0
push 0x412ac0
push 0x412a90
push 0x14
push 0x18
lea eax, [ebp - 0x5b8]
mov dword [ebp - 4], 1
push eax
call fcn.0052d8d8
mov dword [ebp - 0x3d8], 0
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x5c0]
lea esi, [eax + eax*2]
cmp dword [ebp + esi*8 - 0x7a0], 4
jne 0x413302
mov eax, dword [ebp + esi*8 - 0x790]
test eax, eax
je 0x4132f7
push eax
call fcn.0052d7a8
add esp, 4
mov dword [ebp + esi*8 - 0x790], 0
mov dword [ebp + esi*8 - 0x7a0], 0
lea ecx, [ebp - 0x5b8]
inc dword [ebp - 0x5c0]
mov eax, 0x5e4710
cmp dword [0x5e4724], 8
cmovae eax, dword [0x5e4710]
sub esp, 8
push ecx
push ecx
mov ecx, dword [0x5e457c]
push 0
push 0x5bd574
push eax
call fcn.004a5690
test al, al
je 0x413f27
xorps xmm0, xmm0
mov dword [ebp - 0x35c], 7
movups xmmword [ebp - 0x370], xmm0
push 0x412ac0
push 0x412a90
xor eax, eax
mov byte [ebp - 4], 3
push 0x14
mov word [ebp - 0x370], ax
xor edi, edi
push 0x18
lea eax, [ebp - 0x990]
mov dword [ebp - 0x360], edi
push eax
call fcn.0052d8d8
mov dword [ebp - 0x7b0], edi
push 0x412ac0
push 0x412a90
push 0x14
push 0x18
lea eax, [ebp - 0x208]
mov byte [ebp - 4], 4
push eax
call fcn.0052d8d8
mov dword [ebp - 0x28], edi
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x7b0]
lea esi, [eax + eax*2]
cmp dword [ebp + esi*8 - 0x990], 4
jne 0x4133ec
mov eax, dword [ebp + esi*8 - 0x980]
test eax, eax
je 0x4133e1
push eax
call fcn.0052d7a8
add esp, 4
mov dword [ebp + esi*8 - 0x980], 0
mov ecx, dword [0x5e457c]
lea eax, [ebp - 0x990]
push eax
push 1
lea eax, [ebp - 0x208]
mov dword [ebp + esi*8 - 0x990], 0
inc dword [ebp - 0x7b0]
push eax
push str.getEnglishTitle
call fcn.004a5510
test al, al
je 0x41344e
cmp dword [ebp - 0x28], 0
jg 0x41342b
xor ecx, ecx
jmp 0x41343d
mov ecx, dword [ebp - 0x1f8]
xor eax, eax
cmp dword [ebp - 0x208], 4
cmovne ecx, eax
lea edx, [ebp - 0x370]
call fcn.004cbd00
mov edi, dword [ebp - 0x360]
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 6
call fcn.004a4c70
push 0x412ac0
push 0x14
push 0x18
lea eax, [ebp - 0x208]
push eax
call fcn.0052d3e1
lea ecx, [ebp - 0x990]
mov byte [ebp - 4], 7
call fcn.004a4c70
push 0x412ac0
push 0x14
push 0x18
lea eax, [ebp - 0x990]
push eax
call fcn.0052d3e1
test edi, edi
mov byte [ebp - 4], 3
push 0x100
sete byte [ebp - 0xda9]
xor eax, eax
test edi, edi
push 0
setne al
mov dword [0x5e4578], eax
lea eax, [ebp - 0x328]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x328]
push 0x100
push eax
push 0x76
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
je 0x413528
mov ecx, 0x5bd570
lea eax, [ebp - 0x328]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x413517
test dx, dx
je 0x413513
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x413517
add eax, 4
add ecx, 4
test dx, dx
jne 0x4134f1
xor ecx, ecx
jmp 0x41351c
sbb ecx, ecx
or ecx, 1
xor eax, eax
test ecx, ecx
sete al
mov dword [0x5e45c8], eax
mov ecx, dword [0x5e457c]
lea eax, [ebp - 0x7a0]
push eax
push 0xc
lea eax, [ebp - 0x5b8]
push eax
push str.getAppInfo
call fcn.004a5510
test al, al
je 0x413edd
mov ecx, dword [ebp - 0x3d8]
xorps xmm0, xmm0
test ecx, ecx
jg 0x413562
xorps xmm1, xmm1
jmp 0x413578
cmp dword [ebp - 0x5b8], 3
je 0x413570
xorps xmm1, xmm1
jmp 0x413578
movsd xmm1, qword [ebp - 0x5a8]
cvttsd2si eax, xmm1
mov dword [0x5e45d4], eax
cmp ecx, 1
jg 0x41358b
xorps xmm1, xmm1
jmp 0x4135a1
cmp dword [ebp - 0x5a0], 3
je 0x413599
xorps xmm1, xmm1
jmp 0x4135a1
movsd xmm1, qword [ebp - 0x590]
cvttsd2si eax, xmm1
mov dword [0x5de0d4], eax
cmp ecx, 2
jg 0x4135b4
xorps xmm1, xmm1
jmp 0x4135ca
cmp dword [ebp - 0x588], 3
je 0x4135c2
xorps xmm1, xmm1
jmp 0x4135ca
movsd xmm1, qword [ebp - 0x578]
cvttsd2si eax, xmm1
mov dword [0x5de0d0], eax
cmp ecx, 3
jg 0x4135dc
xor edi, edi
jmp 0x4135ee
mov edi, dword [ebp - 0x560]
xor eax, eax
cmp dword [ebp - 0x570], 4
cmovne edi, eax
cmp ecx, 4
jg 0x4135ff
mov dword [ebp - 0xdb8], 0
jmp 0x413617
mov eax, dword [ebp - 0x548]
xor edx, edx
cmp dword [ebp - 0x558], 4
cmovne eax, edx
mov dword [ebp - 0xdb8], eax
cmp ecx, 5
jg 0x413628
mov dword [ebp - 0xdb0], 0
jmp 0x413640
mov eax, dword [ebp - 0x530]
xor edx, edx
cmp dword [ebp - 0x540], 4
cmovne eax, edx
mov dword [ebp - 0xdb0], eax
cmp ecx, 6
jg 0x413651
mov dword [ebp - 0xdbc], 0
jmp 0x413669
mov eax, dword [ebp - 0x518]
xor edx, edx
cmp dword [ebp - 0x528], 4
cmovne eax, edx
mov dword [ebp - 0xdbc], eax
cmp ecx, 7
jg 0x413673
xorps xmm1, xmm1
jmp 0x413689
cmp dword [ebp - 0x510], 3
je 0x413681
xorps xmm1, xmm1
jmp 0x413689
movsd xmm1, qword [ebp - 0x500]
cvttsd2si eax, xmm1
mov dword [0x5e4584], eax
cmp ecx, 8
jg 0x41369c
xorps xmm1, xmm1
jmp 0x4136b2
cmp dword [ebp - 0x4f8], 3
je 0x4136aa
xorps xmm1, xmm1
jmp 0x4136b2
movsd xmm1, qword [ebp - 0x4e8]
cvttsd2si eax, xmm1
mov dword [0x5e45a8], eax
cmp ecx, 9
jle 0x4136d1
cmp dword [ebp - 0x4e0], 3
jne 0x4136d1
movsd xmm0, qword [ebp - 0x4d0]
cvtpd2ps xmm0, xmm0
movss dword [0x5de0c8], xmm0
cmp ecx, 0xa
jg 0x4136e6
xor eax, eax
jmp 0x4136f8
mov eax, dword [ebp - 0x4b8]
xor edx, edx
cmp dword [ebp - 0x4c8], 4
cmovne eax, edx
cmp ecx, 0xb
jg 0x413701
xor esi, esi
jmp 0x413713
mov esi, dword [ebp - 0x4a0]
xor ecx, ecx
cmp dword [ebp - 0x4b0], 4
cmovne esi, ecx
mov edx, 0x5e46e0
mov ecx, eax
call fcn.004cbd00
mov edx, 0x5e4748
mov ecx, edi
call fcn.004cbd00
mov ecx, dword [ebp - 0xdb8]
mov edx, 0x5e4760
call fcn.004cbd00
mov ecx, dword [ebp - 0xdb0]
mov edx, 0x5e4730
call fcn.004cbd00
xorps xmm0, xmm0
mov dword [ebp - 0x32c], 7
xor edi, edi
xor eax, eax
movups xmmword [ebp - 0x340], xmm0
mov dword [ebp - 0x330], edi
mov word [ebp - 0x340], ax
lea eax, [ebp - 0x228]
mov byte [ebp - 4], 8
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
lea ecx, [ebp - 0x228]
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x413790
sub ecx, edx
lea eax, [ebp - 0x228]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x340]
call fcn.004039f0
push 0x20
xorps xmm0, xmm0
mov dword [ebp - 0x378], 0
push str.WillPlusAdvHDLanguageSettings
lea ecx, [ebp - 0x388]
mov dword [ebp - 0x374], 0
movups xmmword [ebp - 0x388], xmm0
call fcn.00403d10
lea eax, [ebp - 0x388]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0xdb4]
call fcn.004e9f00
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x374]
cmp ecx, 8
jb 0x41383c
mov edx, dword [ebp - 0x388]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x413832
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413ad1
push ecx
push edx
call fcn.0052d747
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x348], 0
xor eax, eax
mov dword [ebp - 0x344], 7
movups xmmword [ebp - 0x358], xmm0
mov word [ebp - 0x358], ax
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0xdb4]
test eax, eax
je 0x4138e4
cmp dword [ebp - 0x32c], 8
lea edx, [ebp - 0xdb0]
push edx
push 0
lea edx, [ebp - 0xdb8]
mov dword [ebp - 0xdb0], 0
push edx
lea ecx, [ebp - 0x340]
cmovae ecx, dword [ebp - 0x340]
push 0
push ecx
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x4138e4
lea eax, [ebp - 0x358]
push eax
lea eax, [ebp - 0x340]
push eax
lea ecx, [ebp - 0xdb4]
call fcn.004ea0c0
test eax, eax
je 0x4138e4
push str.zh_CN
lea ecx, [ebp - 0x358]
call fcn.0040b1a0
test eax, eax
mov ecx, 1
cmove edi, ecx
cmp byte [ebp - 0xda9], 0
mov ecx, 0x5e46c0
jne 0x4138fe
test edi, edi
je 0x4138fe
lea eax, [ebp - 0x370]
jmp 0x413907
mov eax, 0x5e4730
cmp ecx, eax
je 0x413919
cmp dword [eax + 0x14], 8
mov edx, dword [eax + 0x10]
jb 0x413912
mov eax, dword [eax]
push edx
push eax
call fcn.004039f0
mov ecx, dword [ebp - 0xdbc]
mov edx, 0x5def78
call fcn.004cbd00
push 0x5aaa60
mov edx, 0x5e46e0
lea ecx, [ebp - 0x3d0]
call fcn.00403cb0
add esp, 4
push 0x5e4760
mov edx, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x3b8]
call fcn.0040b540
add esp, 4
push 0x5aaa60
mov edx, eax
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x3a0]
call fcn.00408550
add esp, 4
push 0x5e4730
mov edx, eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x388]
call fcn.0040b540
mov edi, eax
add esp, 4
cmp edi, 0x5defb0
je 0x4139ca
mov ecx, 0x5defb0
call fcn.00403990
movups xmm0, xmmword [edi]
xor eax, eax
movups xmmword [0x5defb0], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [0x5defc0], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 7
mov word [edi], ax
lea ecx, [ebp - 0x388]
call fcn.00403990
lea ecx, [ebp - 0x3a0]
call fcn.00403990
lea ecx, [ebp - 0x3b8]
call fcn.00403990
lea ecx, [ebp - 0x3d0]
call fcn.00403990
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x413a00
sub ecx, edx
cmp ecx, 4
jne 0x413a32
movzx ecx, byte [esi + 3]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi]
shl ecx, 8
or ecx, eax
mov dword [0x5e45b4], ecx
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x344]
cmp ecx, 8
jb 0x413a72
mov edx, dword [ebp - 0x358]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x413a68
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413ad1
push ecx
push edx
call fcn.0052d747
add esp, 8
push dword [ebp - 0xdb4]
xor eax, eax
mov dword [ebp - 0x348], 0
mov dword [ebp - 0x344], 7
mov word [ebp - 0x358], ax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x32c]
cmp ecx, 8
jb 0x413ae1
mov edx, dword [ebp - 0x340]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x413ad7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x413ad7
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0052d747
add esp, 8
lea ecx, [ebp - 0x5b8]
call fcn.004a4c70
mov ecx, dword [0x5e457c]
lea eax, [ebp - 0x7a0]
push eax
push 8
lea eax, [ebp - 0x5b8]
push eax
push str.getSaveInfo
call fcn.004a5510
test al, al
je 0x413edd
mov ecx, dword [ebp - 0x3d8]
test ecx, ecx
jg 0x413b23
xorps xmm1, xmm1
jmp 0x413b39
cmp dword [ebp - 0x5b8], 3
je 0x413b31
xorps xmm1, xmm1
jmp 0x413b39
movsd xmm1, qword [ebp - 0x5a8]
xorps xmm0, xmm0
cvttsd2si eax, xmm1
mov dword [0x5e4580], eax
cmp ecx, 1
jg 0x413b4f
xorps xmm1, xmm1
jmp 0x413b65
cmp dword [ebp - 0x5a0], 3
je 0x413b5d
xorps xmm1, xmm1
jmp 0x413b65
movsd xmm1, qword [ebp - 0x590]
cvttsd2si eax, xmm1
mov dword [0x5e458c], eax
cmp ecx, 3
jg 0x413b78
xorps xmm1, xmm1
jmp 0x413b8e
cmp dword [ebp - 0x570], 3
je 0x413b86
xorps xmm1, xmm1
jmp 0x413b8e
movsd xmm1, qword [ebp - 0x560]
cvttsd2si eax, xmm1
mov dword [0x5e45b0], eax
cmp ecx, 4
jg 0x413ba1
xorps xmm1, xmm1
jmp 0x413bb7
cmp dword [ebp - 0x558], 3
je 0x413baf
xorps xmm1, xmm1
jmp 0x413bb7
movsd xmm1, qword [ebp - 0x548]
cvttsd2si eax, xmm1
mov dword [0x5e45a0], eax
cmp ecx, 5
jg 0x413bca
xorps xmm1, xmm1
jmp 0x413be0
cmp dword [ebp - 0x540], 3
je 0x413bd8
xorps xmm1, xmm1
jmp 0x413be0
movsd xmm1, qword [ebp - 0x530]
cvttsd2si eax, xmm1
mov dword [0x5e4590], eax
cmp ecx, 6
jle 0x413bff
cmp dword [ebp - 0x528], 3
jne 0x413bff
movsd xmm0, qword [ebp - 0x518]
cvttsd2si eax, xmm0
mov dword [0x5e4594], eax
cmp ecx, 7
jg 0x413c11
xor cl, cl
jmp 0x413c24
movzx ecx, byte [ebp - 0x500]
xor eax, eax
cmp dword [ebp - 0x510], 1
cmovne ecx, eax
xor eax, eax
cmp cl, 1
lea ecx, [ebp - 0x5b8]
sete al
mov dword [0x5e4598], eax
call fcn.004a4c70
mov ecx, dword [0x5e457c]
lea eax, [ebp - 0x7a0]
push eax
push 4
lea eax, [ebp - 0x5b8]
push eax
push str.getHostInfo
call fcn.004a5510
test al, al
je 0x413edd
mov eax, dword [ebp - 0x3d8]
test eax, eax
jg 0x413c72
xor ecx, ecx
jmp 0x413c84
mov ecx, dword [ebp - 0x5a8]
xor edx, edx
cmp dword [ebp - 0x5b8], 4
cmovne ecx, edx
cmp eax, 1
jg 0x413c8d
xor esi, esi
jmp 0x413c9f
mov esi, dword [ebp - 0x590]
xor edx, edx
cmp dword [ebp - 0x5a0], 4
cmovne esi, edx
cmp eax, 2
jg 0x413ca8
xor edi, edi
jmp 0x413cba
mov edi, dword [ebp - 0x578]
xor edx, edx
cmp dword [ebp - 0x588], 4
cmovne edi, edx
cmp eax, 3
jg 0x413cc4
xorps xmm0, xmm0
jmp 0x413cda
cmp dword [ebp - 0x570], 3
je 0x413cd2
xorps xmm0, xmm0
jmp 0x413cda
movsd xmm0, qword [ebp - 0x560]
cvttsd2si eax, xmm0
mov edx, 0x5def90
mov byte [0x5e45bc], al
call fcn.004cbb60
mov edx, 0x5def40
mov ecx, esi
call fcn.004cbb60
xorps xmm0, xmm0
mov dword [ebp - 0x330], 0
xor eax, eax
mov dword [ebp - 0x32c], 7
movups xmmword [ebp - 0x340], xmm0
mov word [ebp - 0x340], ax
lea edx, [ebp - 0x340]
mov byte [ebp - 4], 0x10
mov ecx, edi
call fcn.004cbb60
push 0x104
lea eax, [ebp - 0x228]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0xda8]
call fcn.004e9ec0
lea eax, [ebp - 0xba2]
push eax
lea ecx, [ebp - 0x358]
call fcn.00403760
mov byte [ebp - 4], 0x11
lea esi, [ebp - 0x340]
cmp dword [ebp - 0x32c], 8
lea edx, [ebp - 0x358]
push str._1.0__guid
cmovae esi, dword [ebp - 0x340]
lea ecx, [ebp - 0x3a0]
call fcn.00403cb0
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x3b8]
call fcn.00408550
add esp, 4
push 0x5bd5f8
mov edx, eax
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x3d0]
call fcn.00408550
add esp, 4
lea ecx, [ebp - 0x358]
push eax
call fcn.00403720
lea ecx, [ebp - 0x3d0]
call fcn.00403990
lea ecx, [ebp - 0x3b8]
call fcn.00403990
lea ecx, [ebp - 0x3a0]
mov byte [ebp - 4], 0x11
call fcn.00403990
cmp dword [ebp - 0x344], 8
lea eax, [ebp - 0x358]
push dword [ebp - 0x348]
cmovae eax, dword [ebp - 0x358]
mov ecx, 0x5defd0
push eax
call fcn.004039f0
lea ecx, [ebp - 0x358]
call fcn.00403990
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x32c]
cmp ecx, 8
jb 0x413e6f
mov edx, dword [ebp - 0x340]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x413e65
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x413e65
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0052d747
add esp, 8
lea ecx, [ebp - 0x5b8]
call fcn.004a4c70
mov ecx, dword [0x5e457c]
lea eax, [ebp - 0x7a0]
push eax
push 1
lea eax, [ebp - 0x5b8]
push eax
push str.setLanguagePack
call fcn.004a5510
test al, al
je 0x413ed6
cmp dword [ebp - 0x3d8], 0
jg 0x413eba
xor ecx, ecx
mov edx, 0x5e46f8
call fcn.004cbb60
mov esi, 1
jmp 0x413edf
mov ecx, dword [ebp - 0x5a8]
xor eax, eax
cmp dword [ebp - 0x5b8], 4
mov edx, 0x5e46f8
cmovne ecx, eax
call fcn.004cbb60
mov esi, 1
jmp 0x413edf
xor esi, esi
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x35c]
cmp ecx, 8
jb 0x413f29
mov edx, dword [ebp - 0x370]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x413f1b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x413f1b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0052d747
add esp, 8
jmp 0x413f29
xor esi, esi
lea ecx, [ebp - 0x5b8]
mov byte [ebp - 4], 0x14
call fcn.004a4c70
push 0x412ac0
push 0x14
push 0x18
lea eax, [ebp - 0x5b8]
push eax
call fcn.0052d3e1
lea ecx, [ebp - 0x7a0]
mov dword [ebp - 4], 0x15
call fcn.004a4c70
push 0x412ac0
push 0x14
push 0x18
lea eax, [ebp - 0x7a0]
push eax
call fcn.0052d3e1
mov eax, esi
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.0052d3c5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4