Function at 0x404070
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b2fc0
mov eax, dword fs:[0]
push eax
sub esp, 0x13c
mov eax, dword [0x4ef52c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, edx
mov dword [ebp - 0x144], esi
mov dword [ebp - 0x13c], ecx
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x130], ebx
mov dword [ebp - 0x118], eax
test ecx, ecx
je 0x4047ad
test esi, esi
je 0x4047ad
movzx eax, byte [ecx]
mov edi, 1
mov dword [ebp - 0x114], 0x3e4aca26
mov dword [ebp - 0x110], 0x7879b865
mov dword [ebp - 0x10c], 0x920fd2be
mov dword [ebp - 0x108], 0xadaa494
mov dword [ebp - 0x104], 0x376f53cc
mov dword [ebp - 0x100], 0xeff591ed
mov dword [ebp - 0xfc], 0xbc61df41
mov dword [ebp - 0xf8], 0x5495f08a
mov dword [ebp - 0xf4], 0xf2bad33a
mov dword [ebp - 0xf0], 0xb000324c
mov dword [ebp - 0xec], 0xb4e6b242
mov dword [ebp - 0xe8], 0xf65de970
mov dword [ebp - 0xe4], 0xc225a2ad
mov dword [ebp - 0xe0], 0x1346dc8c
mov dword [ebp - 0xdc], 0x7f20e1cf
mov dword [ebp - 0xd8], 0xa103b1ff
mov dword [ebp - 0xd4], 0x4e2818de
mov dword [ebp - 0xd0], 0xf736ab89
mov dword [ebp - 0xcc], 0xc90288a5
mov dword [ebp - 0xc8], 0x5e436824
mov dword [ebp - 0xc4], 0x1175b3ae
mov dword [ebp - 0xc0], 0xddd6821f
mov dword [ebp - 0xbc], 0xd9bdc7ea
mov dword [ebp - 0xb8], 0xa34f2e76
mov dword [ebp - 0xb4], 0xc3d51a69
mov dword [ebp - 0xb0], 0x73f30481
mov dword [ebp - 0xac], 0xaa9a604d
mov dword [ebp - 0xa8], 0x12cda8c8
mov dword [ebp - 0xa4], 0x6777d42c
mov dword [ebp - 0xa0], 0x725c52e5
mov dword [ebp - 0x9c], 0x8fc50607
mov dword [ebp - 0x98], 0x3bf4f1c0
mov dword [ebp - 0x94], 0x8555649e
mov dword [ebp - 0x90], 0x9f9383f9
mov dword [ebp - 0x8c], 0xd01c4449
mov dword [ebp - 0x88], 0x7b99b534
mov dword [ebp - 0x84], 0x860b15e3
mov dword [ebp - 0x80], 0xa0e81e0c
mov dword [ebp - 0x7c], 0xc16a8ea9
mov dword [ebp - 0x78], 0x8780d8ce
mov dword [ebp - 0x74], 0x5f313f97
mov dword [ebp - 0x70], 0xeebf480d
mov dword [ebp - 0x6c], 0x456b986d
mov dword [ebp - 0x68], 0xe25030fb
mov dword [ebp - 0x64], 0x51293d27
mov dword [ebp - 0x60], 0xfefd8d2b
mov dword [ebp - 0x5c], 0xe022fa05
mov dword [ebp - 0x58], 0xa6085a1b
mov dword [ebp - 0x54], 0x63339b7c
mov dword [ebp - 0x50], 0x59ec7acb
mov dword [ebp - 0x4c], 0xc4014b6c
mov dword [ebp - 0x48], 0x389c6e10
mov dword [ebp - 0x44], 0x2109d78b
mov dword [ebp - 0x40], 0xd1566271
mov dword [ebp - 0x3c], 0xe40e5b9d
mov dword [ebp - 0x38], 0x19405735
mov dword [ebp - 0x34], 0x90af39bb
mov dword [ebp - 0x30], 0xeb2a74db
mov dword [ebp - 0x2c], 0xe7582d96
mov dword [ebp - 0x28], 0x17a714c6
mov dword [ebp - 0x24], 0x66237d1d
mov dword [ebp - 0x20], 0x472f167e
mov dword [ebp - 0x1c], 0xacb984fc
mov dword [ebp - 0x18], 0x3cb7b6f8
mov dl, byte [ebp + eax - 0x114]
mov al, dl
and dl, 0xf
shr al, 4
mov cl, al
shl al, 2
add cl, al
add cl, cl
add cl, dl
movzx eax, cl
mov dword [ebp - 0x140], eax
cmp eax, 0xc
jne 0x4047ad
cmp esi, 2
jb 0x4047ad
mov dword [ebp - 4], 0
mov eax, 0x2aaaaaab
mov esi, dword [ebx + 4]
mov ecx, esi
sub ecx, dword [ebx]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x120], eax
cmp eax, 0xc
jbe 0x404376
lfence
mov esi, dword [ebx]
mov edx, dword [ebx + 4]
add esi, 0x90
jmp 0x4043ce
jae 0x4043dc
mov ecx, dword [ebx + 8]
mov eax, 0x2aaaaaab
sub ecx, dword [ebx]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xc
jae 0x4043a1
push ecx
push 0xc
mov ecx, ebx
lfence
call fcn.00405df0
jmp 0x4043dc
mov eax, 0xc
sub eax, dword [ebp - 0x120]
je 0x4043cc
nop
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
add esi, 0xc
sub eax, 1
jne 0x4043b0
mov edx, esi
push ecx
mov ecx, esi
call fcn.00405710
mov dword [ebx + 4], esi
add esp, 4
mov eax, dword [ebp - 0x118]
mov edx, 0xc
mov ebx, dword [eax + 4]
mov ecx, ebx
mov esi, dword [eax]
sub ecx, esi
sar ecx, 2
cmp ecx, edx
jbe 0x404405
mov ecx, dword [ebp - 0x118]
lea eax, [esi + 0x30]
mov dword [ecx + 4], eax
jmp 0x40444e
jae 0x40444e
mov eax, dword [eax + 8]
sub eax, esi
sar eax, 2
cmp eax, 0xc
jae 0x40442d
push ecx
mov ecx, dword [ebp - 0x118]
push 0xc
lfence
call fcn.00405d10
jmp 0x40444e
sub edx, ecx
lea eax, [edx*4]
push eax
push 0
push ebx
lea esi, [ebx + eax]
call fcn.0048ba70
mov ecx, dword [ebp - 0x118]
add esp, 0xc
mov dword [ecx + 4], esi
mov dword [ebp - 4], 0xffffffff
xor edx, edx
mov dword [ebp - 0x134], edx
cmp edx, dword [ebp - 0x140]
jae 0x404d96
mov ebx, dword [ebp - 0x144]
lea eax, [edi + 3]
cmp eax, ebx
ja 0x4047ad
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0x114], 0x3e4aca26
mov dword [ebp - 0x110], 0x7879b865
mov dword [ebp - 0x10c], 0x920fd2be
movzx eax, byte [esi + edi]
mov dword [ebp - 0x108], 0xadaa494
mov dword [ebp - 0x104], 0x376f53cc
mov dword [ebp - 0x100], 0xeff591ed
mov dword [ebp - 0xfc], 0xbc61df41
mov dword [ebp - 0xf8], 0x5495f08a
mov dword [ebp - 0xf4], 0xf2bad33a
mov dword [ebp - 0xf0], 0xb000324c
mov dword [ebp - 0xec], 0xb4e6b242
mov dword [ebp - 0xe8], 0xf65de970
mov dword [ebp - 0xe4], 0xc225a2ad
mov dword [ebp - 0xe0], 0x1346dc8c
mov dword [ebp - 0xdc], 0x7f20e1cf
mov dword [ebp - 0xd8], 0xa103b1ff
mov dword [ebp - 0xd4], 0x4e2818de
mov dword [ebp - 0xd0], 0xf736ab89
mov dword [ebp - 0xcc], 0xc90288a5
mov dword [ebp - 0xc8], 0x5e436824
mov dword [ebp - 0xc4], 0x1175b3ae
mov dword [ebp - 0xc0], 0xddd6821f
mov dword [ebp - 0xbc], 0xd9bdc7ea
mov dword [ebp - 0xb8], 0xa34f2e76
mov dword [ebp - 0xb4], 0xc3d51a69
mov dword [ebp - 0xb0], 0x73f30481
mov dword [ebp - 0xac], 0xaa9a604d
mov dword [ebp - 0xa8], 0x12cda8c8
mov dword [ebp - 0xa4], 0x6777d42c
mov dword [ebp - 0xa0], 0x725c52e5
mov dword [ebp - 0x9c], 0x8fc50607
mov dword [ebp - 0x98], 0x3bf4f1c0
mov dword [ebp - 0x94], 0x8555649e
mov dword [ebp - 0x90], 0x9f9383f9
mov dword [ebp - 0x8c], 0xd01c4449
mov dword [ebp - 0x88], 0x7b99b534
mov dword [ebp - 0x84], 0x860b15e3
mov dword [ebp - 0x80], 0xa0e81e0c
mov dword [ebp - 0x7c], 0xc16a8ea9
mov dword [ebp - 0x78], 0x8780d8ce
mov dword [ebp - 0x74], 0x5f313f97
mov dword [ebp - 0x70], 0xeebf480d
mov dword [ebp - 0x6c], 0x456b986d
mov dword [ebp - 0x68], 0xe25030fb
mov dword [ebp - 0x64], 0x51293d27
mov dword [ebp - 0x60], 0xfefd8d2b
mov dword [ebp - 0x5c], 0xe022fa05
mov dword [ebp - 0x58], 0xa6085a1b
mov dword [ebp - 0x54], 0x63339b7c
mov dword [ebp - 0x50], 0x59ec7acb
mov dword [ebp - 0x4c], 0xc4014b6c
mov dword [ebp - 0x48], 0x389c6e10
mov dword [ebp - 0x44], 0x2109d78b
mov dword [ebp - 0x40], 0xd1566271
mov dword [ebp - 0x3c], 0xe40e5b9d
mov dword [ebp - 0x38], 0x19405735
mov dword [ebp - 0x34], 0x90af39bb
mov dword [ebp - 0x30], 0xeb2a74db
mov dword [ebp - 0x2c], 0xe7582d96
mov dword [ebp - 0x28], 0x17a714c6
mov dword [ebp - 0x24], 0x66237d1d
mov dword [ebp - 0x20], 0x472f167e
mov dword [ebp - 0x1c], 0xacb984fc
mov dword [ebp - 0x18], 0x3cb7b6f8
movzx ecx, byte [ebp + eax - 0x114]
mov eax, dword [ebp - 0x118]
mov eax, dword [eax]
mov dword [eax + edx*4], ecx
mov cx, word [esi + edi + 1]
call fcn.00403840
movzx esi, ax
mov cx, si
mov edx, esi
shr cx, 0xc
shr edx, 8
mov ax, cx
shl cx, 2
and edx, 0xf
add ax, cx
add ax, ax
add edi, 3
add dx, ax
mov eax, esi
shr eax, 4
mov cx, dx
shl dx, 2
and eax, 0xf
add cx, dx
and esi, 0xf
add cx, cx
add cx, ax
mov ax, cx
shl cx, 2
add ax, cx
add ax, ax
add ax, si
movzx edx, ax
lea eax, [edx + edi]
mov dword [ebp - 0x138], eax
cmp eax, ebx
ja 0x4047ad
lfence
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 0
mov ecx, dword [ebp - 0x13c]
lea eax, [ebp - 0x12c]
push eax
add ecx, edi
mov dword [ebp - 4], 2
call fcn.00403cd0
add esp, 4
test al, al
jne 0x4047cb
mov ecx, dword [ebp - 0x12c]
test ecx, ecx
je 0x4047ad
mov edx, dword [ebp - 0x124]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x4047a3
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404d9d
push edx
push ecx
call fcn.0048846f
add esp, 8
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00488461
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x128]
mov edi, dword [ebp - 0x12c]
sub ecx, edi
mov ebx, ecx
mov byte [ebp - 4], 3
lea edx, [eax + eax*2]
shr ebx, 1
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x120], ebx
shl edx, 2
mov dword [ebp - 0x148], edi
mov ebx, dword [eax]
add ebx, edx
mov dword [ebp - 0x11c], edx
mov esi, dword [ebx + 4]
mov eax, dword [ebx]
sub esi, eax
cmp ecx, esi
jae 0x40481b
add eax, ecx
mov dword [ebx + 4], eax
jmp 0x404857
jbe 0x404857
mov eax, dword [ebx + 8]
sub eax, dword [ebx]
cmp ecx, eax
jbe 0x40483a
push ecx
push ecx
mov ecx, ebx
lfence
call fcn.00403060
jmp 0x404851
mov eax, dword [ebx + 4]
sub ecx, esi
push ecx
push 0
push eax
lea esi, [ecx + eax]
call fcn.0048ba70
add esp, 0xc
mov dword [ebx + 4], esi
mov edx, dword [ebp - 0x11c]
xor ebx, ebx
cmp dword [ebp - 0x120], ebx
jbe 0x404d23
mov esi, edi
mov edi, dword [ebp - 0x120]
nop dword [eax]
movzx eax, byte [esi]
mov dword [ebp - 0x114], 0x3e4aca26
mov dword [ebp - 0x110], 0x7879b865
mov dword [ebp - 0x10c], 0x920fd2be
mov dword [ebp - 0x108], 0xadaa494
mov dword [ebp - 0x104], 0x376f53cc
mov dword [ebp - 0x100], 0xeff591ed
mov dword [ebp - 0xfc], 0xbc61df41
mov dword [ebp - 0xf8], 0x5495f08a
mov dword [ebp - 0xf4], 0xf2bad33a
mov dword [ebp - 0xf0], 0xb000324c
mov dword [ebp - 0xec], 0xb4e6b242
mov dword [ebp - 0xe8], 0xf65de970
mov dword [ebp - 0xe4], 0xc225a2ad
mov dword [ebp - 0xe0], 0x1346dc8c
mov dword [ebp - 0xdc], 0x7f20e1cf
mov dword [ebp - 0xd8], 0xa103b1ff
mov dword [ebp - 0xd4], 0x4e2818de
mov dword [ebp - 0xd0], 0xf736ab89
mov dword [ebp - 0xcc], 0xc90288a5
mov dword [ebp - 0xc8], 0x5e436824
mov dword [ebp - 0xc4], 0x1175b3ae
mov dword [ebp - 0xc0], 0xddd6821f
mov dword [ebp - 0xbc], 0xd9bdc7ea
mov dword [ebp - 0xb8], 0xa34f2e76
mov dword [ebp - 0xb4], 0xc3d51a69
mov dword [ebp - 0xb0], 0x73f30481
mov dword [ebp - 0xac], 0xaa9a604d
mov dword [ebp - 0xa8], 0x12cda8c8
mov dword [ebp - 0xa4], 0x6777d42c
mov dword [ebp - 0xa0], 0x725c52e5
mov dword [ebp - 0x9c], 0x8fc50607
mov dword [ebp - 0x98], 0x3bf4f1c0
mov dword [ebp - 0x94], 0x8555649e
mov dword [ebp - 0x90], 0x9f9383f9
mov dword [ebp - 0x8c], 0xd01c4449
mov dword [ebp - 0x88], 0x7b99b534
mov dword [ebp - 0x84], 0x860b15e3
mov dword [ebp - 0x80], 0xa0e81e0c
mov dword [ebp - 0x7c], 0xc16a8ea9
mov dword [ebp - 0x78], 0x8780d8ce
mov dword [ebp - 0x74], 0x5f313f97
mov dword [ebp - 0x70], 0xeebf480d
mov dword [ebp - 0x6c], 0x456b986d
mov dword [ebp - 0x68], 0xe25030fb
mov dword [ebp - 0x64], 0x51293d27
mov dword [ebp - 0x60], 0xfefd8d2b
mov dword [ebp - 0x5c], 0xe022fa05
mov dword [ebp - 0x58], 0xa6085a1b
mov dword [ebp - 0x54], 0x63339b7c
mov dword [ebp - 0x50], 0x59ec7acb
mov dword [ebp - 0x4c], 0xc4014b6c
mov dword [ebp - 0x48], 0x389c6e10
mov dword [ebp - 0x44], 0x2109d78b
mov dword [ebp - 0x40], 0xd1566271
mov dword [ebp - 0x3c], 0xe40e5b9d
mov dword [ebp - 0x38], 0x19405735
mov dword [ebp - 0x34], 0x90af39bb
mov dword [ebp - 0x30], 0xeb2a74db
mov dword [ebp - 0x2c], 0xe7582d96
mov dword [ebp - 0x28], 0x17a714c6
mov dword [ebp - 0x24], 0x66237d1d
mov dword [ebp - 0x20], 0x472f167e
mov dword [ebp - 0x1c], 0xacb984fc
mov dword [ebp - 0x18], 0x3cb7b6f8
movzx ecx, byte [ebp + eax - 0x114]
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x114], 0x3e4aca26
mov dword [ebp - 0x110], 0x7879b865
mov dword [ebp - 0x10c], 0x920fd2be
mov eax, dword [eax]
add eax, edx
mov dword [ebp - 0x108], 0xadaa494
lea edx, [ebx + ebx]
mov dword [ebp - 0x104], 0x376f53cc
mov dword [ebp - 0x100], 0xeff591ed
mov dword [ebp - 0xfc], 0xbc61df41
mov eax, dword [eax]
mov dword [ebp - 0xf8], 0x5495f08a
mov dword [ebp - 0xf4], 0xf2bad33a
mov byte [eax + edx], cl
movzx eax, byte [esi + edi]
lea esi, [esi + 1]
mov dword [ebp - 0xf0], 0xb000324c
inc ebx
mov dword [ebp - 0xec], 0xb4e6b242
mov dword [ebp - 0xe8], 0xf65de970
mov dword [ebp - 0xe4], 0xc225a2ad
mov dword [ebp - 0xe0], 0x1346dc8c
mov dword [ebp - 0xdc], 0x7f20e1cf
mov dword [ebp - 0xd8], 0xa103b1ff
mov dword [ebp - 0xd4], 0x4e2818de
mov dword [ebp - 0xd0], 0xf736ab89
mov dword [ebp - 0xcc], 0xc90288a5
mov dword [ebp - 0xc8], 0x5e436824
mov dword [ebp - 0xc4], 0x1175b3ae
mov dword [ebp - 0xc0], 0xddd6821f
mov dword [ebp - 0xbc], 0xd9bdc7ea
mov dword [ebp - 0xb8], 0xa34f2e76
mov dword [ebp - 0xb4], 0xc3d51a69
mov dword [ebp - 0xb0], 0x73f30481
mov dword [ebp - 0xac], 0xaa9a604d
mov dword [ebp - 0xa8], 0x12cda8c8
mov dword [ebp - 0xa4], 0x6777d42c
mov dword [ebp - 0xa0], 0x725c52e5
mov dword [ebp - 0x9c], 0x8fc50607
mov dword [ebp - 0x98], 0x3bf4f1c0
mov dword [ebp - 0x94], 0x8555649e
mov dword [ebp - 0x90], 0x9f9383f9
mov dword [ebp - 0x8c], 0xd01c4449
mov dword [ebp - 0x88], 0x7b99b534
mov dword [ebp - 0x84], 0x860b15e3
mov dword [ebp - 0x80], 0xa0e81e0c
mov dword [ebp - 0x7c], 0xc16a8ea9
mov dword [ebp - 0x78], 0x8780d8ce
mov dword [ebp - 0x74], 0x5f313f97
mov dword [ebp - 0x70], 0xeebf480d
mov dword [ebp - 0x6c], 0x456b986d
mov dword [ebp - 0x68], 0xe25030fb
mov dword [ebp - 0x64], 0x51293d27
mov dword [ebp - 0x60], 0xfefd8d2b
mov dword [ebp - 0x5c], 0xe022fa05
mov dword [ebp - 0x58], 0xa6085a1b
mov dword [ebp - 0x54], 0x63339b7c
mov dword [ebp - 0x50], 0x59ec7acb
mov dword [ebp - 0x4c], 0xc4014b6c
mov dword [ebp - 0x48], 0x389c6e10
mov dword [ebp - 0x44], 0x2109d78b
mov dword [ebp - 0x40], 0xd1566271
mov dword [ebp - 0x3c], 0xe40e5b9d
mov dword [ebp - 0x38], 0x19405735
mov dword [ebp - 0x34], 0x90af39bb
mov dword [ebp - 0x30], 0xeb2a74db
mov dword [ebp - 0x2c], 0xe7582d96
mov dword [ebp - 0x28], 0x17a714c6
mov dword [ebp - 0x24], 0x66237d1d
mov dword [ebp - 0x20], 0x472f167e
mov dword [ebp - 0x1c], 0xacb984fc
mov dword [ebp - 0x18], 0x3cb7b6f8
movzx ecx, byte [ebp + eax - 0x114]
mov eax, dword [ebp - 0x130]
mov eax, dword [eax]
add eax, dword [ebp - 0x11c]
mov eax, dword [eax]
mov byte [eax + edx + 1], cl
mov edx, dword [ebp - 0x11c]
cmp ebx, edi
jb 0x404870
mov edi, dword [ebp - 0x148]
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x138], eax
mov dword [ebp - 4], 0xffffffff
test edi, edi
je 0x404d84
mov ecx, dword [ebp - 0x124]
mov eax, edi
sub ecx, edi
cmp ecx, 0x1000
jb 0x404d5c
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404d9d
push ecx
push edi
call fcn.0048846f
add esp, 8
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 0
mov edx, dword [ebp - 0x134]
mov edi, dword [ebp - 0x138]
inc edx
jmp 0x404457
mov al, 1
jmp 0x4047af
call fcn.0048ed7f
int3