Function at 0x401b90
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x70
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, ecx
push ebx
mov ebx, eax
mov dword [ebp - 0x60], eax
lea edx, [ebx + 1]
jmp 0x401bb0
mov al, byte [ebx]
inc ebx
test al, al
jne 0x401bb0
sub ebx, edx
mov dword [ebp - 0x4c], 1
push 0x21
mov dword [ebp - 0x6c], ebx
call fcn.004044b3
add esp, 4
mov dword [ebp - 0x48], eax
test eax, eax
je 0x401eb5
mov ecx, dword [0x41710c]
xor edx, edx
push esi
mov esi, dword [0x417110]
push edi
mov edi, dword [0x4170fc]
mov edi, edi
mov eax, dword [ebp - 0x4c]
cmp edx, ebx
jl 0x401c1a
test eax, eax
je 0x401c1a
cmp edx, ebx
jne 0x401d83
mov eax, ebx
and eax, 0x8000003f
jns 0x401c11
dec eax
or eax, 0xffffffc0
inc eax
jne 0x401d83
mov eax, dword [ebp - 0x4c]
lea ecx, [edx + 0x40]
mov dword [ebp - 0x70], ecx
cmp ecx, ebx
jg 0x401c33
lea eax, [ebp - 0x44]
push eax
push ecx
mov ecx, dword [ebp - 0x60]
call fcn.00401aa0
jmp 0x401c81
cmp eax, 1
je 0x401c71
cmp edx, ebx
je 0x401c71
test eax, eax
jne 0x401c84
xorps xmm0, xmm0
mov dword [ebp - 8], 0
lea eax, [ebx*8]
movq qword [ebp - 0x14], xmm0
movdqu xmmword [ebp - 0x44], xmm0
mov dword [ebp - 0xc], eax
movdqu xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x4c], 1
movdqu xmmword [ebp - 0x24], xmm0
jmp 0x401c84
mov ecx, dword [ebp - 0x60]
lea eax, [ebp - 0x44]
push eax
push ebx
call fcn.004018f0
mov dword [ebp - 0x4c], eax
add esp, 8
mov ecx, dword [0x41710c]
mov edi, esi
mov edx, dword [0x4170fc]
xor esi, esi
mov ebx, dword [0x4170dc]
mov dword [ebp - 0x64], ecx
xor ecx, ecx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x5c], 5
mov dword [ebp - 0x58], 1
jmp 0x401cb8
mov edx, dword [ebp - 0x50]
cmp esi, 0x10
jae 0x401ccd
mov eax, edi
mov ecx, edx
not eax
and ecx, edi
and eax, ebx
mov edx, esi
or eax, ecx
jmp 0x401cfc
mov eax, ebx
cmp esi, 0x20
jae 0x401ce3
not eax
mov ecx, ebx
and eax, edx
and ecx, edi
mov edx, dword [ebp - 0x58]
or eax, ecx
jmp 0x401cf9
cmp esi, 0x30
jae 0x401cf1
xor eax, edx
mov edx, dword [ebp - 0x5c]
xor eax, edi
jmp 0x401cf9
not eax
or eax, edi
xor eax, edx
mov edx, ecx
and edx, 0xf
mov edx, dword [ebp + edx*4 - 0x44]
add edx, dword [esi*4 + 0x4145a0]
mov ecx, dword [esi*4 + 0x4144a0]
add edx, eax
add edx, dword [ebp - 0x64]
inc esi
add dword [ebp - 0x54], 7
add dword [ebp - 0x5c], 3
rol edx, cl
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x68], ebx
add ecx, 5
mov ebx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x50], edi
add edi, edx
mov dword [ebp - 0x58], ecx
cmp ecx, 0x141
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x64], eax
jb 0x401cb5
mov esi, dword [0x417110]
mov ecx, dword [0x41710c]
add esi, edi
mov edi, dword [0x4170fc]
add ecx, eax
add edi, dword [ebp - 0x50]
add dword [0x4170dc], ebx
mov edx, dword [ebp - 0x70]
mov ebx, dword [ebp - 0x6c]
mov dword [0x41710c], ecx
mov dword [0x417110], esi
mov dword [0x4170fc], edi
jmp 0x401bf0
xor edx, edx
cmp edx, 8
jb 0x401d9f
cmp edx, 0x10
jae 0x401d93
mov ecx, esi
jmp 0x401d9f
mov ecx, dword [0x4170dc]
cmp edx, 0x18
cmovb ecx, edi
mov ebx, ecx
shr ebx, 4
and ebx, 0xf
lea eax, [ebx - 0xa]
cmp eax, 5
ja 0x401db4
add bl, 0x57
jmp 0x401db7
add bl, 0x30
mov eax, dword [ebp - 0x48]
mov byte [eax + edx], bl
mov ebx, ecx
and ebx, 0xf
lea eax, [ebx - 0xa]
cmp eax, 5
ja 0x401dcf
add bl, 0x57
jmp 0x401dd2
add bl, 0x30
mov eax, dword [ebp - 0x48]
mov byte [eax + edx + 1], bl
mov ebx, ecx
shr ebx, 0xc
and ebx, 0xf
lea eax, [ebx - 0xa]
cmp eax, 5
ja 0x401dee
add bl, 0x57
jmp 0x401df1
add bl, 0x30
mov eax, dword [ebp - 0x48]
mov byte [eax + edx + 2], bl
mov ebx, ecx
shr ebx, 8
and ebx, 0xf
lea eax, [ebx - 0xa]
cmp eax, 5
ja 0x401e0d
add bl, 0x57
jmp 0x401e10
add bl, 0x30
mov eax, dword [ebp - 0x48]
mov byte [eax + edx + 3], bl
mov ebx, ecx
shr ebx, 0x14
and ebx, 0xf
lea eax, [ebx - 0xa]
cmp eax, 5
ja 0x401e2c
add bl, 0x57
jmp 0x401e2f
add bl, 0x30
mov eax, dword [ebp - 0x48]
mov byte [eax + edx + 4], bl
mov ebx, ecx
shr ebx, 0x10
and ebx, 0xf
lea eax, [ebx - 0xa]
cmp eax, 5
ja 0x401e4b
add bl, 0x57
jmp 0x401e4e
add bl, 0x30
mov eax, dword [ebp - 0x48]
mov byte [eax + edx + 5], bl
mov ebx, ecx
shr ebx, 0x1c
lea eax, [ebx - 0xa]
cmp eax, 5
ja 0x401e67
add bl, 0x57
jmp 0x401e6a
add bl, 0x30
mov eax, dword [ebp - 0x48]
shr ecx, 0x18
and ecx, 0xf
mov byte [eax + edx + 6], bl
lea eax, [ecx - 0xa]
cmp eax, 5
ja 0x401e84
add cl, 0x57
jmp 0x401e87
add cl, 0x30
mov eax, dword [ebp - 0x48]
mov byte [eax + edx + 7], cl
add edx, 8
mov ecx, dword [0x41710c]
cmp edx, 0x20
jb 0x401d85
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov byte [eax + edx], 0
pop ebx
call fcn.004041d7
mov esp, ebp
pop ebp
ret
cmp dword [0x417ea0], 1
jne 0x401ed2
push 0
push str.Debug_Message
push str.cannot_allocate_more_space_
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]