Function at 0x423490
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa08
mov dword [esp + 0xc0], 0xc3efc1ed
mov dword [esp + 0xc4], 0xc752c551
mov dword [esp + 0xc8], 0xcba6c9a1
mov dword [esp + 0xcc], 0xcf5acda5
mov dword [esp + 0xd0], 0xf3dff169
mov dword [esp + 0xd4], 0xf763f567
mov dword [esp + 0xd8], 0xfbd7f99a
mov dword [esp + 0xdc], 0xff67fd68
mov dword [esp + 0xe0], 0xe387e170
mov dword [esp + 0xe4], 0xe788e5b9
mov dword [esp + 0xe8], 0xeb7ee98d
mov dword [esp + 0xec], 0xef81ed7b
mov dword [esp + 0xf0], 0x13791182
mov dword [esp + 0xf4], 0x177b153a
mov dword [esp + 0xf8], 0x1b701977
mov dword [esp + 0xfc], 0x1f731d73
mov dword [esp + 0x100], 0x34c012e
mov dword [esp + 0x104], 0x7920561
mov dword [esp + 0x108], 0xb65099f
mov dword [esp + 0x10c], 0xf650d9e
mov dword [esp + 0x110], 0x33573143
mov dword [esp + 0x114], 0x37a035a6
mov dword [esp + 0x118], 0x3b593951
mov dword [esp + 0x11c], 0x3f3e3d59
mov byte [esp + 0x120], 0
lea eax, [esp + 0x120]
mov ecx, 0xa22e6950
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x5dd19770]
mov esi, ecx
and esi, edx
add esi, esi
sub edx, esi
add edx, ecx
mov esi, edx
and esi, 0x8006616d
mov edi, edx
and edi, 2
mov ebx, edi
xor ebx, 2
imul ebx, esi
or esi, 2
imul esi, edi
add esi, ebx
xor edx, 0xd517f16f
mov edi, esi
and edi, edx
xor esi, edx
lea esi, [esi + edi*2]
and edx, 1
xor esi, 1
lea edx, [esi + edx*2]
mov byte [esp + ecx + 0x5dd19770], dl
inc ecx
cmp ecx, 0xa22e69b1
jne 0x4235c0
lea edi, [esp + 0x60]
lea edx, [esp + 0xc0]
mov ecx, 0x18
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xc0]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x2c], 0
mov dword [esp + 0xc0], 0x70605
mov dword [esp + 0xc4], 0
mov eax, 0x1ad92506
mov ecx, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx + 0xbf]
mov edx, ecx
and edx, esi
mov ebx, edx
and ebx, 0xd
mov edi, edx
or edi, 0xfffffffd
inc edi
imul edi, ebx
mov ebx, edx
and ebx, 2
or edx, 2
imul edx, ebx
lea ebx, [edi + esi]
sub ebx, edx
sub edx, edi
sub edx, esi
add ebx, ecx
add ebx, 0xe526db00
add edx, eax
and edx, 6
and ebx, 0xf9
sub ebx, edx
inc bl
mov byte [esp + ecx + 0xbf], bl
dec eax
inc ecx
cmp ecx, 9
jne 0x423670
mov eax, dword [esp + 0xc0]
mov ecx, dword [0x451fbc]
test ecx, ecx
mov edi, dword [ebp + 0x14]
je 0x423714
xor edx, edx
mov esi, dword [0x451fc0]
nop
cmp dword [esi + edx*8], 0xc85f7986
je 0x4236f0
inc edx
cmp ecx, edx
jne 0x4236e0
jmp 0x423714
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x423714
lea eax, [esp + 0x2c]
push eax
push 0
push 0
push 5
push 4
push dword [0x451fc4]
push ecx
call fcn.004426e0
add esp, 0x1c
cmp eax, 0xc0000004
jne 0x4237e0
push dword [esp + 0x2c]
call fcn.0043f830
add esp, 4
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp + 0xc0], 0x70605
mov dword [esp + 0xc4], 0
mov eax, 0x1ad92506
mov edx, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + edx + 0xbf]
mov esi, edx
and esi, edi
mov ebx, esi
and ebx, 0xd
mov ecx, esi
or ecx, 0xfffffffd
inc ecx
imul ecx, ebx
mov ebx, esi
and ebx, 2
or esi, 2
imul esi, ebx
lea ebx, [ecx + edi]
sub ebx, esi
sub esi, ecx
sub esi, edi
lea ecx, [edx + ebx]
add ecx, 0xe526db00
add esi, eax
and esi, 6
and ecx, 0xf9
sub ecx, esi
inc cl
mov byte [esp + edx + 0xbf], cl
dec eax
inc edx
cmp edx, 9
jne 0x423760
mov eax, dword [esp + 0xc0]
mov edx, dword [0x451fbc]
test edx, edx
je 0x4237eb
xor ecx, ecx
mov esi, dword [0x451fc0]
mov ebx, dword [ebp + 8]
cmp dword [esi + ecx*8], 0xc85f7986
je 0x4237f0
inc ecx
cmp edx, ecx
jne 0x4237d0
jmp 0x423815
xor ecx, ecx
xor edx, edx
xor esi, esi
jmp 0x423dda
mov ebx, dword [ebp + 8]
jmp 0x423815
mov ecx, dword [esi + ecx*8 + 4]
cmp ecx, eax
je 0x423815
push 0
push dword [esp + 8]
push dword [esp + 0x28]
push 5
push 4
push dword [0x451fc4]
push ecx
call fcn.004426e0
add esp, 0x1c
test eax, eax
mov edi, dword [ebp + 0x14]
js 0x423daa
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
mov dword [esp + 0x10], 0
mov edx, ecx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
jmp 0x423865
mov ecx, edi
call fcn.0043fd10
mov edx, dword [esp + 4]
mov eax, dword [edx]
test eax, eax
je 0x423dc2
mov ecx, dword [edx + eax + 0x3c]
add eax, edx
mov dword [esp + 4], eax
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, word [ecx + eax]
movzx esi, word [ebx + eax]
test dx, dx
je 0x423895
add eax, 2
cmp dx, si
je 0x423880
cmp dx, si
jne 0x423857
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0x44]
mov dword [edi + 8], eax
mov eax, dword [ecx + 0xdc]
mov dword [edi + 0xc], eax
mov ecx, edi
push 0x410
call fcn.0043fb90
test eax, eax
js 0x423857
mov dword [esp + 0x28], 0
mov eax, dword [edi]
mov dword [esp + 0xc], eax
mov dword [esp + 0xc0], 0x70605
mov dword [esp + 0xc4], 0
mov eax, 0x1ad92506
mov edx, 1
nop
nop
nop
nop
nop
movzx ecx, byte [esp + edx + 0xbf]
mov edi, edx
and edi, ecx
mov ebx, edi
and ebx, 0xd
mov esi, edi
or esi, 0xfffffffd
inc esi
imul esi, ebx
mov ebx, edi
and ebx, 2
or edi, 2
imul edi, ebx
lea ebx, [esi + ecx]
sub ebx, edi
sub edi, esi
sub edi, ecx
lea ecx, [edx + ebx]
add ecx, 0xe526db00
add edi, eax
and edi, 6
and ecx, 0xf9
sub ecx, edi
inc cl
mov byte [esp + edx + 0xbf], cl
dec eax
inc edx
cmp edx, 9
jne 0x4238f0
mov eax, dword [esp + 0xc0]
mov ecx, dword [0x451fbc]
test ecx, ecx
je 0x4239a0
xor edx, edx
mov esi, dword [0x451fc0]
nop
nop
nop
cmp dword [esi + edx*8], 0x62429966
je 0x423970
inc edx
cmp ecx, edx
jne 0x423960
jmp 0x4239a0
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x4239a0
lea eax, [esp + 0x28]
push eax
push 0
push 0
push 0x2b
push dword [esp + 0x1c]
push 5
push dword [0x451fc4]
push ecx
call fcn.004426e0
add esp, 0x20
nop
nop
nop
nop
nop
nop
nop
nop
cmp eax, 0xc0000004
mov edi, dword [ebp + 0x14]
jne 0x423a80
mov eax, dword [esp + 0x28]
add eax, 2
push eax
call fcn.0043f830
add esp, 4
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x24], eax
mov eax, dword [edi]
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc0], 0x70605
mov dword [esp + 0xc4], 0
mov eax, 0x1ad92506
mov ecx, 1
movzx edx, byte [esp + ecx + 0xbf]
mov edi, ecx
and edi, edx
mov ebx, edi
and ebx, 0xd
mov esi, edi
or esi, 0xfffffffd
inc esi
imul esi, ebx
mov ebx, edi
and ebx, 2
or edi, 2
imul edi, ebx
lea ebx, [esi + edx]
sub ebx, edi
sub edi, esi
sub edi, edx
lea edx, [ecx + ebx]
add edx, 0xe526db00
add edi, eax
and edi, 6
and edx, 0xf9
sub edx, edi
inc dl
mov byte [esp + ecx + 0xbf], dl
dec eax
inc ecx
cmp ecx, 9
jne 0x4239f0
mov eax, dword [esp + 0xc0]
mov ecx, dword [0x451fbc]
test ecx, ecx
je 0x423a88
mov edi, dword [esp + 0x24]
add edi, 2
xor edx, edx
mov esi, dword [0x451fc0]
mov ebx, dword [ebp + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x62429966
je 0x423a8d
inc edx
cmp ecx, edx
jne 0x423a70
jmp 0x423ab3
mov ebx, dword [ebp + 8]
jmp 0x423d8f
mov ebx, dword [ebp + 8]
jmp 0x423ab3
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x423ab3
push 0
push edi
push dword [esp + 0x14]
push 0x2b
push dword [esp + 0x2c]
push 5
push dword [0x451fc4]
push ecx
call fcn.004426e0
add esp, 0x20
test eax, eax
mov edi, dword [ebp + 0x14]
js 0x423d83
mov ecx, dword [esp + 0xc]
movzx eax, word [ecx]
shr eax, 1
mov ecx, dword [ecx + 4]
xor edx, edx
nop
nop
nop
nop
cmp eax, edx
je 0x423aeb
mov esi, dword [ebp + 0xc]
movzx esi, word [esi + edx*2]
cmp si, word [ecx + edx*2]
jne 0x423d83
inc edx
test si, si
jne 0x423ad0
mov ecx, edi
call fcn.00440210
cmp eax, 2
jne 0x423d83
mov ecx, edi
push 0
push 0x30
lea eax, [esp + 0x38]
push eax
push 0
call fcn.00440020
test eax, eax
js 0x423d83
mov ecx, edi
push 0
push 0
push 0x28
lea eax, [esp + 0x684]
push eax
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.00440550
test eax, eax
js 0x423d83
mov ecx, edi
push 0
push 0
push 0x80
lea eax, [esp + 0xcc]
push eax
push dword [esp + 0x6ac]
push dword [esp + 0x6ac]
call fcn.00440550
test eax, eax
js 0x423d83
movzx eax, word [esp + 0x132]
push eax
call fcn.0043f830
add esp, 4
mov esi, eax
movzx eax, word [esp + 0x132]
mov ecx, edi
push 0
push 0
push eax
push esi
push dword [esp + 0x14c]
push dword [esp + 0x14c]
call fcn.00440550
test eax, eax
js 0x423d7a
movzx edi, word [esp + 0x60]
mov dword [esp + 8], esi
mov eax, esi
test di, di
je 0x423c01
lea ecx, [esp + 0x60]
mov eax, dword [esp + 8]
mov edx, eax
jmp 0x423bdb
movzx edi, word [ecx]
test di, di
mov ebx, dword [ebp + 8]
je 0x423c01
movzx esi, word [edx]
test si, si
je 0x423d73
add edx, 2
add ecx, 2
lea ebx, [eax + 2]
cmp si, di
je 0x423bf9
mov eax, ebx
mov edx, ebx
je 0x423bd0
lea ecx, [esp + 0x60]
jmp 0x423bd0
test eax, eax
je 0x423d73
mov edi, dword [ebp + 0x14]
mov ecx, edi
push 0
push 0
push 0x20
lea eax, [esp + 0x62c]
push eax
push dword [esp + 0x6a4]
push dword [esp + 0x6a4]
call fcn.00440550
test eax, eax
js 0x423d76
mov eax, dword [esp + 0x690]
mov ecx, dword [esp + 0x694]
add eax, 0x10
mov dword [esp + 0x24], eax
adc ecx, 0
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x630]
mov edx, dword [esp + 0x634]
mov dword [esp + 0x504], edx
mov dword [esp + 0x500], eax
jmp 0x423ca8
cmp cx, dx
je 0x423d49
push edi
call fcn.0043f8b0
add esp, 4
mov eax, dword [esp + 0x500]
mov edx, dword [esp + 0x504]
mov ecx, edx
xor ecx, dword [esp + 0x1c]
mov esi, eax
xor esi, dword [esp + 0x24]
or esi, ecx
mov edi, dword [ebp + 0x14]
je 0x423d76
mov ecx, edi
push 0
push 0
push 0x68
lea esi, [esp + 0x50c]
push esi
push edx
push eax
call fcn.00440550
test eax, eax
js 0x423d76
movzx eax, word [esp + 0x55a]
push eax
call fcn.0043f830
add esp, 4
mov ecx, edi
mov edi, eax
movzx eax, word [esp + 0x55a]
push 0
push 0
push eax
push edi
push dword [esp + 0x574]
push dword [esp + 0x574]
call fcn.00440550
test eax, eax
js 0x423c7a
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp + 0x10]
movzx ecx, word [ecx + eax]
lea edx, [ecx - 0x41]
cmp dx, 0x1a
jae 0x423d23
or ecx, 0x20
movzx edx, word [edi + eax]
lea esi, [edx - 0x41]
cmp si, 0x1a
jae 0x423d33
or edx, 0x20
test cx, cx
je 0x423c71
add eax, 2
cmp cx, dx
je 0x423d10
jmp 0x423c71
mov eax, dword [esp + 0x530]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x534]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x540]
mov dword [esp + 0x10], eax
push edi
call fcn.0043f8b0
add esp, 4
mov edi, dword [ebp + 0x14]
mov esi, dword [esp + 8]
push esi
call fcn.0043f8b0
add esp, 4
push dword [esp + 0xc]
call fcn.0043f8b0
add esp, 4
mov eax, dword [esp + 0x18]
or eax, dword [esp + 0x14]
je 0x423850
cmp dword [esp + 0x10], 0
je 0x423850
jmp 0x423dc2
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
push dword [esp + 0x20]
call fcn.0043f8b0
add esp, 4
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov eax, dword [ebp + 0x18]
mov dword [eax], edx
mov dword [eax + 4], esi
mov eax, dword [ebp + 0x1c]
mov dword [eax], ecx
mov ecx, edi
call fcn.0043fd00
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret