Function at 0x4053d0
Capabilities:
Create process on windows
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45b614
mov eax, dword fs:[0]
push eax
push ecx
push ebx
sub esp, 0x1d0
mov eax, dword [0x4720bc]
xor eax, ebp
mov dword [ebp - 0x24], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1d8], ecx
push 0
push 0x45d68b
mov ecx, 0x4724a0
mov dword [ebp - 4], 0
mov byte [ebp - 0x1be], 0
mov byte [ebp - 0x1bd], 0
mov byte [0x47249c], 0
call fcn.00402a50
push 0x1024
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
push 0x1024
mov edi, eax
push 0
push edi
call sub.VCRUNTIME140.dll_memset
sub esp, 8
mov dword [ebp - 0x1bc], 0x1008687
mov esi, esp
mov dword [ebp - 0x1d0], esp
push 6
push str.remove
push esi
mov dword [esi], 0
mov dword [esi + 0x10], 6
mov dword [esi + 0x14], 0xf
call sub.VCRUNTIME140.dll_memmove
mov byte [esi + 6], 0
sub esp, 0xc
mov byte [ebp - 4], 1
mov edx, esp
mov dword [ebp - 0x34], esp
mov dword [ebp - 0x1d4], edx
cmp byte [ebp - 0x1b9], 0
je 0x4054d8
xor ecx, ecx
nop dword [eax]
mov al, cl
sub al, 0x46
xor byte [ebp + ecx - 0x1bc], al
inc ecx
cmp ecx, 2
jb 0x4054c0
mov byte [ebp - 0x1b9], 0
lea eax, [ebp - 0x1bf]
mov ecx, edx
push eax
lea eax, [ebp - 0x1ba]
push eax
lea eax, [ebp - 0x1bc]
push eax
call fcn.00403020
mov esi, dword [0x47258c]
sub esp, 0x18
mov edx, esp
mov byte [ebp - 4], 2
mov ecx, esi
mov dword [edx], 0
lea eax, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov dword [ebp - 0x1d4], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x405522
sub ecx, dword [ebp - 0x1d4]
push ecx
push esi
mov ecx, edx
call fcn.00402080
mov ecx, dword [ebp - 0x1d8]
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 4], 0
call fcn.00408b40
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x405555
mov ecx, dword [ecx]
mov edx, edi
sub edx, ecx
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x405560
mov ecx, dword [ebp - 0x64]
cmp ecx, 0x10
jb 0x4055a3
mov edx, dword [ebp - 0x78]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x405599
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x405599
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00459a6a
add esp, 8
push dword [0x47258c]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
sub esp, 0x14
mov ecx, edi
mov edx, esp
lea esi, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4055d0
sub ecx, esi
push ecx
push edi
mov ecx, edx
call fcn.00402080
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x1d9]
call fcn.0040fc80
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x4055fb
mov ecx, dword [ecx]
mov edx, edi
sub edx, ecx
nop
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x405600
mov ecx, dword [ebp - 0x64]
cmp ecx, 0x10
jb 0x405643
mov edx, dword [ebp - 0x78]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x405639
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x405639
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00459a6a
add esp, 8
push str.NB64
push edi
call sub.VCRUNTIME140.dll_strstr
add esp, 8
test eax, eax
je 0x40582e
mov eax, dword [0x4725c0]
dec eax
cmp eax, 3
ja case.default.0x405668
jmp dword [eax*4 + 0x406b78]
movaps xmm0, xmmword [0x45d7e0]
xor ecx, ecx
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x50], 0xa8a0a2ab
mov word [ebp - 0x4c], 0xaa
mov byte [ebp - 0x4a], 1
nop dword [eax]
mov al, cl
sub al, 0x46
xor byte [ebp + ecx - 0x60], al
inc ecx
cmp ecx, 0x15
jb 0x405690
lea eax, [ebp - 0x60]
jmp 0x405815
movaps xmm0, xmmword [0x45d7b0]
xor ecx, ecx
movups xmmword [ebp - 0x5c], xmm0
mov word [ebp - 0x4c], 0xae
mov byte [ebp - 0x4a], 1
nop dword [eax]
mov al, cl
sub al, 0x46
xor byte [ebp + ecx - 0x5c], al
inc ecx
cmp ecx, 0x11
jb 0x4056c0
lea eax, [ebp - 0x5c]
jmp 0x405815
lea eax, [ebp - 0x78]
mov byte [0x47249c], 0
push eax
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x58], 0xd4dbd4f6
mov dword [ebp - 0x54], 0xa0a69fd0
mov dword [ebp - 0x50], 0xa1a1afab
mov word [ebp - 0x4c], 0x100
call fcn.004044c0
push eax
mov ecx, 0x4724d4
call fcn.004042a0
lea ecx, [ebp - 0x78]
call fcn.00401890
jmp 0x406b40
mov dword [ebp - 0x58], 0xded9d3f9
xor ecx, ecx
mov dword [ebp - 0x54], 0xe1b2dad5
mov dword [ebp - 0x50], 0xa9ada2a4
mov dword [ebp - 0x4c], 0x100a3a3
nop word [eax + eax]
mov al, cl
sub al, 0x46
xor byte [ebp + ecx - 0x58], al
inc ecx
cmp ecx, 0xe
jb 0x405740
lea eax, [ebp - 0x58]
mov byte [ebp - 0x49], 0
push eax
call fcn.0040cf40
add esp, 4
cmp dword [0x4725c0], 4
jne 0x405822
mov eax, dword [0x4725a8]
cmp eax, 3
ja case.0x405775.3
jmp dword [eax*4 + 0x406b88]
inc eax
mov byte [0x47249c], 1
mov dword [0x4725a8], eax
lea ecx, [ebp - 0x38]
lea eax, [ebp - 0x78]
mov dword [ebp - 0x38], 0xd8ced4f9
push eax
mov word [ebp - 0x34], 0x100
call fcn.004043c0
push eax
mov ecx, 0x4724a0
call fcn.004042a0
lea ecx, [ebp - 0x78]
call fcn.00401890
jmp 0x406b40
lea eax, [ebp - 0x78]
mov byte [0x47249d], 1
push eax
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], 0xd9d0dafd
mov dword [ebp - 0x38], 0xa4b2cdd1
mov word [ebp - 0x34], 0x100
call fcn.00404400
jmp 0x4057a2
mov dword [ebp - 0x58], 0xd3f7d5ef
xor ecx, ecx
mov dword [ebp - 0x54], 0xe1aec8d1
mov dword [ebp - 0x50], 0xaab6b187
mov word [ebp - 0x4c], 0xb4
mov byte [ebp - 0x4a], 1
mov al, cl
sub al, 0x46
xor byte [ebp + ecx - 0x58], al
inc ecx
cmp ecx, 0xd
jb 0x405804
lea eax, [ebp - 0x58]
push eax
mov byte [ebp - 0x4a], 0
call fcn.0040cf40
add esp, 4
mov byte [0x47249d], 1
jmp 0x406b40
sub esp, 0x18
mov dword [0x4725a8], 0
mov esi, esp
mov dword [ebp - 0x34], esp
push 1
push 0x45d6c8
push esi
mov dword [esi], 0
mov dword [esi + 0x10], 1
mov dword [esi + 0x14], 0xf
call sub.VCRUNTIME140.dll_memmove
mov byte [esi + 1], 0
sub esp, 0xc
mov byte [ebp - 4], 3
mov edx, esp
mov ecx, edi
mov dword [edx], 0
lea esi, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x405887
sub ecx, esi
push ecx
push edi
mov ecx, edx
call fcn.00402080
lea eax, [ebp - 0x1cc]
mov byte [ebp - 4], 0
push eax
call fcn.00409f10
add esp, 0x34
push edi
mov byte [ebp - 4], 4
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov esi, dword [ebp - 0x1cc]
add esp, 4
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [esi + 0x14], 0x10
mov edi, eax
jb 0x4058d0
mov esi, dword [esi]
push 0xa
lea eax, [ebp - 0x1d4]
mov dword [edi], 0
push eax
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
add esp, 0xc
cmp esi, dword [ebp - 0x1d4]
je 0x406b5e
cmp dword [edi], 0x22
je 0x406b68
cmp eax, 0x22b
jg 0x40596a
je case.0x40598e.730
cmp eax, 0xa3
jg 0x405952
je 0x405921
cmp eax, 0x67
je 0x405921
cmp eax, 0x71
je 0x405921
mov byte [0x47249c], 0
mov eax, dword [ebp - 0x1cc]
add eax, 0x18
cmp dword [eax + 0x14], 0x10
jb 0x405932
mov eax, dword [eax]
push eax
call fcn.0040cf40
add esp, 4
mov byte [0x47249d], 1
lea ecx, [ebp - 0x1cc]
call fcn.00406c50
jmp 0x406b40
sub eax, 0x193
je 0x405921
sub eax, 1
jmp 0x405918
mov byte [0x47249c], 1
jmp 0x405b7f
cmp eax, 0x387
jg 0x405a96
je case.0x40598e.701
add eax, 0xfffffd84
cmp eax, 0x91
ja case.0x40598e.637
movzx eax, byte [eax + 0x406bb0]
jmp dword [eax*4 + 0x406b98]
inc dword [0x472590]
mov al, 1
jmp 0x405b85
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], 0xc9d9d594
mov word [ebp - 0x34], 0x100
call fcn.004076a0
push eax
push 0x472614
call fcn.00403150
movzx ecx, byte [0x47249d]
add esp, 8
test al, al
mov esi, 1
cmovne ecx, esi
cmp dword [0x4725b0], 0x369f
movzx eax, cl
lea ecx, [ebp - 0x78]
cmovne eax, esi
cmp dword [0x4725b8], 0x2c5aa
movzx eax, al
cmovne eax, esi
push 0x47262c
mov byte [0x47249d], al
call fcn.00402320
lea eax, [ebp - 0x78]
push 0x472644
push eax
call fcn.00403120
add esp, 8
mov byte [ebp - 0x1be], al
lea ecx, [ebp - 0x78]
call fcn.00401890
cmp byte [ebp - 0x1be], 0
movzx ecx, byte [0x47249d]
mov al, byte [ebp - 0x1bd]
cmovne ecx, esi
mov byte [0x47249d], cl
mov byte [ebp - 0x1be], 1
jmp 0x405b8a
mov eax, dword [ebp - 0x1cc]
sub esp, 0x18
add eax, 0x18
mov byte [0x47249c], 1
mov ecx, esp
mov byte [0x4725c8], 1
push eax
call fcn.00402320
lea eax, [ebp - 0x78]
push eax
call fcn.0040dc40
add esp, 0x1c
mov ecx, 0x4725e4
push eax
call fcn.004042a0
lea ecx, [ebp - 0x78]
call fcn.00401890
jmp 0x405b7f
cmp eax, 0xbbd
jg 0x406a82
je 0x405b42
cmp eax, 0x41c
jg 0x405b37
je case.0x40598e.701
sub eax, 0x3e9
je case.0x40598e.637
sub eax, 0xa
jmp case.0x40598e.637
push 0x47262c
lea ecx, [ebp - 0x78]
call fcn.00402320
lea eax, [ebp - 0x78]
push 0x472644
push eax
call fcn.00403120
add esp, 8
mov byte [ebp - 0x1bf], al
lea ecx, [ebp - 0x78]
call fcn.00401890
cmp byte [ebp - 0x1bf], 0
je 0x405921
mov edx, dword [ebp - 0x1cc]
add edx, 0x18
mov byte [0x47249c], 0
cmp dword [edx + 0x14], 0x10
jb 0x405b18
mov edx, dword [edx]
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x405b20
sub ecx, esi
push ecx
push edx
mov ecx, 0x4724d4
call fcn.00402a50
jmp 0x405b65
cmp eax, 0xbbc
jne case.0x40598e.637
mov eax, dword [ebp - 0x1cc]
add eax, 0x18
mov byte [0x47249c], 0
cmp dword [eax + 0x14], 0x10
jb 0x405b5a
mov eax, dword [eax]
push eax
mov ecx, 0x4724d4
call fcn.004042e0
mov eax, dword [ebp - 0x1cc]
add eax, 0x18
cmp dword [eax + 0x14], 0x10
jb 0x405b76
mov eax, dword [eax]
push eax
call fcn.0040cf40
add esp, 4
mov al, byte [ebp - 0x1bd]
mov esi, 1
cmp byte [0x47249d], 0
jne 0x405942
test al, al
je 0x40659a
cmp dword [0x472590], 1
jne 0x405cc7
push 4
call fcn.00459a3a
add esp, 4
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x405bcc
mov ecx, eax
call fcn.0040cc90
mov esi, eax
jmp 0x405bce
xor esi, esi
sub esp, 0x18
mov byte [ebp - 4], 4
mov eax, esp
mov dword [ebp - 0x34], esp
lea ecx, [ebp - 0x1bc]
mov word [ebp - 0x1bc], 0x80
mov byte [ebp - 0x1ba], 1
push eax
call fcn.00404350
mov eax, dword [ebp - 0x1cc]
sub esp, 0x18
mov edi, esp
mov byte [ebp - 4], 6
sub esp, 0x18
add eax, 0x18
mov ecx, esp
push eax
call fcn.00402320
push edi
call fcn.0040dc40
add esp, 0x1c
mov byte [ebp - 4], 4
lea eax, [ebp - 0x54]
push eax
call fcn.00409f10
add esp, 0x34
mov eax, dword [ebp - 0x54]
mov byte [ebp - 4], 7
cmp eax, 0x472540
je 0x405c54
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x405c45
mov eax, dword [eax]
push ecx
push eax
mov ecx, 0x472540
call fcn.00402a50
mov eax, dword [ebp - 0x54]
lea ecx, [eax + 0x18]
cmp ecx, 0x472528
je 0x405c79
cmp dword [ecx + 0x14], 0x10
mov eax, dword [ecx + 0x10]
jb 0x405c6a
mov ecx, dword [ecx]
push eax
push ecx
mov ecx, 0x472528
call fcn.00402a50
mov eax, dword [ebp - 0x54]
sub esp, 0x18
add eax, 0x18
mov ecx, esp
push eax
call fcn.00402320
lea eax, [ebp - 0x78]
mov ecx, esi
push eax
call fcn.0040cd40
push eax
mov ecx, 0x472510
call fcn.004042a0
lea ecx, [ebp - 0x78]
call fcn.00401890
lea ecx, [ebp - 0x54]
mov dword [0x4725b4], 0xf1
mov byte [0x47249c], 1
mov byte [ebp - 4], 4
call fcn.00406c50
jmp 0x40659a
cmp dword [0x472590], 2
jne 0x4061a3
mov eax, dword [ebp - 0x1cc]
sub esp, 0x18
add eax, 0x18
mov ecx, esp
push eax
call fcn.00402320
lea eax, [ebp - 0xc4]
push eax
call fcn.0040dc40
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 8
jb 0x405d03
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0xac]
call fcn.00403640
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0xa
call fcn.00401890
mov eax, dword [ebp - 0x1cc]
sub esp, 0x18
add eax, 0x30
mov ecx, esp
push eax
call fcn.00402320
lea eax, [ebp - 0xdc]
push eax
call fcn.0040dc40
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0xb
jb 0x405d4d
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x1a0]
call fcn.00403640
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0xd
call fcn.00401890
mov eax, dword [ebp - 0x1cc]
sub esp, 0x18
add eax, 0x48
mov ecx, esp
push eax
call fcn.00402320
lea eax, [ebp - 0xc4]
push eax
call fcn.0040dc40
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0xe
jb 0x405d97
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x78]
call fcn.00403640
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x10
call fcn.00401890
mov eax, dword [ebp - 0x1cc]
sub esp, 0x18
add eax, 0x60
mov ecx, esp
push eax
call fcn.00402320
lea eax, [ebp - 0xdc]
push eax
call fcn.0040dc40
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x11
jb 0x405dde
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x188]
call fcn.00403640
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x13
call fcn.00401890
mov eax, dword [ebp - 0x1cc]
sub esp, 0x18
add eax, 0x78
mov ecx, esp
push eax
call fcn.00402320
lea eax, [ebp - 0x94]
push eax
call fcn.0040dc40
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x14
jb 0x405e28
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x170]
call fcn.00403640
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x16
call fcn.00401890
mov esi, dword [ebp - 0x1d8]
lea eax, [esi + 0x60]
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.00403120
add esp, 8
test al, al
je 0x406081
mov ecx, dword [esi + 0x28]
lea edi, [esi + 0x18]
mov eax, closesocket
mov dword [ebp - 0x38], 0xd8c4de94
sub eax, ecx
mov word [ebp - 0x34], 0x100
mov dword [ebp - 0x1bc], ecx
cmp eax, 1
jb 0x406b72
cmp dword [edi + 0x14], 0x10
jb 0x405e95
mov edi, dword [edi]
lea edx, [ecx + 1]
mov dword [ebp - 0x60], 0
mov esi, 0xf
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
lea eax, [ebp - 0x60]
mov dword [ebp - 0x1d4], edx
mov dword [ebp - 0x1d8], eax
cmp edx, esi
jbe 0x405f04
mov esi, edx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x405ed9
mov esi, closesocket
jmp 0x405ee3
mov eax, 0x16
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x60]
call fcn.004018e0
mov ecx, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x1d4]
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 0x60], eax
push ecx
push edi
push eax
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], esi
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x1d8]
add esp, 0xc
mov ecx, dword [ebp - 0x1bc]
mov word [eax + ecx], 0x5f
cmp dword [ebp - 0x98], 0x10
lea eax, [ebp - 0xac]
push dword [ebp - 0x9c]
cmovae eax, dword [ebp - 0xac]
lea ecx, [ebp - 0x60]
push eax
mov byte [ebp - 4], 0x17
call fcn.00406d40
push eax
lea ecx, [ebp - 0xdc]
call fcn.004022e0
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0x18
push eax
lea ecx, [ebp - 0x38]
call fcn.004043c0
mov ecx, eax
cmp dword [ebp - 0xc8], 0x10
lea eax, [ebp - 0xdc]
push dword [ebp - 0xcc]
cmovae eax, dword [ebp - 0xdc]
push eax
push 0
mov byte [ebp - 4], 0x19
call fcn.004086c0
push eax
lea ecx, [ebp - 0xc4]
call fcn.004022e0
lea ecx, [ebp - 0x94]
call fcn.00401890
lea ecx, [ebp - 0xdc]
call fcn.00401890
lea ecx, [ebp - 0x60]
call fcn.00401890
cmp dword [ebp - 0xb0], 0x10
lea eax, [ebp - 0xc4]
push 1
cmovae eax, dword [ebp - 0xc4]
push 0
push 0
push eax
mov dword [ebp - 0x60], 0x401611f2
lea eax, [ebp - 0x60]
mov dword [ebp - 0x5c], 0x29b260e1
mov dword [ebp - 0x58], 0x39d796d6
mov dword [ebp - 0x54], 0x83233df0
movaps xmm1, xmmword [ebp - 0x60]
push eax
mov dword [ebp - 0x40], 0x2e73619d
mov dword [ebp - 0x3c], 0x29b260e1
mov dword [ebp - 0x38], 0x39d796d6
mov dword [ebp - 0x34], 0x83233df0
pxor xmm1, xmmword [ebp - 0x40]
push 0
movaps xmmword [ebp - 0x60], xmm1
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
lea ecx, [ebp - 0xc4]
mov byte [0x47249d], 1
call fcn.00401890
lea ecx, [ebp - 0x170]
call fcn.00401890
lea ecx, [ebp - 0x188]
call fcn.00401890
lea ecx, [ebp - 0x78]
call fcn.00401890
lea ecx, [ebp - 0x1a0]
call fcn.00401890
lea ecx, [ebp - 0xac]
call fcn.00401890
lea ecx, [ebp - 0x1cc]
call fcn.00406c50
jmp 0x406b40
lea eax, [ebp - 0x1a0]
push 0x45d654
push eax
call fcn.004030e0
add esp, 8
test al, al
je 0x406123
movaps xmm0, xmmword [0x45d820]
xor ecx, ecx
movups xmmword [ebp - 0x120], xmm0
mov dword [ebp - 0xf0], 0x9b898fca
movaps xmm0, xmmword [0x45d7f0]
movups xmmword [ebp - 0x110], xmm0
mov dword [ebp - 0xec], 0x819f838b
movaps xmm0, xmmword [0x45d760]
movups xmmword [ebp - 0x100], xmm0
mov dword [ebp - 0xe8], 0xd58197
mov byte [ebp - 0xe4], 1
nop
mov al, cl
sub al, 0x46
xor byte [ebp + ecx - 0x120], al
inc ecx
cmp ecx, 0x3b
jb 0x4060f0
lea eax, [ebp - 0x120]
mov byte [ebp - 0xe4], 0
push eax
call fcn.0040cf40
add esp, 4
mov byte [0x47249d], 1
jmp 0x40603d
lea eax, [ebp - 0xc4]
mov dword [ebp - 0x38], 0xd8c9c9ce
push eax
lea ecx, [ebp - 0x38]
mov word [ebp - 0x34], 0x100
call fcn.004043c0
push eax
mov ecx, 0x472614
call fcn.004042a0
lea ecx, [ebp - 0xc4]
call fcn.00401890
lea ecx, [ebp - 0x170]
mov dword [0x4725b0], 0xd0035f3
mov byte [0x47249c], 1
call fcn.00401890
lea ecx, [ebp - 0x188]
call fcn.00401890
lea ecx, [ebp - 0x78]
call fcn.00401890
lea ecx, [ebp - 0x1a0]
call fcn.00401890
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 4
call fcn.00401890
jmp 0x40659a
cmp dword [0x472590], 3
jne 0x40658d
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], 0xd8c9c9ce
mov word [ebp - 0x34], 0x100
call fcn.004076a0
push eax
push 0x472614
call fcn.00403150
movzx ecx, byte [0x47249d]
add esp, 8
test al, al
cmovne ecx, esi
cmp dword [0x4725b0], 0xd0035f3
push 0xa
movzx eax, cl
cmovne eax, esi
push 0
mov byte [0x47249d], al
sub esp, 0x18
mov eax, dword [ebp - 0x1cc]
mov ecx, esp
add eax, 0x18
push eax
call fcn.00402320
lea eax, [ebp - 0x94]
push eax
call fcn.0040dc40
add esp, 0x1c
push eax
mov byte [ebp - 4], 0x1a
call fcn.0040a160
add esp, 0xc
mov dword [0x4723d8], eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 4
call fcn.00401890
mov eax, dword [ebp - 0x1cc]
sub esp, 0x18
add eax, 0x30
mov ecx, esp
push eax
call fcn.00402320
lea eax, [ebp - 0x94]
push eax
call fcn.0040dc40
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x1b
jb 0x40626b
mov eax, dword [eax]
push eax
mov ecx, 0x47240c
call fcn.004042e0
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 4
call fcn.00401890
mov eax, dword [ebp - 0x1cc]
push 0xa
push 0
sub esp, 0x18
add eax, 0x48
mov ecx, esp
push eax
call fcn.00402320
lea eax, [ebp - 0x78]
push eax
call fcn.0040dc40
add esp, 0x1c
push eax
mov byte [ebp - 4], 0x1c
call fcn.0040a160
add esp, 0xc
push eax
lea eax, [ebp - 0x94]
push eax
call fcn.0040a1d0
add esp, 8
mov ecx, 0x47243c
push eax
call fcn.004042a0
lea ecx, [ebp - 0x94]
call fcn.00401890
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 4
call fcn.00401890
mov eax, dword [ebp - 0x1cc]
sub esp, 0x18
add eax, 0x60
mov ecx, esp
push eax
call fcn.00402320
lea eax, [ebp - 0x94]
push eax
call fcn.0040dc40
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x1d
jb 0x406317
mov eax, dword [eax]
push eax
mov ecx, 0x472424
call fcn.004042e0
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 4
call fcn.00401890
mov eax, dword [ebp - 0x1cc]
sub esp, 0x18
add eax, 0x78
mov ecx, esp
push eax
call fcn.00402320
lea eax, [ebp - 0x94]
push eax
call fcn.0040dc40
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x1e
jb 0x406360
mov eax, dword [eax]
push eax
mov ecx, 0x4723f4
call fcn.004042e0
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 4
call fcn.00401890
mov eax, dword [ebp - 0x1cc]
sub esp, 0x18
add eax, 0x90
mov ecx, esp
push eax
call fcn.00402320
lea eax, [ebp - 0x94]
push eax
call fcn.0040dc40
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x1f
jb 0x4063ab
mov eax, dword [eax]
push eax
mov ecx, 0x472528
call fcn.004042e0
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 4
call fcn.00401890
mov eax, dword [ebp - 0x1cc]
push 0xa
push 0
sub esp, 0x18
add eax, 0xa8
mov ecx, esp
push eax
call fcn.00402320
lea eax, [ebp - 0x94]
push eax
call fcn.0040dc40
add esp, 0x1c
push eax
mov byte [ebp - 4], 0x20
call fcn.0040a160
add esp, 0xc
mov dword [0x472498], eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 4
call fcn.00401890
lea eax, [ebp - 0x94]
mov dword [ebp - 0x38], 0xc9d9d594
push eax
lea ecx, [ebp - 0x38]
mov word [ebp - 0x34], 0x100
call fcn.004043c0
push eax
mov ecx, 0x472614
call fcn.004042a0
lea ecx, [ebp - 0x94]
call fcn.00401890
movaps xmm0, xmmword [0x45d7c0]
lea eax, [ebp - 0x94]
movups xmmword [ebp - 0x158], xmm0
lea ecx, [ebp - 0x158]
mov dword [0x4725b0], 0x369f
movaps xmm0, xmmword [0x45d7d0]
movups xmmword [ebp - 0x148], xmm0
push eax
movaps xmm0, xmmword [0x45d780]
movups xmmword [ebp - 0x138], xmm0
mov dword [0x4725b8], 0x2c5aa
movaps xmm0, xmmword [0x45d7a0]
movups xmmword [ebp - 0x128], xmm0
mov dword [ebp - 0xe8], 0x4c584a6e
movaps xmm0, xmmword [0x45d750]
movups xmmword [ebp - 0x118], xmm0
mov word [ebp - 0xe4], 0x100
movaps xmm0, xmmword [str.k__eok]
movups xmmword [ebp - 0x108], xmm0
movaps xmm0, xmmword [0x45d740]
movups xmmword [ebp - 0xf8], xmm0
call fcn.00404480
push eax
mov ecx, 0x47262c
call fcn.004042a0
lea ecx, [ebp - 0x94]
call fcn.00401890
lea eax, [ebp - 0x94]
mov byte [0x47249c], 1
push eax
lea ecx, [ebp - 0x1bc]
mov dword [ebp - 0x1bc], 0x1008ef3
call fcn.00404380
push eax
mov ecx, 0x4724a0
call fcn.004042a0
lea ecx, [ebp - 0x94]
call fcn.00401890
movaps xmm0, xmmword [0x45d810]
xor ecx, ecx
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x50], 0xa1b9adb9
mov dword [ebp - 0x4c], 0x100b6a2
mov al, cl
sub al, 0x46
xor byte [ebp + ecx - 0x60], al
inc ecx
cmp ecx, 0x16
jb 0x406546
lea eax, [ebp - 0x1bf]
mov byte [ebp - 0x49], 0
push eax
lea eax, [ebp - 0x4a]
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x78]
call fcn.00403020
lea eax, [ebp - 0x78]
mov ecx, 0x4724d4
push eax
call fcn.004042a0
lea ecx, [ebp - 0x78]
call fcn.00401890
inc dword [0x472590]
jmp 0x40659a
cmp dword [0x472590], 4
jne 0x40593b
cmp byte [ebp - 0x1be], 0
je 0x405942
mov eax, dword [ebp - 0x1cc]
sub esp, 0x18
add eax, 0x18
mov ecx, esp
push eax
call fcn.00402320
lea eax, [ebp - 0x94]
push eax
call fcn.0040dc40
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x21
jb 0x4065d6
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0xac]
call fcn.00403640
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x23
call fcn.00401890
cmp dword [ebp - 0x98], 0x10
lea eax, [ebp - 0xac]
push 8
cmovae eax, dword [ebp - 0xac]
push str.Req_IDNF
push dword [ebp - 0x9c]
push eax
call fcn.004033d0
add esp, 0x10
test al, al
je 0x406a76
push 0
push 0x45d68b
mov ecx, 0x47247c
call fcn.00402a50
mov eax, dword [ebp - 0x1cc]
push 0xa
push 0
sub esp, 0x18
add eax, 0x30
mov ecx, esp
push eax
call fcn.00402320
lea eax, [ebp - 0x78]
push eax
call fcn.0040dc40
add esp, 0x1c
push eax
mov byte [ebp - 4], 0x24
call fcn.0040a160
add esp, 0xc
mov dword [0x4723d8], eax
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x23
call fcn.00401890
mov eax, dword [ebp - 0x1cc]
sub esp, 0x18
add eax, 0x48
mov ecx, esp
push eax
call fcn.00402320
lea eax, [ebp - 0x78]
push eax
call fcn.0040dc40
add esp, 0x1c
mov esi, eax
cmp dword [esi + 0x14], 0x10
mov byte [ebp - 4], 0x25
jb 0x4066a4
mov esi, dword [esi]
mov edx, esi
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x4066b0
sub edx, ecx
mov ecx, 0x47240c
push edx
push esi
call fcn.00402a50
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x23
call fcn.00401890
mov eax, dword [ebp - 0x1cc]
push 0xa
push 0
sub esp, 0x18
add eax, 0x60
mov ecx, esp
push eax
call fcn.00402320
lea eax, [ebp - 0x188]
push eax
call fcn.0040dc40
add esp, 0x1c
push eax
mov byte [ebp - 4], 0x26
call fcn.0040a160
add esp, 0xc
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.0040a1d0
add esp, 8
mov ecx, 0x47243c
push eax
call fcn.004042a0
lea ecx, [ebp - 0x78]
call fcn.00401890
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 0x23
call fcn.00401890
mov eax, dword [ebp - 0x1cc]
sub esp, 0x18
add eax, 0x78
mov ecx, esp
push eax
call fcn.00402320
lea eax, [ebp - 0x170]
push eax
call fcn.0040dc40
add esp, 0x1c
mov esi, eax
cmp dword [esi + 0x14], 0x10
mov byte [ebp - 4], 0x27
jb 0x406765
mov esi, dword [esi]
mov edx, esi
lea ecx, [edx + 1]
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x406770
sub edx, ecx
mov ecx, 0x472424
push edx
push esi
call fcn.00402a50
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 0x23
call fcn.00401890
mov eax, dword [ebp - 0x1cc]
sub esp, 0x18
add eax, 0x90
mov ecx, esp
push eax
call fcn.00402320
lea eax, [ebp - 0x78]
push eax
call fcn.0040dc40
add esp, 0x1c
mov esi, eax
cmp dword [esi + 0x14], 0x10
mov byte [ebp - 4], 0x28
jb 0x4067c4
mov esi, dword [esi]
mov edx, esi
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x4067d0
sub edx, ecx
mov ecx, 0x4723f4
push edx
push esi
call fcn.00402a50
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x23
call fcn.00401890
mov eax, dword [ebp - 0x1cc]
cmp dword [eax + 0xb8], 0
je 0x406875
sub esp, 0x18
mov word [ebp - 0x1bc], 0xc6
mov eax, esp
mov dword [ebp - 0x34], esp
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 0x1ba], 1
push eax
call fcn.00404350
mov eax, dword [ebp - 0x1cc]
sub esp, 0x18
mov esi, esp
mov byte [ebp - 4], 0x29
sub esp, 0x18
add eax, 0xa8
mov ecx, esp
push eax
call fcn.00402320
push esi
call fcn.0040dc40
add esp, 0x1c
mov byte [ebp - 4], 0x23
lea eax, [ebp - 0x54]
push eax
call fcn.00409f10
add esp, 0x34
mov ecx, 0x472454
push eax
call fcn.00404310
lea ecx, [ebp - 0x54]
call fcn.00406c50
mov eax, dword [ebp - 0x1cc]
cmp dword [eax + 0xd0], 0
je 0x406903
sub esp, 0x18
mov word [ebp - 0x1bc], 0xc6
mov eax, esp
mov dword [ebp - 0x34], esp
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 0x1ba], 1
push eax
call fcn.00404350
mov eax, dword [ebp - 0x1cc]
sub esp, 0x18
mov esi, esp
mov byte [ebp - 4], 0x2a
sub esp, 0x18
add eax, 0xc0
mov ecx, esp
push eax
call fcn.00402320
push esi
call fcn.0040dc40
add esp, 0x1c
mov byte [ebp - 4], 0x23
lea eax, [ebp - 0x54]
push eax
call fcn.00409f10
add esp, 0x34
mov ecx, 0x472460
push eax
call fcn.00404310
lea ecx, [ebp - 0x54]
call fcn.00406c50
mov eax, dword [ebp - 0x1cc]
mov dword [0x472494], 0xf018b3
jmp 0x40690d
mov dword [0x472494], 0
push 0xa
push 0
sub esp, 0x18
add eax, 0x108
mov ecx, esp
push eax
call fcn.00402320
lea eax, [ebp - 0x78]
push eax
call fcn.0040dc40
add esp, 0x1c
push eax
mov byte [ebp - 4], 0x2b
call fcn.0040a160
add esp, 0xc
mov dword [0x472498], eax
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x23
call fcn.00401890
mov eax, dword [ebp - 0x1cc]
cmp dword [eax + 0x130], 0
lea edx, [eax + 0x120]
je 0x4069a0
sub esp, 0x18
mov ecx, esp
push edx
call fcn.00402320
lea eax, [ebp - 0x78]
push eax
call fcn.0040dc40
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x2c
jb 0x406983
mov eax, dword [eax]
push eax
mov ecx, 0x47247c
call fcn.004042e0
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x23
call fcn.00401890
mov eax, dword [ebp - 0x1cc]
cmp dword [eax + 0x148], 0
je 0x406a21
sub esp, 0x18
mov word [ebp - 0x1bc], 0xc6
mov eax, esp
mov dword [ebp - 0x34], esp
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 0x1ba], 1
push eax
call fcn.00404350
mov eax, dword [ebp - 0x1cc]
sub esp, 0x18
mov esi, esp
mov byte [ebp - 4], 0x2d
sub esp, 0x18
add eax, 0x138
mov ecx, esp
push eax
call fcn.00402320
push esi
call fcn.0040dc40
add esp, 0x1c
mov byte [ebp - 4], 0x23
lea eax, [ebp - 0x54]
push eax
call fcn.00409f10
add esp, 0x34
mov ecx, 0x47246c
push eax
call fcn.00404310
lea ecx, [ebp - 0x54]
call fcn.00406c50
mov byte [0x472478], 1
jmp 0x406a28
mov byte [0x472478], 0
lea eax, [ebp - 0x78]
mov byte [0x47249c], 1
push eax
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], 0xd8ced4f9
mov word [ebp - 0x34], 0x100
call fcn.004043c0
push eax
mov ecx, 0x4724a0
call fcn.004042a0
lea ecx, [ebp - 0x78]
call fcn.00401890
lea ecx, [ebp - 0xac]
call fcn.00401890
lea ecx, [ebp - 0x1cc]
call fcn.00406c50
jmp 0x406b40
mov byte [0x47249d], 1
jmp 0x406066
cmp eax, 0xd1f
je 0x405921
cmp eax, 0x19b4
je 0x406acf
cmp eax, 0x2719
jne case.0x40598e.637
lea ecx, [ebp - 0x58]
mov byte [0x47249c], 0
mov dword [ebp - 0x58], 0xd8c8d5f3
mov dword [ebp - 0x54], 0xada1d1cc
mov dword [ebp - 0x50], 0xb7b686e2
mov dword [ebp - 0x4c], 0x100b5a9
call fcn.00407700
jmp 0x405932
lea ecx, [ebp - 0x1cc]
mov word [0x47249c], 0x100
call fcn.00406c50
jmp 0x406b40
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.00459a78
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push str.invalid_stoi_argument
call sub.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const__
push str.stoi_argument_out_of_range
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
call fcn.00401810
nop
outsd dx, dword [esi]
push esi
inc eax
add byte [esi - 0x29ffbfaa], ah
push esi
inc eax
add byte [edi + edx*2], bl
inc eax
add byte [edi + edx*2 + 0x40], bh
add byte [edi + edx*2 + 0x40], bh
add byte [edi + edx*2 + 0x40], bh
add byte [edx + 0x50004057], bh
pop edx
inc eax
add byte [ebp - 0x5dffbfa7], dl
pop ecx
inc eax
add bh, al
pop edx
inc eax
add byte [esi + 0x59], bl
inc eax
add byte [edx], bl
pop ecx
inc eax
add byte [eax], al
add eax, 0x5050505
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 33621253
add eax, 84215045
add eax, 50660613
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84148997
add eax, 50595077
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 50660613
int3