Function at 0x42eee0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xe0
mov ebx, dword [0x4562e0]
mov dword [esp + 8], 0x3373311d
mov dword [esp + 0xc], 0x3f4e3d4c
mov dword [esp + 0x10], 0x3b5b3974
mov dword [esp + 0x14], 0x47274538
mov dword [esp + 0x18], 0x4342416d
mov dword [esp + 0x1c], 0
mov dword [esp + 0x68], 0
mov eax, dword [esp + 0x68]
cmp eax, 0x17
ja 0x42e38b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x68]
movzx eax, byte [esp + eax + 8]
push dword [esp + 0x68]
push eax
call fcn.00431d30
add esp, 8
mov ecx, dword [esp + 0x68]
mov byte [esp + ecx + 8], al
inc dword [esp + 0x68]
mov eax, dword [esp + 0x68]
cmp eax, 0x18
jb 0x42e360
lea edi, [esp + 0x54]
lea esi, [esp + 8]
push edi
push 0
push 0
push 9
push esi
push 0
call ebx
mov ebx, dword [esp + 0x54]
test ebx, ebx
jns 0x42e3ae
mov eax, 0xffffffff
jmp 0x42e3b1
lea eax, [ebx + ebx]
push eax
call fcn.0040c490
add esp, 4
mov dword [esp + 0x58], eax
mov ebp, dword [0x4562e0]
mov dword [esp + 8], 0x115d1f3b
mov dword [esp + 0xc], 0x15821380
mov dword [esp + 0x10], 0x9751750
mov dword [esp + 0x14], 0xd690b9c
mov dword [esp + 0x18], 0x10e0f2b
mov word [esp + 0x1c], 0
mov byte [esp + 0x1e], 0
mov dword [esp + 0x68], 0
mov eax, dword [esp + 0x68]
cmp eax, 0x16
ja 0x42e43b
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x68]
movzx eax, byte [esp + eax + 8]
push dword [esp + 0x68]
push eax
call fcn.00431dc0
add esp, 8
mov ecx, dword [esp + 0x68]
mov byte [esp + ecx + 8], al
inc dword [esp + 0x68]
mov eax, dword [esp + 0x68]
cmp eax, 0x17
jb 0x42e410
push edi
push ebx
push dword [esp + 0x60]
push 9
push esi
push 0
call ebp
mov dword [esp + 8], 0x79e57b40
mov dword [esp + 0xc], 0x7ddb7fed
mov dword [esp + 0x10], 0x71e473ed
mov dword [esp + 0x14], 0x757677d4
lea ebx, [esp + 0x18]
mov word [esp + 0x18], 0
mov dword [esp + 0x68], 0
mov eax, dword [esp + 0x68]
cmp eax, 0x11
ja 0x42e4bb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x68]
movzx eax, byte [esp + eax + 8]
push dword [esp + 0x68]
push eax
call fcn.00431e40
add esp, 8
mov ecx, dword [esp + 0x68]
mov byte [esp + ecx + 8], al
inc dword [esp + 0x68]
mov eax, dword [esp + 0x68]
cmp eax, 0x12
jb 0x42e490
lea esi, [esp + 0xd0]
lea eax, [esp + 8]
mov edi, esi
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xe0]
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov dword [esp + 8], 0x33ab318c
mov dword [esp + 0xc], 0x2f8d2dbf
mov dword [esp + 0x10], 0x2bb829bf
mov dword [esp + 0x14], 0x27e525b8
mov dword [esp + 0x18], 0x23b42181
mov dword [esp + 0x1c], 0x1f8c1dbd
mov dword [esp + 0x20], 0x1b1a1991
lea ebp, [esp + 0x24]
mov byte [esp + 0x24], 0
mov dword [esp + 0x68], 0
mov eax, dword [esp + 0x68]
cmp eax, 0x1c
ja 0x42e56b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x68]
movzx eax, byte [esp + eax + 8]
push dword [esp + 0x68]
push eax
call fcn.00431ec0
add esp, 8
mov ecx, dword [esp + 0x68]
mov byte [esp + ecx + 8], al
inc dword [esp + 0x68]
mov eax, dword [esp + 0x68]
cmp eax, 0x1d
jb 0x42e540
lea ebx, [esp + 0x68]
lea eax, [esp + 8]
mov edi, ebx
mov ecx, 7
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0x84]
xor ecx, ecx
xchg esi, ebp
rep movsw word es:[edi], word [esi]
xchg esi, ebp
mov dword [esp + 8], 0x611d6738
mov dword [esp + 0xc], 0x7d1f63ed
mov dword [esp + 0x10], 0x790c7f0d
mov dword [esp + 0x14], 0x752a7b04
mov dword [esp + 0x18], 0x71347718
lea ebp, [esp + 0x1c]
mov word [esp + 0x1c], 0x7370
mov dword [esp + 0x1e], 0
mov dword [esp + 0xb8], 0
mov eax, dword [esp + 0xb8]
cmp eax, 0x19
ja 0x42e61a
mov eax, dword [esp + 0xb8]
movzx eax, byte [esp + eax + 8]
push dword [esp + 0xb8]
push eax
call fcn.00431f40
add esp, 8
mov ecx, dword [esp + 0xb8]
mov byte [esp + ecx + 8], al
inc dword [esp + 0xb8]
mov eax, dword [esp + 0xb8]
cmp eax, 0x1a
jb case.default.0x42e67e
lea eax, [esp + 0xb8]
lea edx, [esp + 8]
mov ecx, 5
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xcc]
mov ecx, 1
xchg esi, ebp
rep movsw word es:[edi], word [esi]
xchg esi, ebp
mov dword [esp + 0xac], esi
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], eax
mov ebp, dword [esp + 0x58]
mov eax, ebp
add eax, 2
mov dword [esp + 0x60], eax
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x84], 0
cmp ecx, 0xc
setne al
xor ebx, ebx
jmp dword [eax*4 + 0x45277c]
lea eax, [esi + 0x10]
cmp dword [esp + 0x4c], 0xfffffff8
jge 0x42e9be
mov eax, 0xffffffff
push eax
call fcn.0040c490
add esp, 4
mov ebx, eax
mov dword [esp + 8], 0xd1aacffd
mov dword [esp + 0xc], 0xd5fcd3a0
mov dword [esp + 0x10], 0xd9aed7a0
mov dword [esp + 0x14], 0xdddadbac
mov byte [esp + 0x18], 0
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0x44]
cmp eax, 0x10
ja 0x42ea2b
nop
mov eax, dword [esp + 0x44]
movzx eax, byte [esp + eax + 8]
push dword [esp + 0x44]
push eax
call fcn.004320c0
add esp, 8
mov ecx, dword [esp + 0x44]
mov byte [esp + ecx + 8], al
inc dword [esp + 0x44]
mov eax, dword [esp + 0x44]
cmp eax, 0x11
jb 0x42ea00
mov eax, dword [esp + 0x3c]
movzx ecx, word [eax]
mov eax, ebx
test cx, cx
je 0x42ea61
mov eax, dword [esp + 0x3c]
lea edx, [eax + 2]
mov eax, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42ea50
mov word [eax], 0
movzx ecx, word [esp + 8]
test cx, cx
je 0x42ea91
lea edx, [esp + 0xa]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42ea80
mov word [eax], 0
mov ecx, dword [esp + 0xf4]
push dword [esp + 0x94]
push dword [esp + 0x9c]
push ebx
call fcn.0040d0c0
mov ecx, ebx
mov ebx, eax
jmp dword [0x4527e4]
push 0x6c625980
push dword [0x4562f0]
call fcn.00449500
add esp, 8
lea ecx, [esp + 0x94]
mov edx, esp
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
push 0x6c625980
push dword [0x4562f0]
call fcn.00449500
add esp, 8
lea ecx, [esp + 0x94]
mov edx, esp
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
jmp dword [0x4527d4]
xor ecx, ecx
test eax, eax
setne cl
mov ebp, dword [esp + 0x40]
mov edi, dword [esp + 0xa8]
jmp dword [ecx*4 + 0x4527dc]
mov dword [esp + 0x40], ebp
xor ebx, ebx
jmp 0x42eeaf
mov dword [esp + 0xa8], eax
push eax
call fcn.00404570
add esp, 4
mov ebx, eax
mov dword [esp + 8], 0x6c675a55
mov dword [esp + 0xc], 0x51525852
mov dword [esp + 0x10], 0x6458601a
mov dword [esp + 0x14], 0x295a505a
mov dword [esp + 0x18], 0x24171b1b
mov word [esp + 0x1c], 0x281f
mov byte [esp + 0x1e], 0xb2
mov word [esp + 0x1f], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x18
ja 0x42ebd6
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 8]
push dword [esp]
push eax
call fcn.00432030
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x19
jb 0x42ebb0
lea eax, [esp + 8]
push eax
push ebx
call fcn.004046b0
add esp, 8
mov ebx, eax
mov edx, 0xffffffff
mov ecx, 0xfffffffd
mov eax, edx
add ecx, 3
cmp byte [ebx + edx + 1], 0
lea edx, [edx + 1]
jne 0x42ebf0
shr ecx, 2
movzx eax, byte [ebx + edx - 1]
cmp eax, 0x3d
je 0x42ec11
cmp eax, 0x2e
jne 0x42ec12
dec ecx
movzx eax, byte [ebx + edx - 2]
cmp eax, 0x3d
mov dword [esp + 0x5c], edx
je 0x42ec25
cmp eax, 0x2e
jne 0x42ec2c
mov dword [esp + 0x40], ebp
dec ecx
jmp 0x42ec30
mov dword [esp + 0x40], ebp
mov dword [esp + 0xa4], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040c490
add esp, 4
mov dword [esp + 0x48], eax
cmp dword [esp + 0x5c], 0
je 0x42ed6e
xor edi, edi
mov ebp, 2
mov dword [esp + 0x88], ebx
jmp 0x42ec8e
lea eax, [ebp + 4]
add ebp, 2
mov edi, dword [esp + 0x8c]
cmp ebp, edx
mov ebp, eax
mov ebx, dword [esp + 0x88]
jae 0x42ed6e
movzx eax, byte [ebx + ebp - 2]
push eax
call fcn.00421240
add esp, 4
mov ecx, ebx
mov ebx, eax
movzx eax, byte [ecx + ebp - 1]
push eax
call fcn.00421240
mov edx, dword [esp + 0x60]
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
lea ecx, [edi + 1]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x9c], edi
mov byte [ecx + edi], al
cmp ebp, edx
jae 0x42ec70
mov eax, dword [esp + 0x88]
movzx eax, byte [eax + ebp]
push eax
call fcn.00421240
mov edx, dword [esp + 0x60]
add esp, 4
cmp al, 0x40
je 0x42ec70
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov edi, dword [esp + 0x9c]
lea ecx, [edi + 2]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x48]
mov byte [ecx + edi + 1], al
lea eax, [ebp + 1]
cmp eax, edx
jae 0x42ec70
mov eax, dword [esp + 0x88]
movzx eax, byte [eax + ebp + 1]
push eax
call fcn.00421240
mov edx, dword [esp + 0x60]
add esp, 4
cmp al, 0x40
je 0x42ec70
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x9c]
mov byte [ecx + edi + 2], al
add edi, 3
mov dword [esp + 0x8c], edi
jmp 0x42ec70
mov eax, dword [esp + 0xa4]
add eax, 0xfffffffb
mov dword [esp], eax
mov eax, dword [esp + 0x48]
add eax, 5
mov dword [esp + 4], eax
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
jmp dword [0x4527cc]
mov eax, dword [esp + 0x90]
mov byte [ebp + eax], 0
push ebp
call fcn.00403c30
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x4527c4]
mov edi, dword [esp + 0x50]
mov dword [esp + 8], 0x94959a9b
lea eax, [esp + 8]
mov byte [eax + 6], 0
mov word [eax + 4], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 6
ja 0x42ee26
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 8]
push dword [esp]
push eax
call fcn.00431ac0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 7
jb 0x42ee00
mov eax, dword [0x4562e4]
test eax, eax
je 0x42ee60
mov ecx, dword [esp + 8]
xor edx, edx
mov ebp, dword [0x4562e8]
nop
nop
nop
nop
nop
cmp dword [ebp + edx*8], 0x625b6034
je 0x42ee51
inc edx
cmp eax, edx
jne 0x42ee40
jmp 0x42ee60
mov eax, dword [ebp + edx*8 + 4]
cmp eax, ecx
jne 0x42ee6e
nop
nop
nop
nop
nop
nop
nop
mov ebp, dword [esp + 0x58]
mov edi, dword [esp + 0x64]
jmp dword [0x45283c]
push edi
push 1
push dword [0x4562ec]
push eax
call fcn.00446770
add esp, 0x10
mov ebp, dword [esp + 0x58]
mov edi, dword [esp + 0x64]
jmp dword [0x45283c]
mov eax, dword [0x452804]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x4527b4]
mov edi, dword [esp + 0x90]
lea eax, [edi + 1]
push eax
call fcn.0040c490
add esp, 4
mov ebp, eax
push 0
push edi
push eax
push dword [esp + 0x5c]
call fcn.0044a2f0
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x4527bc]
lea eax, [esp + 0x90]
push 0
push eax
push dword [esp + 0x58]
call fcn.0044a210
add esp, 0xc
lea eax, [esp + 0x90]
push 0
push eax
push dword [esp + 0x58]
call fcn.0044a210
add esp, 0xc
jmp dword [0x4527b0]
mov dword [esp + 0xa0], ebx
jmp dword [0x452790]
jmp dword [0x4527a8]
mov edi, dword [esp + ebx + 0xac]
mov eax, 0xfffffffe
nop
nop
nop
nop
cmp word [edi + eax + 2], 0
lea eax, [eax + 2]
jne 0x42f320
sar eax, 1
mov ecx, dword [esp + 0x54]
lea edx, [eax + ecx]
add ecx, eax
add ecx, 0xd
lea eax, [edx*2 + 0x1a]
test ecx, ecx
jns 0x42f349
mov eax, 0xffffffff
push eax
call fcn.0040c490
add esp, 4
mov esi, eax
movzx eax, word [ebp]
mov ebx, esi
test ax, ax
je 0x42f381
mov ecx, dword [esp + 0x60]
mov ebx, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42f370
mov word [ebx], 0x5c
mov dword [esp + 8], 0xb946bb68
mov dword [esp + 0xc], 0xbd5bbf29
mov dword [esp + 0x10], 0xb12eb35b
mov dword [esp + 0x14], 0xb543b790
mov dword [esp + 0x18], 0xa94dab20
mov dword [esp + 0x1c], 0xad35af3c
mov word [esp + 0x20], 0xa3ac
lea eax, [esp + 8]
mov byte [eax + 0x1e], 0
mov dword [eax + 0x1a], 0
add ebx, 2
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1e
ja 0x42f406
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 8]
push dword [esp]
push eax
call fcn.00431fb0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1f
jb 0x42f3e0
movzx eax, word [edi]
test ax, ax
je 0x42f431
add edi, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [edi]
add edi, 2
test ax, ax
jne 0x42f420
mov word [ebx], 0
movzx eax, word [esp + 8]
test ax, ax
je 0x42f461
lea ecx, [esp + 0xa]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42f450
mov word [ebx], 0
lea eax, [esp + 0x50]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.00449ec0
add esp, 0x14
mov ebx, dword [esp + 0xa0]
mov eax, dword [esp + ebx + 0xac]
mov esi, 0xfffffffe
cmp word [eax + esi + 2], 0
lea esi, [esi + 2]
jne 0x42f490
mov dword [esp + 0x3c], eax
mov edx, esi
sar edx, 1
mov eax, dword [esp + 0x54]
lea ecx, [edx + eax]
mov dword [esp + 0x4c], edx
add edx, eax
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x42f4c3
mov eax, 0xffffffff
push eax
call fcn.0040c490
add esp, 4
mov edi, eax
movzx eax, word [ebp]
mov dword [esp + 0x64], edi
test ax, ax
je 0x42f501
mov ecx, dword [esp + 0x60]
mov edi, dword [esp + 0x64]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42f4f0
mov word [edi], 0x5c
mov dword [esp + 8], 0xb946bb68
mov dword [esp + 0xc], 0xbd5bbf29
mov dword [esp + 0x10], 0xb12eb35b
mov dword [esp + 0x14], 0xb543b790
mov dword [esp + 0x18], 0xa94dab20
mov dword [esp + 0x1c], 0xad35af3c
mov word [esp + 0x20], 0xa3ac
lea eax, [esp + 8]
mov byte [eax + 0x1e], 0
mov dword [eax + 0x1a], 0
add edi, 2
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1e
ja 0x42f586
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 8]
push dword [esp]
push eax
call fcn.00431fb0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1f
jb 0x42f560
mov ecx, dword [esp + 0x3c]
movzx eax, word [ecx]
test ax, ax
je 0x42f5b1
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42f5a0
mov word [edi], 0
movzx eax, word [esp + 8]
test ax, ax
je 0x42f5e1
lea ecx, [esp + 0xa]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42f5d0
mov word [edi], 0
lea eax, [esp + 0x50]
push 0x60
push 3
push 0x120089
push eax
mov edi, dword [esp + 0x74]
push edi
call fcn.00449ec0
add esp, 0x14
jmp dword [0x452798]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x45279c]
xor ebx, ebx
jmp dword [0x45283c]
jmp dword [0x452834]
jmp dword [0x452784]
push ebp
call fcn.0040c4a0
add esp, 4
mov eax, dword [esp + 0x84]
and al, 1
add esp, 0xe0
pop esi
pop edi
pop ebx
pop ebp
ret