Function at 0x417a00
Capabilities:
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

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
sub esp, 0x328
mov eax, dword [0x421008]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov cl, 0x5d
mov dword [ebp - 0x31c], 0x104
mov al, 0x6c
mov byte [ebp - 0x30c], cl
xor al, cl
mov byte [ebp - 0x30a], 0
push edi
sub esp, 0x18
mov byte [ebp - 0x30b], al
mov edx, esp
mov byte [ebp - 0x30a], 0
lea ecx, [ebp - 0x30b]
lea esi, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417a74
sub ecx, esi
lea eax, [ebp - 0x30b]
push ecx
push eax
mov ecx, edx
call fcn.0040c170
lea ecx, [ebp - 0x268]
call fcn.00412360
mov edi, eax
add esp, 0x18
cmp dword [edi + 0x14], 8
jb 0x417aa4
mov edi, dword [edi]
mov cl, 0x45
mov byte [ebp - 0x30a], 0
mov al, 0x19
mov byte [ebp - 0x30c], cl
xor al, cl
mov byte [ebp - 0x30a], 0
sub esp, 0x18
mov byte [ebp - 0x30b], al
mov edx, esp
lea ecx, [ebp - 0x30b]
lea esi, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417ae6
sub ecx, esi
lea eax, [ebp - 0x30b]
push ecx
push eax
mov ecx, edx
call fcn.0040c170
lea ecx, [ebp - 0x2f0]
call fcn.00412360
mov esi, eax
add esp, 0x18
cmp dword [esi + 0x14], 8
jb 0x417b16
mov esi, dword [esi]
mov byte [ebp - 0x21c], 0x56
mov al, 5
xor al, byte [ebp - 0x21c]
mov cl, 0x39
xor cl, byte [ebp - 0x21c]
mov dl, 0x30
mov byte [ebp - 0x21b], al
mov ah, 0x22
mov byte [ebp - 0x21a], cl
mov ch, 0x21
mov cl, byte [ebp - 0x21c]
mov dh, 0x37
mov byte [ebp - 0x311], 0x24
xor dl, cl
mov al, byte [ebp - 0x311]
xor ah, cl
xor al, cl
mov byte [ebp - 0x312], 0x33
mov byte [ebp - 0x215], al
xor dh, cl
mov al, byte [ebp - 0x312]
xor ch, cl
xor al, cl
mov byte [ebp - 0x313], 0xa
mov byte [ebp - 0x214], al
mov al, byte [ebp - 0x313]
xor al, cl
mov byte [ebp - 0x219], dl
sub esp, 0x18
mov byte [ebp - 0x216], dh
mov edx, esp
mov byte [ebp - 0x217], ch
lea ecx, [ebp - 0x21b]
mov byte [ebp - 0x218], ah
mov byte [ebp - 0x213], al
lea eax, [ecx + 1]
mov byte [ebp - 0x212], 0
mov byte [ebp - 0x212], 0
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov dword [ebp - 0x30c], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417be0
sub ecx, dword [ebp - 0x30c]
lea eax, [ebp - 0x21b]
push ecx
push eax
mov ecx, edx
call fcn.0040c170
lea ecx, [ebp - 0x308]
call fcn.00412360
mov edx, eax
add esp, 0x18
cmp dword [edx + 0x14], 8
jb 0x417c14
mov edx, dword [edx]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x30c], eax
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x417c20
sub ecx, dword [ebp - 0x30c]
mov eax, 0x7ffffffe
sub eax, dword [0x4210bc]
sar ecx, 1
cmp eax, ecx
jb 0x418cb2
push dword [0x4210bc]
cmp dword [0x4210c0], 8
mov eax, 0x4210ac
cmovae eax, dword [0x4210ac]
push eax
push ecx
push edx
push ecx
push dword [ebp - 0x310]
lea ecx, [ebp - 0x238]
call fcn.0040d1c0
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x417c80
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x238]
call fcn.0040c450
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2d0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x2c0], xmm0
mov word [eax], cx
lea ecx, [ebp - 0x2d0]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov eax, 0x4210ac
cmp dword [0x4210c0], 8
push dword [0x4210bc]
cmovae eax, dword [0x4210ac]
push eax
call fcn.0040c450
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2b0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x2a0], xmm0
mov word [eax], cx
mov ecx, edi
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x417d20
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x2b0]
call fcn.0040c450
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x290], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x280], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov edx, dword [ebp - 0x29c]
cmp edx, 8
jb 0x417da6
mov ecx, dword [ebp - 0x2b0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x417d9c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x417f65
push edx
push ecx
call fcn.00418fbe
add esp, 8
mov edx, dword [ebp - 0x2bc]
xor eax, eax
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x29c], 7
mov word [ebp - 0x2b0], ax
cmp edx, 8
jb 0x417e03
mov ecx, dword [ebp - 0x2d0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x417df9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x417f65
push edx
push ecx
call fcn.00418fbe
add esp, 8
mov edx, dword [ebp - 0x224]
xor eax, eax
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2bc], 7
mov word [ebp - 0x2d0], ax
cmp edx, 8
jb 0x417e60
mov ecx, dword [ebp - 0x238]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x417e56
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x417f65
push edx
push ecx
call fcn.00418fbe
add esp, 8
mov edx, dword [ebp - 0x2f4]
xor eax, eax
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x224], 7
mov word [ebp - 0x238], ax
cmp edx, 8
jb 0x417ebd
mov ecx, dword [ebp - 0x308]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x417eb3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x417f65
push edx
push ecx
call fcn.00418fbe
add esp, 8
mov edx, dword [ebp - 0x2dc]
xor eax, eax
mov dword [ebp - 0x2f8], 0
mov dword [ebp - 0x2f4], 7
mov word [ebp - 0x308], ax
cmp edx, 8
jb 0x417f16
mov ecx, dword [ebp - 0x2f0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x417f0c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x417f65
push edx
push ecx
call fcn.00418fbe
add esp, 8
mov edx, dword [ebp - 0x254]
xor eax, eax
mov dword [ebp - 0x2e0], 0
mov dword [ebp - 0x2dc], 7
mov word [ebp - 0x2f0], ax
cmp edx, 8
jb 0x417f75
mov ecx, dword [ebp - 0x268]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x417f6b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x417f6b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.00418fbe
add esp, 8
mov edx, dword [0x421828]
xor eax, eax
mov word [ebp - 0x268], ax
xor edi, edi
cmp dword [ebp - 0x27c], 8
mov dword [ebp - 0x250], eax
lea eax, [ebp - 0x290]
cmovae eax, dword [ebp - 0x290]
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], 7
mov dword [ebp - 0x310], eax
mov eax, dword [edx + 0x3c]
mov dword [ebp - 0x240], edi
mov dword [ebp - 0x23c], 0xf
mov eax, dword [eax + edx + 0x78]
add eax, edx
mov dword [ebp - 0x30c], eax
mov esi, dword [eax + 0x20]
add esi, edx
nop
mov ecx, dword [esi]
add ecx, edx
mov edx, 0xe48c66e5
mov al, byte [ecx]
inc ecx
test al, al
je 0x41800d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x417ff0
cmp edx, 0x6a499226
je 0x418019
mov edx, dword [0x421828]
inc edi
add esi, 4
jmp 0x417fe0
mov esi, dword [ebp - 0x30c]
mov edx, dword [0x421828]
mov eax, dword [esi + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
lea ecx, [ebp - 0x318]
push ecx
push 0x101
push 0
push dword [ebp - 0x310]
add eax, edx
push 0x80000001
call eax
mov edi, 0
test eax, eax
jne 0x418c5d
mov cl, 0x67
mov byte [ebp - 0x30a], 0
mov al, 0x56
mov byte [ebp - 0x30c], cl
xor al, cl
mov byte [ebp - 0x30a], 0
sub esp, 0x18
mov byte [ebp - 0x30b], al
mov edx, esp
lea ecx, [ebp - 0x30b]
lea esi, [ecx + 1]
mov dword [edx], edi
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], 0xf
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4180a0
sub ecx, esi
lea eax, [ebp - 0x30b]
push ecx
push eax
mov ecx, edx
call fcn.0040c170
lea ecx, [ebp - 0x268]
call fcn.00412360
mov edx, eax
add esp, 0x18
cmp dword [edx + 0x14], 8
jb 0x4180d0
mov edx, dword [edx]
mov esi, dword [0x4210bc]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x310], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4180e1
sub ecx, dword [ebp - 0x310]
mov eax, 0x7ffffffe
sar ecx, 1
sub eax, esi
cmp eax, ecx
jb 0x418cb7
cmp dword [0x4210c0], 8
mov eax, 0x4210ac
push ecx
cmovae eax, dword [0x4210ac]
push edx
push esi
push eax
push ecx
push dword [ebp - 0x310]
lea ecx, [ebp - 0x2f0]
call fcn.0040d1c0
mov edx, dword [ebp - 0x27c]
cmp edx, 8
jb 0x418168
mov ecx, dword [ebp - 0x290]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41815e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4181b8
push edx
push ecx
call fcn.00418fbe
add esp, 8
movaps xmm0, xmmword [ebp - 0x2f0]
mov edx, dword [ebp - 0x254]
movaps xmmword [ebp - 0x290], xmm0
movq xmm0, qword [ebp - 0x2e0]
movq qword [ebp - 0x280], xmm0
cmp edx, 8
jb 0x4181c8
mov ecx, dword [ebp - 0x268]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4181be
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4181be
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.00418fbe
add esp, 8
mov edx, dword [0x421828]
xor eax, eax
cmp dword [ebp - 0x27c], 8
mov word [ebp - 0x268], ax
lea eax, [ebp - 0x290]
cmovae eax, dword [ebp - 0x290]
mov dword [ebp - 0x258], edi
xor edi, edi
mov dword [ebp - 0x254], 7
mov dword [ebp - 0x30c], eax
mov eax, dword [edx + 0x3c]
mov eax, dword [eax + edx + 0x78]
add eax, edx
mov dword [ebp - 0x310], eax
mov esi, dword [eax + 0x20]
add esi, edx
mov ecx, dword [esi]
add ecx, edx
mov edx, 0x338f2c01
mov al, byte [ecx]
inc ecx
test al, al
je 0x418244
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x418227
cmp edx, 0xab874812
je 0x418250
mov edx, dword [0x421828]
inc edi
add esi, 4
jmp 0x418217
mov esi, dword [ebp - 0x310]
mov edx, dword [0x421828]
mov eax, dword [esi + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
lea ecx, [ebp - 0x31c]
push ecx
lea ecx, [ebp - 0x210]
add eax, edx
push ecx
push 0
push 0
push dword [ebp - 0x30c]
push dword [ebp - 0x318]
call eax
mov edi, 0
test eax, eax
jne 0x418c5d
xor esi, esi
mov cl, byte [ebp + esi*2 - 0x210]
mov edx, dword [ebp - 0x23c]
mov byte [ebp - 0x310], cl
cmp edi, edx
jae 0x4182da
lea eax, [edi + 1]
cmp edx, 0x10
mov dword [ebp - 0x240], eax
lea eax, [ebp - 0x250]
cmovae eax, dword [ebp - 0x250]
mov byte [eax + edi], cl
mov byte [eax + edi + 1], 0
jmp 0x4182f9
push dword [ebp - 0x310]
mov byte [ebp - 0x30c], 0
push dword [ebp - 0x30c]
push ecx
lea ecx, [ebp - 0x250]
call fcn.0040cd40
inc esi
cmp esi, 0x208
jae 0x41830a
mov edi, dword [ebp - 0x240]
jmp 0x4182a0
sub esp, 0x18
lea eax, [ebp - 0x250]
mov ecx, esp
push eax
call fcn.0040b950
call fcn.00417980
mov edi, dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstol]
add esp, 0x18
cmp eax, 1
jl 0x4183f0
sub esp, 0x18
lea eax, [ebp - 0x250]
mov ecx, esp
push eax
call fcn.0040b950
mov edx, 1
lea ecx, [ebp - 0x268]
call fcn.00417850
add esp, 0x18
mov esi, eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [esi + 0x14], 8
mov dword [ebp - 0x30c], eax
jb 0x41836c
mov esi, dword [esi]
mov dword [eax], 0
lea eax, [ebp - 0x310]
push 0xa
push eax
push esi
call edi
add esp, 0xc
mov ecx, eax
cmp esi, dword [ebp - 0x310]
jne 0x418396
push str.invalid_stoi_argument
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const__]
mov eax, dword [ebp - 0x30c]
cmp dword [eax], 0x22
je 0x418476
mov edx, dword [ebp - 0x254]
test ecx, ecx
setne byte [0x421019]
cmp edx, 8
jb 0x4183f0
mov ecx, dword [ebp - 0x268]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4183e6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4183e6
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.00418fbe
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x250]
mov ecx, esp
push eax
call fcn.0040b950
call fcn.00417980
add esp, 0x18
cmp eax, 2
jl 0x4184d7
sub esp, 0x18
lea eax, [ebp - 0x250]
mov ecx, esp
push eax
call fcn.0040b950
mov edx, 2
lea ecx, [ebp - 0x268]
call fcn.00417850
add esp, 0x18
mov esi, eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [esi + 0x14], 8
mov dword [ebp - 0x30c], eax
jb 0x41844c
mov esi, dword [esi]
mov dword [eax], 0
lea eax, [ebp - 0x310]
push 0xa
push eax
push esi
call edi
add esp, 0xc
mov ecx, eax
cmp esi, dword [ebp - 0x310]
jne 0x418481
push str.invalid_stoi_argument
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const__]
push str.stoi_argument_out_of_range
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__]
mov eax, dword [ebp - 0x30c]
cmp dword [eax], 0x22
je 0x418476
mov edx, dword [ebp - 0x254]
test ecx, ecx
setne byte [0x421018]
cmp edx, 8
jb 0x4184d7
mov ecx, dword [ebp - 0x268]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4184cd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4184cd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.00418fbe
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x250]
mov ecx, esp
push eax
call fcn.0040b950
call fcn.00417980
add esp, 0x18
cmp eax, 3
jl 0x4185b7
sub esp, 0x18
lea eax, [ebp - 0x250]
mov ecx, esp
push eax
call fcn.0040b950
mov edx, 3
lea ecx, [ebp - 0x268]
call fcn.00417850
add esp, 0x18
mov esi, eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [esi + 0x14], 8
mov dword [ebp - 0x30c], eax
jb 0x418533
mov esi, dword [esi]
mov dword [eax], 0
lea eax, [ebp - 0x310]
push 0xa
push eax
push esi
call edi
add esp, 0xc
mov ecx, eax
cmp esi, dword [ebp - 0x310]
jne 0x41855d
push str.invalid_stoi_argument
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const__]
mov eax, dword [ebp - 0x30c]
cmp dword [eax], 0x22
je 0x418476
mov edx, dword [ebp - 0x254]
test ecx, ecx
setne byte [0x42179e]
cmp edx, 8
jb 0x4185b7
mov ecx, dword [ebp - 0x268]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4185ad
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4185ad
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.00418fbe
add esp, 8
push 0
push 0x41b390
lea ecx, [ebp - 0x250]
call fcn.0040c170
mov cl, 0x28
mov byte [ebp - 0x30a], 0
mov al, 0x1a
mov byte [ebp - 0x30c], cl
xor al, cl
mov byte [ebp - 0x30a], 0
sub esp, 0x18
mov byte [ebp - 0x30b], al
mov edx, esp
lea ecx, [ebp - 0x30b]
lea esi, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x418610
sub ecx, esi
lea eax, [ebp - 0x30b]
push ecx
push eax
mov ecx, edx
call fcn.0040c170
lea ecx, [ebp - 0x268]
call fcn.00412360
mov edx, eax
add esp, 0x18
cmp dword [edx + 0x14], 8
jb 0x418640
mov edx, dword [edx]
mov esi, dword [0x4210bc]
mov ecx, edx
lea edi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x418650
sub ecx, edi
mov eax, 0x7ffffffe
sar ecx, 1
sub eax, esi
cmp eax, ecx
jb 0x418cbc
cmp dword [0x4210c0], 8
mov eax, 0x4210ac
push ecx
cmovae eax, dword [0x4210ac]
push edx
push esi
push eax
push ecx
push dword [ebp - 0x310]
lea ecx, [ebp - 0x2f0]
call fcn.0040d1c0
mov edx, dword [ebp - 0x27c]
cmp edx, 8
jb 0x4186d3
mov ecx, dword [ebp - 0x290]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4186c9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418723
push edx
push ecx
call fcn.00418fbe
add esp, 8
movaps xmm0, xmmword [ebp - 0x2f0]
mov edx, dword [ebp - 0x254]
movaps xmmword [ebp - 0x290], xmm0
movq xmm0, qword [ebp - 0x2e0]
movq qword [ebp - 0x280], xmm0
cmp edx, 8
jb 0x418733
mov ecx, dword [ebp - 0x268]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x418729
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x418729
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.00418fbe
add esp, 8
mov edx, dword [0x421828]
xor eax, eax
cmp dword [ebp - 0x27c], 8
mov word [ebp - 0x268], ax
lea eax, [ebp - 0x290]
cmovae eax, dword [ebp - 0x290]
xor edi, edi
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], 7
mov dword [ebp - 0x30c], eax
mov eax, dword [edx + 0x3c]
mov eax, dword [eax + edx + 0x78]
add eax, edx
mov dword [ebp - 0x310], eax
mov esi, dword [eax + 0x20]
add esi, edx
mov ecx, dword [esi]
add ecx, edx
mov edx, 0xb188cbe5
mov al, byte [ecx]
inc ecx
test al, al
je 0x4187b3
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x418796
cmp edx, 0x3bbe7086
je 0x4187bf
mov edx, dword [0x421828]
inc edi
add esi, 4
jmp 0x418786
mov esi, dword [ebp - 0x310]
mov edx, dword [0x421828]
mov eax, dword [esi + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
lea ecx, [ebp - 0x31c]
push ecx
lea ecx, [ebp - 0x210]
add eax, edx
push ecx
push 0
push 0
push dword [ebp - 0x30c]
push dword [ebp - 0x318]
call eax
test eax, eax
jne 0x418c27
xor esi, esi
nop word [eax + eax]
mov dl, byte [ebp + esi*2 - 0x210]
mov ecx, dword [ebp - 0x240]
mov edi, dword [ebp - 0x23c]
mov byte [ebp - 0x310], dl
cmp ecx, edi
jae 0x418850
lea eax, [ecx + 1]
cmp edi, 0x10
mov dword [ebp - 0x240], eax
lea eax, [ebp - 0x250]
cmovae eax, dword [ebp - 0x250]
mov byte [eax + ecx], dl
mov byte [eax + ecx + 1], 0
jmp 0x41886f
push dword [ebp - 0x310]
mov byte [ebp - 0x30c], 0
push dword [ebp - 0x30c]
push ecx
lea ecx, [ebp - 0x250]
call fcn.0040cd40
inc esi
cmp esi, 0x208
jb 0x418810
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x238]
call fcn.0040b950
mov edi, dword [ebp - 0x238]
lea ecx, [ebp - 0x238]
xor esi, esi
lea edx, [ebp - 0x238]
cmp dword [ebp - 0x224], 0x10
cmovae ecx, edi
cmovae edx, edi
add ecx, dword [ebp - 0x228]
cmp edx, ecx
je 0x4188c5
cmp byte [edx], 0x20
lea eax, [esi + 1]
cmovne eax, esi
inc edx
mov esi, eax
cmp edx, ecx
jne 0x4188b5
mov eax, dword [ebp - 0x224]
cmp eax, 0x10
jb 0x4188fb
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x4188f1
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418c8f
push ecx
push edi
call fcn.00418fbe
add esp, 8
cmp esi, 1
jl 0x4189fc
sub esp, 0x18
lea eax, [ebp - 0x250]
mov ecx, esp
push eax
call fcn.0040b950
mov edx, 1
lea ecx, [ebp - 0x2d0]
call fcn.00417850
cmp dword [ebp - 0x2bc], 8
lea ecx, [ebp - 0x2d0]
mov eax, dword [ebp - 0x2c0]
cmovae ecx, dword [ebp - 0x2d0]
lea eax, [ecx + eax*2]
lea ecx, [ebp - 0x2d0]
cmovae ecx, dword [ebp - 0x2d0]
add esp, 0x14
push eax
push ecx
lea ecx, [ebp - 0x238]
call fcn.0040c7d0
cmp dword [ebp - 0x224], 0x10
lea eax, [ebp - 0x238]
push dword [ebp - 0x228]
cmovae eax, dword [ebp - 0x238]
mov ecx, 0x421064
push eax
call fcn.0040c170
mov edx, dword [ebp - 0x224]
cmp edx, 0x10
jb 0x4189ba
mov ecx, dword [ebp - 0x238]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4189b0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4189ec
push edx
push ecx
call fcn.00418fbe
add esp, 8
mov edx, dword [ebp - 0x2bc]
cmp edx, 8
jb 0x4189fc
mov ecx, dword [ebp - 0x2d0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4189f2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4189f2
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.00418fbe
add esp, 8
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x238]
call fcn.0040b950
mov edi, dword [ebp - 0x238]
lea ecx, [ebp - 0x238]
xor esi, esi
lea edx, [ebp - 0x238]
cmp dword [ebp - 0x224], 0x10
cmovae ecx, edi
cmovae edx, edi
add ecx, dword [ebp - 0x228]
cmp edx, ecx
je 0x418a50
nop dword [eax]
cmp byte [edx], 0x20
lea eax, [esi + 1]
cmovne eax, esi
inc edx
mov esi, eax
cmp edx, ecx
jne 0x418a40
mov eax, dword [ebp - 0x224]
cmp eax, 0x10
jb 0x418a86
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x418a7c
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418c8f
push ecx
push edi
call fcn.00418fbe
add esp, 8
cmp esi, 2
jl 0x418ba4
sub esp, 0x18
lea eax, [ebp - 0x250]
mov ecx, esp
push eax
call fcn.0040b950
mov edx, 2
lea ecx, [ebp - 0x2b0]
call fcn.00417850
cmp dword [ebp - 0x29c], 8
lea ecx, [ebp - 0x2b0]
mov eax, dword [ebp - 0x2a0]
cmovae ecx, dword [ebp - 0x2b0]
lea eax, [ecx + eax*2]
lea ecx, [ebp - 0x2b0]
cmovae ecx, dword [ebp - 0x2b0]
add esp, 0x14
push eax
push ecx
lea ecx, [ebp - 0x238]
call fcn.0040c7d0
cmp dword [ebp - 0x224], 0x10
lea eax, [ebp - 0x238]
push dword [ebp - 0x228]
cmovae eax, dword [ebp - 0x238]
mov ecx, 0x421094
push eax
call fcn.0040c170
mov edx, dword [ebp - 0x224]
cmp edx, 0x10
jb 0x418b45
mov ecx, dword [ebp - 0x238]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x418b3b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418b77
push edx
push ecx
call fcn.00418fbe
add esp, 8
mov edx, dword [ebp - 0x29c]
cmp edx, 8
jb 0x418b87
mov ecx, dword [ebp - 0x2b0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x418b7d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x418b7d
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.00418fbe
add esp, 8
xor eax, eax
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x29c], 7
mov word [ebp - 0x2b0], ax
mov edi, dword [0x421828]
xor ecx, ecx
mov dword [ebp - 0x30c], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [ebp - 0x310], eax
mov esi, dword [eax + 0x20]
add esi, edi
mov ecx, dword [esi]
mov edx, 0x5fe086db
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x418bf3
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x418bd6
cmp edx, 0xb4ef6bc4
je 0x418bfe
inc dword [ebp - 0x30c]
add esi, 4
jmp 0x418bc6
mov edx, dword [ebp - 0x310]
mov ecx, dword [ebp - 0x30c]
push dword [ebp - 0x318]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
call eax
mov edx, dword [ebp - 0x23c]
cmp edx, 0x10
jb 0x418c5d
mov ecx, dword [ebp - 0x250]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x418c53
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418c8f
push edx
push ecx
call fcn.00418fbe
add esp, 8
mov edx, dword [ebp - 0x27c]
cmp edx, 8
jb 0x418c9f
mov ecx, dword [ebp - 0x290]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x418c95
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x418c95
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.00418fbe
add esp, 8
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00418d65
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.004042b0
call fcn.004042b0
call fcn.004042b0
int3