Function at 0x404340
Capabilities:
Create thread

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xffffffe0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x407343
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x224
mov eax, dword [0x40a00c]
xor eax, ebp
mov dword [ebp - 0x24], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
nop
mov eax, dword fs:[0x2c]
mov esi, dword [eax]
mov eax, dword [0x40a44c]
mov dword [ebp - 0xc4], esi
cmp eax, dword [esi + 4]
jle 0x4047f7
push 0x40a44c
call fcn.00406152
add esp, 4
cmp dword [0x40a44c], 0xffffffff
jne 0x4047f7
mov dword [ebp - 4], 0
mov dword [ebp - 0x170], 0xabcae913
mov dword [ebp - 0x16c], 0xee33dc2c
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x1dc], ecx
mov dword [ebp - 0x170], 0xdb4fc944
mov dword [ebp - 0x16c], 0x31378abe
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 0x1d4], ecx
mov dword [ebp - 0x170], 0x33897be3
mov dword [ebp - 0x16c], 0x61096ccf
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x1cc], ecx
mov dword [ebp - 0x170], 0xbfd6f570
mov dword [ebp - 0x16c], 0x898f7a5a
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x1c8], eax
mov dword [ebp - 0x1c4], ecx
mov dword [ebp - 0x170], 0xd9899d5d
mov dword [ebp - 0x16c], 0x8b47bd49
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x170], 0x942da60e
mov dword [ebp - 0x16c], 0x5252e0dc
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x170], 0x33897b97
mov dword [ebp - 0x16c], 0x61096ccf
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x170], 0xbfd6f570
mov dword [ebp - 0x16c], 0x898f7a5a
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
vmovdqu ymm0, ymmword [ebp - 0x1e0]
mov dword [ebp - 0x68], eax
mov eax, dword [0x40a448]
cmp eax, dword [esi + 4]
mov dword [ebp - 0x64], ecx
vpxor ymm0, ymm0, ymmword [ebp - 0x80]
vmovdqa ymmword [ebp - 0x1e0], ymm0
vzeroupper
jle 0x4046f7
push 0x40a448
call fcn.00406152
add esp, 4
cmp dword [0x40a448], 0xffffffff
jne 0x4046f7
mov byte [ebp - 4], 1
mov dword [ebp - 0x170], 0xb5ede933
mov dword [ebp - 0x16c], 0xe7239325
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x170], 0x942da662
mov dword [ebp - 0x16c], 0x5252e0dc
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x170], 0xd9899d5d
mov dword [ebp - 0x16c], 0x8b47bd49
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x170], 0x942da60e
mov dword [ebp - 0x16c], 0x5252e0dc
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x16c]
movaps xmm1, xmmword [ebp - 0x1a0]
mov eax, dword fs:[0x30]
mov dword [ebp - 0x34], ecx
xorps xmm1, xmmword [ebp - 0x40]
movaps xmmword [ebp - 0x1a0], xmm1
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edi, dword [eax + 0x18]
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x16c], edi
mov ecx, dword [edi + 0x3c]
mov ecx, dword [ecx + edi + 0x78]
add ecx, edi
mov dword [ebp - 0x184], ecx
cmp ecx, edi
je 0x4046b2
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x4046b2
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, edi
mov esi, dword [ecx - 4]
sub ecx, 4
add esi, edi
mov dword [ebp - 0x180], ecx
dec edx
mov edi, 0x99b54988
mov dword [ebp - 0x178], edx
mov cl, byte [esi]
inc esi
mov byte [ebp - 0x171], cl
test cl, cl
je 0x4046a5
mov al, cl
nop dword [eax]
movsx edx, al
lea esi, [esi + 1]
sub al, 0x41
mov ecx, edx
or ecx, 0x20
cmp al, 0x19
mov al, byte [esi - 1]
cmova ecx, edx
xor ecx, edi
imul edi, ecx, 0x1000193
test al, al
jne 0x404670
mov eax, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x178]
cmp edi, 0x87790c89
je 0x4046b9
mov ecx, dword [ebp - 0x180]
mov edi, dword [eax + 0x18]
test edx, edx
jne 0x404644
mov eax, dword [eax]
jmp 0x404613
mov eax, dword [ebp - 0x184]
mov esi, dword [ebp - 0x16c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
lea ecx, [ebp - 0x1a0]
add eax, esi
push ecx
call eax
push 0x40a448
mov dword [0x40a45c], eax
mov byte [ebp - 4], 0
call fcn.00406101
add esp, 4
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edi, dword [eax + 0x18]
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x180], edi
mov ecx, dword [edi + 0x3c]
mov ecx, dword [ecx + edi + 0x78]
add ecx, edi
mov dword [ebp - 0x184], ecx
cmp ecx, edi
je 0x4047a3
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x4047a3
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, edi
mov esi, dword [ecx - 4]
sub ecx, 4
add esi, edi
mov dword [ebp - 0x16c], ecx
dec edx
mov edi, 0x8a94de40
mov dword [ebp - 0x17c], edx
mov cl, byte [esi]
inc esi
mov byte [ebp - 0x171], cl
test cl, cl
je 0x404796
mov al, cl
movsx edx, al
lea esi, [esi + 1]
sub al, 0x41
mov ecx, edx
or ecx, 0x20
cmp al, 0x19
mov al, byte [esi - 1]
cmova ecx, edx
xor ecx, edi
imul edi, ecx, 0x1000193
test al, al
jne 0x404761
mov eax, dword [ebp - 0x178]
mov edx, dword [ebp - 0x17c]
cmp edi, 0x841aaacc
je 0x4047aa
mov ecx, dword [ebp - 0x16c]
mov edi, dword [eax + 0x18]
test edx, edx
jne 0x404738
mov eax, dword [eax]
jmp 0x404703
mov eax, dword [ebp - 0x184]
mov esi, dword [ebp - 0x180]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
lea ecx, [ebp - 0x1e0]
push ecx
push dword [0x40a45c]
add eax, esi
call eax
push 0x40a44c
mov dword [0x40a454], eax
mov dword [ebp - 4], 0xffffffff
call fcn.00406101
mov esi, dword [ebp - 0xc4]
add esp, 4
mov eax, dword [0x40a458]
cmp eax, dword [esi + 4]
jle 0x404c87
push 0x40a458
call fcn.00406152
add esp, 4
cmp dword [0x40a458], 0xffffffff
jne 0x404c87
mov dword [ebp - 4], 2
mov dword [ebp - 0x170], 0xaac8e913
mov dword [ebp - 0x16c], 0xe520d43a
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x1fc], ecx
mov dword [ebp - 0x170], 0xf742d45e
mov dword [ebp - 0x16c], 0x62193b9
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x1f8], eax
mov dword [ebp - 0x1f4], ecx
mov dword [ebp - 0x170], 0x51e631f8
mov dword [ebp - 0x16c], 0x4630e80
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x1ec], ecx
mov dword [ebp - 0x170], 0xbfd68113
mov dword [ebp - 0x16c], 0x898f7a5a
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x1e8], eax
mov dword [ebp - 0x1e4], ecx
mov dword [ebp - 0x170], 0xd9899d5d
mov dword [ebp - 0x16c], 0x8b47bd49
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x170], 0x942da60e
mov dword [ebp - 0x16c], 0x5252e0dc
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x170], 0x33897b97
mov dword [ebp - 0x16c], 0x61096ccf
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x170], 0xbfd6f570
mov dword [ebp - 0x16c], 0x898f7a5a
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
vmovdqu ymm0, ymmword [ebp - 0x200]
mov dword [ebp - 0x88], eax
mov eax, dword [0x40a468]
cmp eax, dword [esi + 4]
mov dword [ebp - 0x84], ecx
vpxor ymm0, ymm0, ymmword [ebp - 0xa0]
vmovdqa ymmword [ebp - 0x200], ymm0
vzeroupper
jle 0x404b87
push 0x40a468
call fcn.00406152
add esp, 4
cmp dword [0x40a468], 0xffffffff
jne 0x404b87
mov byte [ebp - 4], 3
mov dword [ebp - 0x170], 0xb5ede933
mov dword [ebp - 0x16c], 0xe7239325
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1ac], ecx
mov dword [ebp - 0x170], 0x942da662
mov dword [ebp - 0x16c], 0x5252e0dc
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], ecx
mov dword [ebp - 0x170], 0xd9899d5d
mov dword [ebp - 0x16c], 0x8b47bd49
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x170], 0x942da60e
mov dword [ebp - 0x16c], 0x5252e0dc
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ebp - 0x16c]
movaps xmm1, xmmword [ebp - 0x1b0]
mov eax, dword fs:[0x30]
mov dword [ebp - 0x44], ecx
xorps xmm1, xmmword [ebp - 0x50]
movaps xmmword [ebp - 0x1b0], xmm1
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edi, dword [eax + 0x18]
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x180], edi
mov ecx, dword [edi + 0x3c]
mov ecx, dword [ecx + edi + 0x78]
add ecx, edi
mov dword [ebp - 0x184], ecx
cmp ecx, edi
je 0x404b42
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x404b42
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, edi
nop
mov esi, dword [ecx - 4]
sub ecx, 4
add esi, edi
mov dword [ebp - 0x16c], ecx
dec edx
mov edi, 0x99b54988
mov dword [ebp - 0x17c], edx
mov cl, byte [esi]
inc esi
mov byte [ebp - 0x171], cl
test cl, cl
je 0x404b35
mov al, cl
nop dword [eax]
movsx edx, al
lea esi, [esi + 1]
sub al, 0x41
mov ecx, edx
or ecx, 0x20
cmp al, 0x19
mov al, byte [esi - 1]
cmova ecx, edx
xor ecx, edi
imul edi, ecx, 0x1000193
test al, al
jne 0x404b00
mov eax, dword [ebp - 0x178]
mov edx, dword [ebp - 0x17c]
cmp edi, 0x87790c89
je 0x404b49
mov ecx, dword [ebp - 0x16c]
mov edi, dword [eax + 0x18]
test edx, edx
jne 0x404ad0
mov eax, dword [eax]
jmp 0x404a95
mov eax, dword [ebp - 0x184]
mov esi, dword [ebp - 0x180]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
lea ecx, [ebp - 0x1b0]
add eax, esi
push ecx
call eax
push 0x40a468
mov dword [0x40a474], eax
mov byte [ebp - 4], 2
call fcn.00406101
add esp, 4
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edi, dword [eax + 0x18]
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x180], edi
mov ecx, dword [edi + 0x3c]
mov ecx, dword [ecx + edi + 0x78]
add ecx, edi
mov dword [ebp - 0x184], ecx
cmp ecx, edi
je 0x404c33
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x404c33
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, edi
mov esi, dword [ecx - 4]
sub ecx, 4
add esi, edi
mov dword [ebp - 0x16c], ecx
dec edx
mov edi, 0x8a94de40
mov dword [ebp - 0x17c], edx
mov cl, byte [esi]
inc esi
mov byte [ebp - 0x171], cl
test cl, cl
je 0x404c26
mov al, cl
movsx edx, al
lea esi, [esi + 1]
sub al, 0x41
mov ecx, edx
or ecx, 0x20
cmp al, 0x19
mov al, byte [esi - 1]
cmova ecx, edx
xor ecx, edi
imul edi, ecx, 0x1000193
test al, al
jne 0x404bf1
mov eax, dword [ebp - 0x178]
mov edx, dword [ebp - 0x17c]
cmp edi, 0x841aaacc
je 0x404c3a
mov ecx, dword [ebp - 0x16c]
mov edi, dword [eax + 0x18]
test edx, edx
jne 0x404bc8
mov eax, dword [eax]
jmp 0x404b93
mov eax, dword [ebp - 0x184]
mov esi, dword [ebp - 0x180]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
lea ecx, [ebp - 0x200]
push ecx
push dword [0x40a474]
add eax, esi
call eax
push 0x40a458
mov dword [0x40a46c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.00406101
mov esi, dword [ebp - 0xc4]
add esp, 4
mov eax, dword [0x40a470]
cmp eax, dword [esi + 4]
jle 0x40512c
push 0x40a470
call fcn.00406152
add esp, 4
cmp dword [0x40a470], 0xffffffff
jne 0x40512c
mov dword [ebp - 4], 4
mov dword [ebp - 0x170], 0xbcdae913
mov dword [ebp - 0x16c], 0xed29f43d
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], ecx
mov dword [ebp - 0x170], 0xf540d461
mov dword [ebp - 0x16c], 0x3c3d89a8
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x170], 0x7ceb14dd
mov dword [ebp - 0x16c], 0x26c06ad
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x20c], ecx
mov dword [ebp - 0x170], 0xbfd6f504
mov dword [ebp - 0x16c], 0x898f7a5a
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x204], ecx
mov dword [ebp - 0x170], 0xd9899d5d
mov dword [ebp - 0x16c], 0x8b47bd49
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0x170], 0x942da60e
mov dword [ebp - 0x16c], 0x5252e0dc
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0x170], 0x33897b97
mov dword [ebp - 0x16c], 0x61096ccf
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0x170], 0xbfd6f570
mov dword [ebp - 0x16c], 0x898f7a5a
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
vmovdqu ymm0, ymmword [ebp - 0x220]
mov dword [ebp - 0xa8], eax
mov eax, dword [0x40a460]
cmp eax, dword [esi + 4]
mov dword [ebp - 0xa4], ecx
vpxor ymm0, ymm0, ymmword [ebp - 0xc0]
vmovdqa ymmword [ebp - 0x220], ymm0
vzeroupper
jle 0x405017
push 0x40a460
call fcn.00406152
add esp, 4
cmp dword [0x40a460], 0xffffffff
jne 0x405017
mov byte [ebp - 4], 5
mov dword [ebp - 0x170], 0xb5ede933
mov dword [ebp - 0x16c], 0xe7239325
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1bc], ecx
mov dword [ebp - 0x170], 0x942da662
mov dword [ebp - 0x16c], 0x5252e0dc
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], ecx
mov dword [ebp - 0x170], 0xd9899d5d
mov dword [ebp - 0x16c], 0x8b47bd49
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x170], 0x942da60e
mov dword [ebp - 0x16c], 0x5252e0dc
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x5c], ecx
mov ecx, dword [ebp - 0x16c]
movaps xmm1, xmmword [ebp - 0x1c0]
mov eax, dword fs:[0x30]
mov dword [ebp - 0x54], ecx
xorps xmm1, xmmword [ebp - 0x60]
movaps xmmword [ebp - 0x1c0], xmm1
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edi, dword [eax + 0x18]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0x180], edi
mov ecx, dword [edi + 0x3c]
mov ecx, dword [ecx + edi + 0x78]
add ecx, edi
mov dword [ebp - 0x184], ecx
cmp ecx, edi
je 0x404fd2
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x404fd2
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, edi
nop
mov esi, dword [ecx - 4]
sub ecx, 4
add esi, edi
mov dword [ebp - 0x16c], ecx
dec edx
mov edi, 0x99b54988
mov dword [ebp - 0x178], edx
mov cl, byte [esi]
inc esi
mov byte [ebp - 0x171], cl
test cl, cl
je 0x404fc5
mov al, cl
nop dword [eax]
movsx edx, al
lea esi, [esi + 1]
sub al, 0x41
mov ecx, edx
or ecx, 0x20
cmp al, 0x19
mov al, byte [esi - 1]
cmova ecx, edx
xor ecx, edi
imul edi, ecx, 0x1000193
test al, al
jne 0x404f90
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0x178]
cmp edi, 0x87790c89
je 0x404fd9
mov ecx, dword [ebp - 0x16c]
mov edi, dword [eax + 0x18]
test edx, edx
jne 0x404f60
mov eax, dword [eax]
jmp 0x404f25
mov eax, dword [ebp - 0x184]
mov esi, dword [ebp - 0x180]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
lea ecx, [ebp - 0x1c0]
add eax, esi
push ecx
call eax
push 0x40a460
mov dword [0x40a464], eax
mov byte [ebp - 4], 4
call fcn.00406101
add esp, 4
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0x180], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x184], ecx
cmp ecx, esi
je 0x4050de
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x4050de
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, esi
nop dword [eax]
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, esi
mov dword [ebp - 0x16c], ecx
mov ecx, 0x8a94de40
dec edx
mov dword [ebp - 0x17c], ecx
mov dword [ebp - 0x178], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x4050d4
mov eax, dword [ebp - 0x17c]
nop dword [eax]
movsx esi, cl
lea edi, [edi + 1]
sub cl, 0x41
mov edx, esi
or edx, 0x20
cmp cl, 0x19
mov cl, byte [edi - 1]
cmova edx, esi
xor edx, eax
imul eax, edx, 0x1000193
test cl, cl
jne 0x405090
mov edx, dword [ebp - 0x178]
mov dword [ebp - 0x17c], eax
cmp dword [ebp - 0x17c], 0x841aaacc
mov eax, dword [ebp - 0xc4]
je 0x4050e5
mov esi, dword [eax + 0x18]
mov ecx, dword [ebp - 0x16c]
test edx, edx
jne 0x405060
mov eax, dword [eax]
jmp 0x405023
mov eax, dword [ebp - 0x184]
mov esi, dword [ebp - 0x180]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
lea ecx, [ebp - 0x220]
push ecx
push dword [0x40a464]
add eax, esi
call eax
push 0x40a470
mov dword [0x40a450], eax
mov dword [ebp - 4], 0xffffffff
call fcn.00406101
add esp, 4
push 0x90
lea eax, [ebp - 0x160]
mov dword [ebp - 0x164], 0
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0xf0], 0x1000
lea eax, [ebp - 0x164]
mov dword [ebp - 0xec], 0
mov dword [ebp - 0x150], pe_nt_image_headers32
push 0
push 0x2000000
push eax
call dword [0x40a454]
mov esi, dword [0x40a46c]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
push dword [ebp - 0x164]
call esi
push 0x90
lea eax, [ebp - 0x160]
push eax
push 9
push dword [ebp - 0x164]
call dword [0x40a450]
nop
push 4
call fcn.004061b6
mov dword [ebp - 0xc4], eax
mov dword [eax], 0x403d70
lea ecx, [ebp - 0xc8]
mov dword [ebp - 4], 6
push ecx
push 0
push eax
push 0x405ff0
push 0
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
add esp, 0x1c
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x405280
mov dword [ebp - 4], 7
mov ecx, dword [ebp - 0xc8]
test ecx, ecx
je 0x405278
push ecx
push eax
call dword [sym.imp.MSVCP140.dll__Thrd_detach]
add esp, 8
test eax, eax
jne 0x405278
xorps xmm0, xmm0
movlpd qword [ebp - 0xcc], xmm0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
imul ebx, ebx, 4
imul ebx, ebx, 2
imul ebx, ebx, 4
imul ebx, ebx, 2
imul ebx, ebx, 4
imul ebx, ebx, 2
imul ebx, ebx, 4
imul ebx, ebx, 2
imul ebx, ebx, 4
imul ebx, ebx, 2
mov eax, 0x403d00
add eax, 5
call eax
cmp dword [ebp - 0xc8], 0
je 0x405292
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
push 1
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
push 6
mov dword [ebp - 0xc8], 0
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x24]
xor ecx, ebp
call fcn.004060c8
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret