Function at 0x40529f
Capabilities:
Contain obfuscated stackstrings

Disassembly:
add esp, 4
and edx, 0x2d4
pop edx
push edi
push ecx
add esp, 4
and edi, 0x43f8
pop edi
mov edx, dword [ebp - 0x14]
add edx, 0x138
imul eax, dword [ebp - 0x10], 0x138
add eax, 0x44f3644b
imul ecx, dword [ebp - 0x10], 0x138
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x10]
mov dword [ebp - 0x14b8], edx
mov edx, dword [ebp - 0x3c0]
mov dword [ebp - 0x1ef8], edx
mov eax, dword [ebp - 0x1ef8]
add eax, dword [ebp - 0x14b8]
mov dword [ebp - 0x3c0], eax
push esi
push eax
add esp, 4
add esi, 0xb02d
pop esi
push ecx
call 0x404a74
add byte [esp + eax*2 + 0x36], al
inc ebx
inc esi
inc ebp
aaa
cmp eax, dword [esi - 0x7d]
les eax, [ebx + ebp*8]
add al, 0x47
dec ebp
aas
inc ebp
sub ecx, 0xb145
xor ecx, 0x225a
pop ecx
mov byte [ebp - 0xb78], 0x52
mov byte [ebp - 0xb77], 0xb9
mov byte [ebp - 0xb76], 0x10
mov byte [ebp - 0xb75], 0x10
test dword [ebx + 0x10fffff4], ecx
mov byte [ebp - 0xb74], 0x10
mov byte [ebp - 0xb73], 0x10
mov byte [ebp - 0xb72], 0x5a
push edi
push eax
add esp, 4
xor edi, 0x69f8
add edi, 0x11f88
pop edi
push edx
push edx
add esp, 4
xor edx, 0xa4df
or edx, 0xb096
pop edx
push ecx
sub ecx, 0x17868
add ecx, 0x1137d
pop ecx
mov byte [ebp - 0xb80], 0x52
mov byte [ebp - 0xb7f], 0xb9
mov byte [ebp - 0xb7e], 0x20
mov byte [ebp - 0xb7d], 0x20
mov byte [ebp - 0xb7c], 0x20
mov byte [ebp - 0xb7b], 0x20
mov byte [ebp - 0xb7a], 0x5a
push esi
push eax
add esp, 4
and esi, 0x161a
xor esi, 0x4d2d
pop esi
push edx
push ebx
add esp, 4
and edx, 0xd88c
add edx, 0x6cc4
or edx, 0x15e18
pop edx
push esi
xor esi, 0x116e6
pop esi
mov dword [ebp - 0x1fa4], 0xe
push edx
add edx, 0x374c
or edx, 0xbc6d
or edx, 0x6646
pop edx
push ebx
call 0x404b7c
add byte [edx], dh
dec esi
dec edi
inc ebx
inc ebp
aas
dec esp
add esp, 4
sub ebx, 0x2f9b
xor ebx, 0x49c0
pop ebx
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xb78]
mov dword [ebp - 0x14bc], eax
push ebx
add ebx, 0x18519
pop ebx
push esi
push ebx
add esp, 4
or esi, 0x25e3
and esi, 0xf69a
call 0x404bc7
add byte [eax + 0x32], al
cmp byte [eax + 0x4c], cl
cmp esi, dword [ebx + eax*4]
les eax, [ebx + ebp*8]
push es
inc ebp
inc esp
dec esi
cmp al, 0x33
pop esi
mov dword [ebp - 0x1fa8], 0xffffffff
push eax
push esi
add esp, 4
sub eax, 0x15618
sub eax, 0x1410
or eax, 0x66b5
pop eax
push esi
xor esi, 0x29c0
and esi, 0x8378
add esi, 0x14cf0
jmp 0x404c0e
pop esi
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x4cc], ecx
jmp 0x404c2c
mov edx, dword [ebp - 0x4cc]
add edx, 1
mov dword [ebp - 0x4cc], edx
push esi
push ecx
add esp, 4
xor esi, 0x6ae1
and esi, 0x178b5
pop esi
push edx
sub edx, 0x202b
xor edx, 0x30f
and edx, 0x71b7
pop edx
push esi
push eax
add esp, 4
or esi, 0x15b5f
pop esi
mov eax, dword [ebp - 0x4cc]
sub eax, dword [ebp - 0x3c0]
cmp eax, 0xffffffff
jb 0x404ca6
push ebx
push ebx
add esp, 4
or ebx, 0x6c1
pop ebx
push eax
xor eax, 0xcce6
add eax, 0x10770
sub eax, 0x185c6
and eax, 0x2c62
pop eax
push ecx
push edx
add esp, 4
add ecx, 0x8077
pop ecx
jmp 0x404ed4
mov dword [ebp - 0xc08], 7
mov ecx, dword [ebp - 0x4cc]
mov dword [ebp - 0xa68], ecx
push eax
jmp 0x404cc3
sub eax, 0x8b7d
or eax, 0xb932
pop eax
push edi
push ebx
add esp, 4
and edi, 0x4b1f
sub edi, 0x11747
and edi, 0x10206
or edi, 0x445c
pop edi
mov edx, dword [ebp - 0x14bc]
mov dword [ebp - 0xa64], edx
mov dword [ebp - 0xc0c], 0
mov eax, dword [ebp - 0x4cc]
cmp eax, dword [ebp - 0x14bc]
jne 0x404d55
push esi
push esi
add esp, 4
call 0x404d26
add byte [edi + 0x4f], cl
cmp ecx, dword [ebx + 0x3d]
inc ebp
xor ecx, dword [ebp + 0x49]
add esp, 4
and esi, 0x1029d
add esi, 0x142c9
xor esi, 0x140ba
pop esi
push edx
and edx, 0xa5e8
pop edx
mov ecx, dword [ebp - 0xc0c]
mov dword [ebp - 0x14c4], ecx
jmp 0x404e86
cmp dword [ebp - 0xc08], 0
jle 0x404e7a
push esi
jmp 0x404d69
pop esi
push esi
push ebx
add esp, 4
xor esi, 0xc529
add esi, 0x3db9
sub esi, 0x12130
pop esi
push esi
push esi
add esp, 4
add esi, 0xc1d7
add esi, 0xfe8d
pop esi
mov edx, dword [ebp - 0xa68]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xa64]
movzx edx, byte [ecx]
cmp eax, edx
je 0x404e16
push edx
push edi
add esp, 4
sub edx, 0xe620
pop edx
push ecx
add ecx, 0xf9da
pop ecx
push ebx
push eax
add esp, 4
add ebx, 0x41ae
and ebx, 0x479
add ebx, 0x8301
sub ebx, 0x83ae
pop ebx
mov eax, dword [ebp - 0xa68]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xa64]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x404dfe
mov dword [ebp - 0x14c0], 1
jmp 0x404e08
mov dword [ebp - 0x14c0], 0xffffffff
mov ecx, dword [ebp - 0x14c0]
mov dword [ebp - 0xc0c], ecx
jmp 0x404e7a
push edi
push ebx
add esp, 4
sub edi, 0x116b6
xor edi, 0x1144c
and edi, 0x7da6
pop edi
push edx
push edx
add esp, 4
xor edx, 0x8a13
sub edx, 0x12547
pop edx
push edi
and edi, 0x814f
pop edi
mov edx, dword [ebp - 0xc08]
sub edx, 1
mov dword [ebp - 0xc08], edx
mov eax, dword [ebp - 0xa68]
add eax, 1
mov dword [ebp - 0xa68], eax
mov ecx, dword [ebp - 0xa64]
add ecx, 1
mov dword [ebp - 0xa64], ecx
jmp 0x404d55
mov edx, dword [ebp - 0xc0c]
mov dword [ebp - 0x14c4], edx
cmp dword [ebp - 0x14c4], 0
jne 0x404ecf
push esi
push edx
add esp, 4
xor esi, 0x179a
pop esi
push ecx
push ebx
add esp, 4
sub ecx, 0x257f
pop ecx
push eax
or eax, 0x2bc3
xor eax, 0xc25a
or eax, 0x50ca
and eax, 0xd8f
pop eax
mov eax, dword [ebp - 0x4cc]
mov dword [ebp - 0x3cc], eax
jmp 0x404f10
jmp 0x404c1d
push edx
and edx, 0x15b62
jmp 0x404ee2
xor edx, 0xd585
and edx, 0x115f
pop edx
push eax
xor eax, 0x2545
jmp 0x404efd
pop eax
push edi
sub edi, 0x13639
pop edi
mov dword [ebp - 0x3cc], 0
push eax
push edi
add esp, 4
xor eax, 0xd69a
or eax, 0x10a5b
pop eax
push ecx
sub ecx, 0x1008
add ecx, 0x12137
pop ecx
push eax
push eax
add esp, 4
xor eax, 0x3eff
add eax, 0x9b60
pop eax
push eax
sub eax, 0x7ebb
sub eax, 0x12729
sub eax, 0xaeae
xor eax, 0x6d3c
pop eax
push edx
push esi
add esp, 4
or edx, 0x128f7
or edx, 0x7663
add edx, 0x125e0
pop edx
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xb80]
mov dword [ebp - 0x14c8], eax
push ecx
push ebx
add esp, 4
sub ecx, 0xe444
pop ecx
push esi
push ebx
add esp, 4
sub esi, 0x5d87
and esi, 0xc817
jmp 0x404fae
pop esi
push esi
push ebx
add esp, 4
or esi, 0x132bd
pop esi
mov dword [ebp - 0x1fac], 0xffffffff
push esi
and esi, 0xca34
and esi, 0xfcbb
or esi, 0x2ab2
pop esi
push ebx
push ecx
add esp, 4
add ebx, 0xcb60
add ebx, 0xfe19
and ebx, 0x1c4b
or ebx, 0xe87f
pop ebx
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x4d0], ecx
jmp 0x405014
mov edx, dword [ebp - 0x4d0]
add edx, 1
mov dword [ebp - 0x4d0], edx
push ebx
xor ebx, 0xf8b9
sub ebx, 0xc78f
pop ebx
push ecx
push edx
add esp, 4
sub ecx, 0xb477
sub ecx, 0x9dd
pop ecx
push ebx
push esi
add esp, 4
add ebx, 0x77e7
add ebx, 0x44b8
pop ebx
mov eax, dword [ebp - 0x4d0]
sub eax, dword [ebp - 0x3c0]
cmp eax, 0xffffffff
jb 0x40508e
push esi
push edi
add esp, 4
call 0x405068
add byte [edi + 0x50], al
cmp byte [esi], bh
xor al, 0x42
add esp, 4
xor esi, 0x15754
call 0x40507f
add byte [edx], dh
cmp dh, byte ds:[esi]
dec esi
inc edx
xor al, 0x38
add esp, 4
and esi, 0xe196
pop esi
jmp 0x4052bc
mov dword [ebp - 0xc10], 7
mov ecx, dword [ebp - 0x4d0]
mov dword [ebp - 0xa60], ecx
push esi
and esi, 0xe359
and esi, 0x165a0
add esi, 0xdf5e
pop esi
push edx
push esi
add esp, 4
or edx, 0xd2e8
or edx, 0x38b1
or edx, 0xf172
and edx, 0xda7b
pop edx
mov edx, dword [ebp - 0x14c8]
mov dword [ebp - 0x9f0], edx
mov dword [ebp - 0xc14], 0
mov eax, dword [ebp - 0x4d0]
cmp eax, dword [ebp - 0x14c8]
jne 0x40513d
push eax
push ecx
add esp, 4
and eax, 0x39c2
sub eax, 0x440a
xor eax, 0x1720d
or eax, 0x10bee
pop eax
push edi
push ecx
add esp, 4
or edi, 0x70f2
jmp 0x40512b
pop edi
mov ecx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], ecx
jmp 0x40526e
cmp dword [ebp - 0xc10], 0
jle 0x405262
push ebx
push ebx
add esp, 4
call 0x40515d
add byte [esi + 0x3a], al
cmp al, byte [esi + edi + 0x4b]
dec ebp
inc esp
add esp, 4
jmp 0x405168
call 0x405178
add byte [eax + 0x4e], al
aas
cmp dh, byte [esp + ecx*2]
dec ebx
push eax
aaa
inc esi
add esp, 4
pop ebx
mov edx, dword [ebp - 0xa60]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x9f0]
movzx edx, byte [ecx]
cmp eax, edx
je 0x4051fe
push edx
push edx
add esp, 4
sub edx, 0x10f63
sub edx, 0x1cec
jmp 0x4051a9
pop edx
push ecx
xor ecx, 0xb807
or ecx, 0x8e1f
and ecx, 0xaf24
jmp 0x4051c3
pop ecx
mov eax, dword [ebp - 0xa60]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x9f0]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x4051e6
mov dword [ebp - 0x14cc], 1
jmp 0x4051f0
mov dword [ebp - 0x14cc], 0xffffffff
mov ecx, dword [ebp - 0x14cc]
mov dword [ebp - 0xc14], ecx
jmp 0x405262
push eax
sub eax, 0x7760
jmp 0x40520c
xor eax, 0x14bde
pop eax
push esi
jmp 0x40521d
and esi, 0xc867
and esi, 0xad9e
and esi, 0x68b5
pop esi
mov edx, dword [ebp - 0xc10]
sub edx, 1
mov dword [ebp - 0xc10], edx
mov eax, dword [ebp - 0xa60]
add eax, 1
mov dword [ebp - 0xa60], eax
mov ecx, dword [ebp - 0x9f0]
add ecx, 1
mov dword [ebp - 0x9f0], ecx
jmp 0x40513d
mov edx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], edx
cmp dword [ebp - 0x14d0], 0
jne 0x4052b7
push edx
push edi
add esp, 4
xor edx, 0x14e51
pop edx
push esi
xor esi, 0x12825
or esi, 0x17331
call 0x40529f
add byte [edx], dh
cmp eax, 0x38353f45
cmp dword [ebp + 0x37], eax
add esp, 4
xor esi, 0x3fde
pop esi
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0xa5c], eax
jmp 0x4052f8
jmp 0x405005
push edi
push edi
add esp, 4
and edi, 0x2289
jmp 0x4052d0
pop edi
push edx
push ebx
add esp, 4
jmp 0x4052db
sub edx, 0x4203
add edx, 0x5ba0
add edx, 0x16b2
pop edx
mov dword [ebp - 0xa5c], 0
push edx
push ebx
add esp, 4
xor edx, 0x17efe
pop edx
push edx
push ecx
add esp, 4
add edx, 0xf9e9
pop edx
push edi
add edi, 0x1be9
and edi, 0x24fe
xor edi, 0xf731
add edi, 0x12c48
pop edi
mov byte [ebp - 0x804], 0x45
mov byte [ebp - 0x803], 0x78
mov byte [ebp - 0x802], 0x69
mov byte [ebp - 0x801], 0x74
mov byte [ebp - 0x800], 0x50
mov byte [ebp - 0x7ff], 0x72
mov byte [ebp - 0x7fe], 0x6f
mov byte [ebp - 0x7fd], 0x63
mov byte [ebp - 0x7fc], 0x65
mov byte [ebp - 0x7fb], 0x73
mov byte [ebp - 0x7fa], 0x73
mov byte [ebp - 0x7f9], 0
push edx
add edx, 0x159e
add edx, 0x456d
pop edx
push ecx
push ebx
add esp, 4
call 0x4053a0
add byte [eax + 0x47], cl
inc edx
xor eax, 0x503b4b41
inc esi
add esp, 4
or ecx, 0x118ed
add ecx, 0x11612
pop ecx
mov ecx, 0x6b
mov word [ebp - 0x1628], cx
mov edx, 0x65
mov word [ebp - 0x1626], dx
mov eax, 0x72
mov word [ebp - 0x1624], ax
mov ecx, 0x6e
mov word [ebp - 0x1622], cx
mov edx, 0x65
mov word [ebp - 0x1620], dx
mov eax, 0x6c
mov word [ebp - 0x161e], ax
mov ecx, 0x33
mov word [ebp - 0x161c], cx
mov edx, 0x32
mov word [ebp - 0x161a], dx
mov eax, 0x2e
mov word [ebp - 0x1618], ax
mov ecx, 0x64
mov word [ebp - 0x1616], cx
mov edx, 0x6c
mov word [ebp - 0x1614], dx
mov eax, 0x6c
mov word [ebp - 0x1612], ax
xor ecx, ecx
mov word [ebp - 0x1610], cx
push edx
jmp 0x405452
sub edx, 0xd378
xor edx, 0x3d8e
and edx, 0x13b28
pop edx
push esi
push ebx
add esp, 4
and esi, 0x162cd
pop esi
push eax
jmp 0x40547a
pop eax
push edx
call 0x405489
add byte [edx], bh
aas
cmp byte [edx + 0x48], cl
dec edi
add esp, 4
or edx, 0x7457
call 0x4054a0
add byte [ebp + 0x42], cl
dec eax
xor eax, 0x4648344d
add esp, 4
jmp 0x4054ac
pop edx
mov edx, dword fs:[0x18]
mov dword [ebp - 0x1890], edx
mov eax, dword [ebp - 0x1890]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1894], ecx
mov edx, dword [ebp - 0x1894]
mov dword [ebp - 0x14d4], edx
push eax
push ecx
add esp, 4
xor eax, 0x9490
call 0x4054ef
add byte [ecx + 0x3a], al
aaa
xor al, 0x36
inc edx
xor al, 0x48
xor al, byte [ebx - 0x377efb3c]
invalid