Function at 0x41568d
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x17c
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov dword [esp + 0x84], edx
xor ebx, ebx
mov dword [esp + 0x80], edi
mov dword [esp + 0x10], 0x7d75855f
mov ecx, ebx
mov dword [esp + 0x14], 0x7d753f7d
mov byte [esp + 0x18], 0x7d
mov al, byte [esp + ecx + 0x10]
sub al, 0x11
mov byte [esp + ecx + 0xb4], al
inc ecx
cmp ecx, 9
jl 0x4156c0
mov byte [esp + 0xbd], bl
mov ecx, ebx
mov dword [esp + 0x2c], 0x814032d
mov dword [esp + 0x30], 0x54550a03
mov dword [esp + 0x34], 0xa0a0248
mov al, byte [esp + ecx + 0x2c]
xor al, 0x66
mov byte [esp + ecx + 0xfc], al
inc ecx
cmp ecx, 0xc
jl 0x4156f4
push 0xb
mov byte [esp + 0x10c], bl
mov ecx, ebx
mov dword [esp + 0x24], 0x53585341
mov dword [esp + 0x28], 0x185e4f58
mov word [esp + 0x2c], 0x564e
mov byte [esp + 0x2e], 0x56
pop edx
mov al, byte [esp + ecx + 0x20]
add al, 0x16
mov byte [esp + ecx + 0xcc], al
inc ecx
cmp ecx, edx
jl 0x41572f
mov byte [esp + 0xd7], bl
mov ecx, ebx
mov dword [esp + 0x20], 0x3b443d0e
mov dword [esp + 0x24], 0xf9fdfe3f
mov word [esp + 0x28], 0x372f
mov byte [esp + 0x2a], 0x37
mov al, byte [esp + ecx + 0x20]
add al, 0x35
mov byte [esp + ecx + 0xd8], al
inc ecx
cmp ecx, edx
jl 0x415766
mov byte [esp + 0xe3], bl
mov ecx, ebx
mov dword [esp + 0x2c], 0x5f485a7f
mov dword [esp + 0x30], 0xc0d574e
mov dword [esp + 0x34], 0x52525a10
mov al, byte [esp + ecx + 0x2c]
xor al, 0x3e
mov byte [esp + ecx + 0x10c], al
inc ecx
cmp ecx, 0xc
jl 0x415799
mov byte [esp + 0x118], bl
mov ecx, ebx
mov dword [esp + 0x10], 0xbcafbd9f
mov dword [esp + 0x14], 0xae787c7d
mov word [esp + 0x18], 0xb6b6
mov al, byte [esp + ecx + 0x10]
sub al, 0x4a
mov byte [esp + ecx + 0x2c], al
inc ecx
cmp ecx, 0xa
jl 0x4157cc
mov byte [esp + 0x36], bl
mov ecx, ebx
mov dword [esp + 0x20], 0x2c252003
mov dword [esp + 0x24], 0xea2f3128
mov word [esp + 0x28], 0x2820
mov byte [esp + 0x2a], 0x28
mov al, byte [esp + ecx + 0x20]
add al, 0x44
mov byte [esp + ecx + 0xe4], al
inc ecx
cmp ecx, edx
jl 0x4157fe
mov byte [esp + 0xef], bl
mov ecx, ebx
mov dword [esp + 0x10], 0xc7fdf8db
mov dword [esp + 0x14], 0xf8c2c6
mov byte [esp + 0x18], bl
mov al, byte [esp + ecx + 0x10]
add al, 0x6c
mov byte [esp + ecx + 0xc0], al
inc ecx
cmp ecx, 9
jl 0x41582d
mov byte [esp + 0xc9], bl
mov ecx, ebx
mov dword [esp + 0x10], 0xc2f4fbde
mov dword [esp + 0x14], 0xfbf3bdc1
mov byte [esp + 0x18], 0xfb
mov al, byte [esp + ecx + 0x10]
add al, 0x71
mov byte [esp + ecx + 0x20], al
inc ecx
cmp ecx, 9
jl 0x41585e
mov byte [esp + 0x29], bl
mov ecx, ebx
mov dword [esp + 0x10], 0xd1c6c2ad
mov dword [esp + 0x14], 0x88c3cabb
mov word [esp + 0x18], 0xc6be
mov byte [esp + 0x1a], 0xc6
mov al, byte [esp + ecx + 0x10]
sub al, 0x5a
mov byte [esp + ecx + 0xf0], al
inc ecx
cmp ecx, edx
jl 0x415890
mov byte [esp + 0xfb], bl
mov ecx, ebx
mov dword [esp + 0x10], 0x7010627
mov dword [esp + 0x14], 0x7121801
mov dword [esp + 0x18], 0x1919115b
mov al, byte [esp + ecx + 0x10]
xor al, 0x75
mov byte [esp + ecx + 0x11c], al
inc ecx
cmp ecx, 0xc
jl 0x4158c3
mov dl, byte [0x42b950]
mov eax, 0xfe8f
movzx ecx, word [0x42b938]
and dl, 0xf
imul ecx, eax
mov ebp, 0x42cbec
mov byte [esp + 0x128], bl
mov byte [0x42b950], dl
cmp byte [0x42cbe4], bl
jne 0x415c2e
mov dword [esp + 0x10], 0x607c6b65
mov ecx, ebx
mov dword [esp + 0x14], 0x3c3d626b
mov dword [esp + 0x18], 0x62626a20
mov al, byte [esp + ecx + 0x10]
xor al, 0xe
movzx eax, al
mov word [esp + ecx*2 + 0x170], ax
inc ecx
cmp ecx, 0xc
jl 0x415926
xor eax, eax
mov dword [esp + 0x38], 0xe8f7f1c8
mov word [esp + 0x188], ax
mov ecx, ebx
mov dword [esp + 0x3c], 0xecf5c6f5
mov dword [esp + 0x40], 0xe4e6ecf7
mov dword [esp + 0x44], 0xe6e8d6ef
mov dword [esp + 0x48], 0xf1f2ecf7
mov al, byte [esp + ecx + 0x38]
add al, 0x7d
mov byte [esp + ecx + 0x140], al
inc ecx
cmp ecx, 0x14
jl 0x415971
mov byte [esp + 0x154], bl
mov ecx, ebx
mov dword [esp + 0x4c], 0x710143d
mov dword [esp + 0x50], 0x18033214
mov dword [esp + 0x54], 0x10121805
mov dword [esp + 0x58], 0x1214221d
mov dword [esp + 0x5c], 0x1f1e1805
mov al, byte [esp + ecx + 0x4c]
xor al, 0x71
mov byte [esp + ecx + 0x158], al
inc ecx
cmp ecx, 0x14
jl 0x4159b5
mov byte [esp + 0x16c], bl
mov ecx, ebx
mov dword [esp + 0x10], 0x60311ee
mov dword [esp + 0x14], 0x14040bee
mov dword [esp + 0x18], 0xe31b1403
mov al, byte [esp + ecx + 0x10]
add al, 0x5e
mov byte [esp + ecx + 0x38], al
inc ecx
cmp ecx, 0xc
jl 0x4159e9
mov dword [esp + 0x10], 0x8eb5a688
mov ecx, ebx
mov dword [esp + 0x14], 0xadb6a5b0
mov dword [esp + 0x18], 0xafa289a6
mov dword [esp + 0x1c], 0x82a6ada5
movups xmm0, xmmword [esp + 0x10]
mov byte [esp + 0x44], bl
mov byte [esp + 0x13c], bl
psubb xmm0, xmmword [0x428ff0]
movups xmmword [esp + 0x12c], xmm0
mov dword [esp + 0x60], 0x9b8681a6
mov dword [esp + 0x64], 0x86838e86
mov dword [esp + 0x68], 0x9dac8a95
mov dword [esp + 0x6c], 0x8c869b86
mov dword [esp + 0x70], 0x8abc838e
mov dword [esp + 0x74], 0x80869b8c
mov byte [esp + 0x78], 0x81
mov al, byte [esp + ecx + 0x60]
xor al, 0xef
mov byte [esp + ecx + 0x88], al
inc ecx
cmp ecx, 0x19
jl 0x415a70
mov eax, 0x61da
mov byte [esp + 0xa1], bl
xor ax, word [0x42b934]
mov ecx, 0x36e1
add ax, cx
mov ecx, 0xc6fd
mov word [0x42b934], ax
movzx eax, dl
xor ax, cx
lea ecx, [esp + 0x170]
mov word [0x42b938], ax
call fcn.004151ec
add byte [0x42b950], 0x37
lea edx, [esp + 0x140]
mov esi, eax
push ebx
mov ecx, esi
call fcn.00414bae
mov cl, byte [0x42b934]
lea edx, [esp + 0x15c]
sub cl, 0x56
mov dword [0x42d010], eax
mov byte [0x42b950], cl
mov ecx, esi
push ebx
call fcn.00414bae
mov dword [0x42cc08], eax
lea edx, [esp + 0x40]
movzx eax, byte [0x42b950]
mov ecx, 0xce20
or ax, cx
mov word [0x42b938], ax
and al, 0xb
movzx ecx, al
mov byte [0x42b950], al
mov eax, 0xee50
imul ecx, eax
push ebx
mov word [0x42b934], cx
mov ecx, esi
call fcn.00414bae
mov cl, byte [0x42b950]
mov edx, 0x6e24
mov dword [0x42d014], eax
movzx eax, cl
and cl, 0xb7
add ax, dx
mov byte [0x42b950], cl
push ebx
lea edx, [esp + 0x13c]
mov word [0x42b934], ax
mov ecx, esi
call fcn.00414bae
movzx ecx, word [0x42b934]
lea edx, [esp + 0x98]
mov dword [0x42cc04], eax
mov eax, 0x9eed
imul ecx, eax
push ebx
mov word [0x42b938], cx
or ecx, 0xdf1a
mov word [0x42b934], cx
mov ecx, esi
call fcn.00414bae
mov cl, byte [0x42b950]
add esp, 0x14
mov edx, eax
add cl, 0x43
mov dword [0x42cbe0], edx
cmp dword [0x42d010], ebx
je 0x415d58
cmp dword [0x42cc08], ebx
je 0x415d58
cmp dword [0x42d014], ebx
je 0x415d58
cmp dword [0x42cc04], ebx
je 0x415d58
test edx, edx
je 0x415d58
movzx eax, cl
mov esi, 0x4c05
sub cl, 0x48
mov byte [0x42cbe4], 1
add ax, si
and cl, 0xe2
mov word [0x42b938], ax
add cl, 0xc
add eax, 0x59b6
mov byte [0x42b950], cl
push ebp
mov word [0x42b934], ax
call edx
mov cx, word [0x42b938]
lea eax, [ecx + 0x59]
mov edx, 0xfdc7
mov byte [0x42b950], al
movzx eax, al
and ax, dx
movzx ecx, cx
mov word [0x42b934], ax
mov eax, 0xa4ec
imul ecx, eax
push ebp
mov word [0x42b938], cx
call dword [0x42d010]
movzx ecx, byte [0x42b950]
mov eax, 0x7248
xor cx, ax
mov ebp, dword [0x42cbe8]
lea eax, [esp + 0xb4]
mov word [esp + 0x7e], cx
mov dword [esp + 0x88], eax
mov edx, 0xb453
lea eax, [esp + 0xfc]
movzx esi, cx
mov dword [esp + 0x8c], eax
lea eax, [esp + 0xcc]
mov dword [esp + 0x90], eax
lea eax, [esp + 0xd8]
mov dword [esp + 0x94], eax
lea eax, [esp + 0x10c]
mov dword [esp + 0x98], eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x9c], eax
lea eax, [esp + 0xe4]
mov dword [esp + 0xa0], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0xa4], eax
lea eax, [esp + 0x20]
mov dword [esp + 0xa8], eax
lea eax, [esp + 0xf0]
mov dword [esp + 0xac], eax
lea eax, [esp + 0x11c]
mov dword [esp + 0xb0], eax
lea eax, [ecx + 0x26]
movzx eax, al
and ax, dx
movzx edx, ax
lea eax, [ecx + 0x5f]
mov byte [0x42b950], al
mov ecx, ebx
test ebp, ebp
je 0x415d9f
lea edi, [esi + 0x6c01]
lea eax, [edx + 0x73]
mov edx, dword [esp + 0x84]
mov byte [0x42b950], al
cmp dword [ecx*4 + 0x42cc10], edx
je 0x415d81
inc ecx
movzx edx, di
cmp ecx, ebp
jb 0x415d36
jmp 0x415d98
add cl, 0x5c
mov eax, 0x96d6
xor cl, 0x50
mov byte [0x42b950], cl
movzx ecx, word [0x42b938]
imul ecx, eax
xor eax, eax
mov word [0x42b934], cx
jmp 0x415f60
mov ax, word [esp + 0x7e]
mov ebx, dword [ecx*4 + 0x42c7e0]
movzx eax, al
imul eax, eax, 0x3a
mov byte [0x42b950], al
mov edi, dword [esp + 0x80]
movzx edx, al
mov eax, 0x14c5
sub dx, ax
mov eax, esi
test ebx, ebx
jne 0x415f19
mov ecx, dword [edi*4 + 0x42c7b4]
and esi, 0xf59d
movzx eax, dl
imul eax, eax, 0x45
and al, 0xd7
mov byte [0x42b950], al
test ecx, ecx
jne 0x415e64
push dword [esp + edi*4 + 0x88]
or al, 0xf6
mov ecx, 0xcdfa
mov byte [0x42b950], al
movzx eax, al
and ax, cx
mov ecx, 0x40c0
or ax, cx
mov word [0x42b934], ax
add eax, 0x6a33
mov word [0x42b938], ax
call dword [0x42cc04]
mov ecx, eax
mov al, byte [0x42b950]
or al, 0x64
mov byte [0x42b950], al
test ecx, ecx
jne 0x415e56
push dword [esp + edi*4 + 0x88]
movzx eax, al
mov ecx, 0x52fc
add ecx, eax
mov al, cl
mov word [0x42b938], cx
xor al, 0x28
xor ecx, 0x2cbd
mov byte [0x42b950], al
mov word [0x42b934], cx
call dword [0x42d014]
mov ecx, eax
mov si, word [0x42b934]
mov dword [edi*4 + 0x42c7b4], ecx
mov eax, 0x4b88
movzx edx, si
add dx, ax
movzx eax, si
test ecx, ecx
je 0x415f19
mov ebp, dword [esp + 0x84]
mov al, dl
or edx, 0x155f
xor al, 0xe
mov byte [0x42b950], al
lea eax, [edx + 0x6d0d]
mov edx, ebp
mov word [0x42b938], ax
imul eax, eax, 0x5453
mov word [0x42b934], ax
call fcn.004146ee
mov ebx, eax
mov ecx, 0x97e4
or cx, word [0x42b934]
mov eax, 0xf265
xor cx, ax
movzx eax, cx
test ebx, ebx
je 0x415f12
movzx eax, byte [0x42b950]
mov edx, 0x2a6
mov ecx, dword [0x42cbe8]
add ax, dx
mov dx, ax
or al, 0x98
sub al, 0x69
mov byte [0x42b950], al
mov dword [ecx*4 + 0x42cc10], ebp
mov dword [ecx*4 + 0x42c7e0], ebx
inc ecx
mov dword [0x42cbe8], ecx
mov ecx, 0x3578
movzx eax, al
sub ax, cx
movzx eax, ax
jmp 0x415f19
mov dx, word [0x42b938]
or eax, 0x56e1
mov word [0x42b934], ax
mov eax, 0x608c
add dx, ax
push 0x42cbec
mov word [0x42b938], dx
call dword [0x42cc08]
mov cl, byte [0x42b950]
mov edx, 0x3b43
movzx eax, cl
or ax, dx
add cl, 0xb4
mov word [0x42b938], ax
mov eax, ebx
mov byte [0x42b950], cl
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x17c
ret