Function at 0x401b30
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x12c
mov eax, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
lea edx, [ebp - 0x10c]
mov byte [ebp - 0x10c], 2
mov ecx, edx
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x124], edx
mov dword [ebp - 0x10b], 0x4544454a
mov dword [ebp - 0x107], 0x69662043
mov dword [ebp - 0x103], 0x6720656c
mov dword [ebp - 0xff], 0x72656e65
mov dword [ebp - 0xfb], 0x64657461
mov dword [ebp - 0xf7], 0x20796220
mov dword [ebp - 0xf3], 0x7564656a
mov dword [ebp - 0xef], 0x2a6c6974
mov word [ebp - 0xeb], 0xa
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
and edx, 0x80808080
je 0x401bb9
test edx, 0x8080
je 0x401fc9
add dl, dl
mov edx, dword [ebp + 0xc]
sbb ecx, 3
sub ecx, dword [ebp - 0x124]
lea eax, [ecx + edx]
cmp dword [ebp - 0x11c], eax
jae 0x401fd4
lea ecx, [ebp - 0x10c]
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
and edx, 0x80808080
je 0x401bff
test edx, 0x8080
je 0x401fbe
mov eax, dword [ebp + 0xc]
add dl, dl
sbb ecx, 3
sub ecx, dword [ebp - 0x124]
lea edx, [ebp - 0x10c]
lea ebx, [ecx + eax]
mov eax, dword [edi]
mov dword [esp + 4], str.QF_d_n
mov dword [esp], edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_sprintf
lea ecx, [ebp - 0x10c]
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
and edx, 0x80808080
je 0x401c55
test edx, 0x8080
je 0x402216
add dl, dl
sbb ecx, 3
sub ecx, dword [ebp - 0x124]
lea eax, [ecx + ebx]
cmp dword [ebp - 0x11c], eax
mov dword [ebp - 0x114], eax
jae 0x401fef
mov ebx, dword [edi]
mov word [ebp - 0x118], 0
mov ecx, ebx
shr ecx, 3
test ecx, ecx
mov dword [ebp - 0x128], ecx
je 0x401ccb
xor edx, edx
movzx eax, byte [edx + edi + 4]
add edx, 1
add word [ebp - 0x118], ax
cmp edx, dword [ebp - 0x128]
jne 0x401cb4
mov edx, ebx
and edx, 7
je 0x401cf2
mov ecx, edx
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x128]
sub eax, 1
movzx edx, byte [edi + ecx + 4]
and eax, edx
add word [ebp - 0x118], ax
mov edx, dword [ebp - 0x128]
test edx, edx
je 0x4020ba
xor edx, edx
xor esi, esi
xor ebx, ebx
jmp 0x401d16
add esi, 1
add edx, 1
cmp edx, dword [ebp - 0x128]
je 0x401d34
movzx eax, byte [edx + edi + 4]
test al, al
je 0x401d08
add al, 1
sete al
add edx, 1
movzx eax, al
add ebx, eax
cmp edx, dword [ebp - 0x128]
jne 0x401d16
cmp esi, ebx
mov eax, 1
mov byte [ebp - 0x115], 0xff
jge 0x4020ba
mov dword [esp + 8], eax
lea eax, [ebp - 0x10c]
mov dword [esp + 4], str.F_d_n
mov dword [esp], eax
call sub.msvcrt.dll_sprintf
lea ecx, [ebp - 0x10c]
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
and edx, 0x80808080
je 0x401d68
test edx, 0x8080
jne 0x401d8d
shr edx, 0x10
add ecx, 2
add dl, dl
mov edx, dword [ebp - 0x114]
sbb ecx, 3
sub ecx, dword [ebp - 0x124]
add edx, ecx
cmp dword [ebp - 0x11c], edx
mov dword [ebp - 0x120], edx
jae 0x4021b3
mov eax, dword [edi]
test eax, eax
je 0x401ed0
mov dword [ebp - 0x110], 0
mov eax, dword [ebp - 0x110]
sar eax, 0x1f
movzx edx, byte [ebp - 0x115]
shr eax, 0x1d
add eax, dword [ebp - 0x110]
sar eax, 3
cmp dl, byte [edi + eax + 4]
jne 0x401df2
cmp dl, byte [eax + edi + 5]
je 0x4020a1
mov ecx, dword [ebp - 0x110]
lea eax, [ebp - 0x10c]
mov dword [esp + 4], str.L_05d
mov dword [esp], eax
mov dword [esp + 8], ecx
call sub.msvcrt.dll_sprintf
mov edx, dword [ebp - 0x110]
mov ebx, eax
lea esi, [eax + 0x20]
jmp 0x401e55
cmp edx, 0xffff
mov eax, 0x30
ja 0x401e44
mov eax, edx
mov ecx, edx
shr eax, 3
and ecx, 7
movzx eax, byte [edi + eax + 4]
sar eax, cl
and eax, 1
add eax, 0x30
mov byte [ebx + ebp - 0x10c], al
add ebx, 1
add edx, 1
cmp ebx, esi
je 0x401e59
cmp dword [edi], edx
ja 0x401e20
lea eax, [ebp - 0x10c]
add eax, ebx
mov word [eax], 0xa2a
lea ecx, [ebp - 0x10c]
mov byte [eax + 2], 0
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
and edx, 0x80808080
je 0x401e70
test edx, 0x8080
jne 0x401e95
shr edx, 0x10
add ecx, 2
add dl, dl
mov edx, dword [ebp - 0x120]
sbb ecx, 3
sub ecx, dword [ebp - 0x124]
lea eax, [ecx + edx]
cmp dword [ebp - 0x11c], eax
jae 0x402048
mov dword [ebp - 0x120], eax
add dword [ebp - 0x110], 0x20
mov eax, dword [ebp - 0x110]
cmp dword [edi], eax
ja 0x401dcc
movzx eax, word [ebp - 0x118]
lea edx, [ebp - 0x10c]
mov dword [esp + 4], str.C_04X_n
mov dword [esp], edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_sprintf
lea ecx, [ebp - 0x10c]
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
and edx, 0x80808080
je 0x401ef7
test edx, 0x8080
jne 0x401f1c
shr edx, 0x10
add ecx, 2
add dl, dl
mov eax, dword [ebp - 0x120]
sbb ecx, 3
sub ecx, dword [ebp - 0x124]
lea ebx, [ecx + eax]
cmp dword [ebp - 0x11c], ebx
jae 0x40215a
cmp dword [ebp + 0xc], ebx
jb 0x4020c8
mov eax, 3
mov byte [ebp - 0x10c], 3
mov dword [esp + 8], eax
lea eax, [ebp - 0x10b]
mov dword [esp + 4], str._04X
mov dword [esp], eax
call sub.msvcrt.dll_sprintf
lea ecx, [ebp - 0x10c]
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
and edx, 0x80808080
je 0x401f71
test edx, 0x8080
jne 0x401f96
shr edx, 0x10
add ecx, 2
add dl, dl
sbb ecx, 3
sub ecx, dword [ebp - 0x124]
lea eax, [ecx + ebx]
cmp dword [ebp - 0x11c], eax
jae 0x4020ff
sub eax, dword [ebp + 0xc]
add esp, 0x12c
pop ebx
pop esi
pop edi
pop ebp
ret
shr edx, 0x10
add ecx, 2
jmp 0x401c22
shr edx, 0x10
add ecx, 2
jmp 0x401bdc
mov dword [esp + 8], ecx
lea ecx, [ebp - 0x10c]
mov dword [esp + 4], ecx
mov dword [esp], edx
call sub.msvcrt.dll_memcpy
jmp 0x401bf9
lea edx, [ebp - 0x10c]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], ebx
call sub.msvcrt.dll_memcpy
lea ecx, [ebp - 0x10c]
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
and edx, 0x80808080
je 0x40200b
test edx, 0x8080
jne 0x402030
shr edx, 0x10
add ecx, 2
add dl, dl
sbb ecx, 3
sub ecx, dword [ebp - 0x124]
add ebx, ecx
mov dword [ebp - 0x114], ebx
jmp 0x401c98
mov dword [esp + 8], ecx
lea ecx, [ebp - 0x10c]
mov dword [esp + 4], ecx
mov dword [esp], edx
call sub.msvcrt.dll_memcpy
lea ecx, [ebp - 0x10c]
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
and edx, 0x80808080
je 0x402064
test edx, 0x8080
jne 0x402089
shr edx, 0x10
add ecx, 2
add dl, dl
mov eax, dword [ebp - 0x120]
sbb ecx, 3
sub ecx, dword [ebp - 0x124]
add eax, ecx
jmp 0x401eb5
cmp dl, byte [eax + edi + 6]
jne 0x401df2
cmp dl, byte [eax + edi + 7]
jne 0x401df2
jmp 0x401ebb
xor eax, eax
mov byte [ebp - 0x115], 0
jmp 0x401d48
mov edx, dword [ebp + 0xc]
xor ecx, ecx
mov eax, dword [ebp - 0x11c]
cmp edx, eax
jae 0x401f45
movzx eax, byte [edx]
add edx, 1
and eax, 0x7f
add ecx, eax
cmp edx, ebx
jb 0x4020f5
lea eax, [ecx + 3]
movzx eax, ax
jmp 0x401f4a
cmp dword [ebp - 0x11c], edx
ja 0x4020db
jmp 0x4020ea
lea edx, [ebp - 0x10c]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], ebx
call sub.msvcrt.dll_memcpy
lea ecx, [ebp - 0x10c]
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
and edx, 0x80808080
je 0x40211b
test edx, 0x8080
je 0x402221
add dl, dl
sbb ecx, 3
sub ecx, dword [ebp - 0x124]
lea eax, [ebx + ecx]
sub eax, dword [ebp + 0xc]
add esp, 0x12c
pop ebx
pop esi
pop edi
pop ebp
ret
lea edx, [ebp - 0x10c]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
lea ecx, [ebp - 0x10c]
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
and edx, 0x80808080
je 0x402176
test edx, 0x8080
jne 0x40219b
shr edx, 0x10
add ecx, 2
add dl, dl
mov ebx, dword [ebp - 0x120]
sbb ecx, 3
sub ecx, dword [ebp - 0x124]
add ebx, ecx
jmp 0x401f3c
mov dword [esp + 8], ecx
lea ecx, [ebp - 0x10c]
mov dword [esp + 4], ecx
mov eax, dword [ebp - 0x114]
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
lea ecx, [ebp - 0x10c]
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
and edx, 0x80808080
je 0x4021d5
test edx, 0x8080
jne 0x4021fa
shr edx, 0x10
add ecx, 2
add dl, dl
sbb ecx, 3
sub ecx, dword [ebp - 0x124]
add ecx, dword [ebp - 0x114]
mov dword [ebp - 0x120], ecx
jmp 0x401db2
shr edx, 0x10
add ecx, 2
jmp 0x401c78
shr edx, 0x10
add ecx, 2
add dl, dl
sbb ecx, 3
sub ecx, dword [ebp - 0x124]
lea eax, [ebx + ecx]
jmp 0x40214c