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

Disassembly:
sub esp, 0x178
push ebx
push ebp
push esi
xor ebx, ebx
mov dword [esp + 0x7c], ecx
push edi
mov ebp, edx
mov dword [esp + 0x10], 0x444c5c66
mov dword [esp + 0x14], 0x444c0644
mov ecx, ebx
mov byte [esp + 0x18], 0x44
mov al, byte [esp + ecx + 0x10]
xor al, 0x28
mov byte [esp + ecx + 0xb0], al
inc ecx
cmp ecx, 9
jl 0x415f5c
mov byte [esp + 0xb9], bl
mov ecx, ebx
mov dword [esp + 0x2c], 0xcbd7c0ee
mov dword [esp + 0x30], 0x9796c9c0
mov dword [esp + 0x34], 0xc9c9c18b
mov al, byte [esp + ecx + 0x2c]
xor al, 0xa5
mov byte [esp + ecx + 0xf8], al
inc ecx
cmp ecx, 0xc
jl 0x415f90
push 0xb
mov byte [esp + 0x108], bl
mov ecx, ebx
mov dword [esp + 0x24], 0xc110cfa
mov dword [esp + 0x28], 0xd1170811
mov word [esp + 0x2c], 0xf07
mov byte [esp + 0x2e], 0xf
pop edx
mov al, byte [esp + ecx + 0x20]
add al, 0x5d
mov byte [esp + ecx + 0xc8], al
inc ecx
cmp ecx, edx
jl 0x415fcb
mov byte [esp + 0xd3], bl
mov ecx, ebx
mov dword [esp + 0x20], 0x939a91a0
mov dword [esp + 0x24], 0xcdd1d097
mov word [esp + 0x28], 0x8f87
mov byte [esp + 0x2a], 0x8f
mov al, byte [esp + ecx + 0x20]
xor al, 0xe3
mov byte [esp + ecx + 0xd4], al
inc ecx
cmp ecx, edx
jl 0x416002
mov byte [esp + 0xdf], bl
mov ecx, ebx
mov dword [esp + 0x2c], 0xe8ffedc8
mov dword [esp + 0x30], 0xbbbae0f9
mov dword [esp + 0x34], 0xe5e5eda7
mov al, byte [esp + ecx + 0x2c]
xor al, 0x89
mov byte [esp + ecx + 0x108], al
inc ecx
cmp ecx, 0xc
jl 0x416035
mov byte [esp + 0x114], bl
mov ecx, ebx
mov dword [esp + 0x10], 0xf4e3f5d3
mov dword [esp + 0x14], 0xe2a8b4b5
mov word [esp + 0x18], 0xeaea
mov al, byte [esp + ecx + 0x10]
xor al, 0x86
mov byte [esp + ecx + 0x2c], al
inc ecx
cmp ecx, 0xa
jl 0x416068
mov byte [esp + 0x36], bl
mov ecx, ebx
mov dword [esp + 0x20], 0x554e492c
mov dword [esp + 0x24], 0x13585a51
mov word [esp + 0x28], 0x5149
mov byte [esp + 0x2a], 0x51
mov al, byte [esp + ecx + 0x20]
add al, 0x1b
mov byte [esp + ecx + 0xe0], al
inc ecx
cmp ecx, edx
jl 0x41609a
mov byte [esp + 0xeb], bl
mov ecx, ebx
mov dword [esp + 0x10], 0x22787556
mov dword [esp + 0x14], 0x7d753f23
mov byte [esp + 0x18], 0x7d
mov al, byte [esp + ecx + 0x10]
xor al, 0x11
mov byte [esp + ecx + 0xbc], al
inc ecx
cmp ecx, 9
jl 0x4160ca
mov byte [esp + 0xc5], bl
mov ecx, ebx
mov dword [esp + 0x10], 0x89bbc2a5
mov dword [esp + 0x14], 0xc2ba8488
mov byte [esp + 0x18], 0xc2
mov al, byte [esp + ecx + 0x10]
sub al, 0x56
mov byte [esp + ecx + 0x20], al
inc ecx
cmp ecx, 9
jl 0x4160fb
mov byte [esp + 0x29], bl
mov ecx, ebx
mov dword [esp + 0x10], 0xa095917c
mov dword [esp + 0x14], 0x5792998a
mov word [esp + 0x18], 0x958d
mov byte [esp + 0x1a], 0x95
mov al, byte [esp + ecx + 0x10]
sub al, 0x29
mov byte [esp + ecx + 0xec], al
inc ecx
cmp ecx, edx
jl 0x41612d
mov byte [esp + 0xf7], bl
mov ecx, ebx
mov dword [esp + 0x10], 0xcccecdac
mov dword [esp + 0x14], 0xccc1c7ce
mov dword [esp + 0x18], 0xc6c6be88
mov al, byte [esp + ecx + 0x10]
sub al, 0x5a
mov byte [esp + ecx + 0x118], al
inc ecx
cmp ecx, 0xc
jl 0x416160
movzx edx, word [0x42c958]
mov edi, 0x42dbac
imul eax, edx, 0xa174f1ee
mov byte [esp + 0x124], bl
mov dword [0x42c928], eax
cmp byte [0x42dba4], bl
jne 0x4164d0
mov dword [esp + 0x10], 0x15190c12
mov ecx, ebx
mov dword [esp + 0x14], 0xd9da130c
mov esi, 0xff
mov dword [esp + 0x18], 0x13130bd5
movzx eax, byte [esp + ecx + 0x10]
add ax, 0x59
and ax, si
mov word [esp + ecx*2 + 0x16c], ax
inc ecx
cmp ecx, 0xc
jl 0x4161bc
xor eax, eax
mov dword [esp + 0x38], 0x4b5a406b
mov word [esp + 0x184], ax
mov ecx, ebx
mov dword [esp + 0x3c], 0x475c6d5c
mov dword [esp + 0x40], 0x4f4d475a
mov dword [esp + 0x44], 0x4d4b7d42
mov dword [esp + 0x48], 0x4041475a
mov al, byte [esp + ecx + 0x38]
xor al, 0x2e
mov byte [esp + ecx + 0x13c], al
inc ecx
cmp ecx, 0x14
jl 0x41620a
mov byte [esp + 0x150], bl
mov ecx, ebx
mov dword [esp + 0x4c], 0x2a3d3910
mov dword [esp + 0x50], 0x352e1f39
mov dword [esp + 0x54], 0x3d3f3528
mov dword [esp + 0x58], 0x3f390f30
mov dword [esp + 0x5c], 0x32333528
mov al, byte [esp + ecx + 0x4c]
xor al, 0x5c
mov byte [esp + ecx + 0x154], al
inc ecx
cmp ecx, 0x14
jl 0x41624e
mov byte [esp + 0x168], bl
mov ecx, ebx
mov dword [esp + 0x10], 0x191c1231
mov dword [esp + 0x14], 0xf1f1431
mov dword [esp + 0x18], 0x3c040f1c
mov al, byte [esp + ecx + 0x10]
xor al, 0x7d
mov byte [esp + ecx + 0x38], al
inc ecx
cmp ecx, 0xc
jl 0x416282
movaps xmm1, xmmword [0x429fd0]
mov ecx, ebx
mov dword [esp + 0x10], 0xf92011f3
mov dword [esp + 0x14], 0x1821101b
mov dword [esp + 0x18], 0x1a0df411
mov dword [esp + 0x1c], 0xed111810
movups xmm0, xmmword [esp + 0x10]
mov byte [esp + 0x44], bl
mov byte [esp + 0x138], bl
paddb xmm1, xmm0
mov dword [esp + 0x60], 0x69747354
movups xmmword [esp + 0x128], xmm1
mov dword [esp + 0x64], 0x74717c74
mov dword [esp + 0x68], 0x6f5e7867
mov dword [esp + 0x6c], 0x7e746974
mov dword [esp + 0x70], 0x784e717c
mov dword [esp + 0x74], 0x7274697e
mov byte [esp + 0x78], 0x73
mov al, byte [esp + ecx + 0x60]
xor al, 0x1d
mov byte [esp + ecx + 0x84], al
inc ecx
cmp ecx, 0x19
jl 0x41630c
mov eax, edx
mov byte [esp + 0x9d], bl
xor eax, 0xa6fb2c00
lea ecx, [esp + 0x16c]
and edx, 0xeaa4a3bf
mov dword [0x42c91c], eax
mov dword [0x42c928], edx
call fcn.00415b99
mov cl, byte [0x42c91c]
lea edx, [esp + 0x13c]
or cl, 0x72
mov esi, eax
mov byte [0x42c932], cl
movzx ecx, cl
and ecx, 0xf847b0c
mov dword [0x42c91c], ecx
mov ecx, esi
push ebx
call fcn.00415789
movzx edx, word [0x42c958]
movzx ecx, word [0x42c958]
and edx, 0xcfe3451e
mov dword [0x42dfd0], eax
mov eax, 0x9791
imul ecx, eax
movzx eax, dl
imul eax, eax, 0x44
mov dword [0x42c91c], edx
lea edx, [esp + 0x158]
push ebx
mov word [0x42c958], cx
mov ecx, esi
mov byte [0x42c932], al
call fcn.00415789
mov dword [0x42dbc8], eax
lea edx, [esp + 0x40]
movzx eax, byte [0x42c932]
mov ecx, esi
add eax, 0x1a416659
mov dword [0x42c91c], eax
or eax, 0x3b80
push ebx
mov word [0x42c958], ax
call fcn.00415789
mov dword [0x42dfd4], eax
lea edx, [esp + 0x134]
mov eax, dword [0x42c928]
mov ecx, esi
add eax, 0x2822e91a
push ebx
mov dword [0x42c91c], eax
call fcn.00415789
mov ecx, dword [0x42c928]
lea edx, [esp + 0x94]
mov dword [0x42dbc4], eax
push ebx
lea eax, [ecx + 0x56]
mov byte [0x42c932], al
imul eax, ecx, 0xe86a314f
mov ecx, esi
mov dword [0x42c928], eax
call fcn.00415789
movzx esi, word [0x42c958]
add esp, 0x14
imul ecx, esi, 0xcb8f9a44
mov edx, eax
mov dword [0x42dba0], edx
mov dword [0x42c928], ecx
cmp dword [0x42dfd0], ebx
je 0x4165d3
cmp dword [0x42dbc8], ebx
je 0x4165d3
cmp dword [0x42dfd4], ebx
je 0x4165d3
cmp dword [0x42dbc4], ebx
je 0x4165d3
test edx, edx
je 0x4165d3
movzx eax, byte [0x42c932]
or eax, 0xe
mov byte [0x42dba4], 1
xor eax, 0x4c7664ea
mov dword [0x42c91c], eax
imul eax, esi, 0xc18438b4
push edi
mov dword [0x42c928], eax
movzx eax, al
imul eax, eax, 0xb1
mov byte [0x42c932], al
call edx
mov eax, dword [0x42c928]
and eax, 0xf638662f
mov dword [0x42c91c], eax
imul eax, eax, 0xde9d
push edi
mov word [0x42c958], ax
call dword [0x42dfd0]
movzx edx, byte [0x42c928]
lea eax, [esp + 0xb0]
mov dword [esp + 0x84], eax
xor edx, 0x14
mov edi, dword [0x42dba8]
lea eax, [esp + 0xf8]
mov dword [esp + 0x88], eax
or edx, 0xedad6aea
mov si, word [0x42c958]
lea eax, [esp + 0xc8]
mov dword [esp + 0x8c], eax
lea eax, [esp + 0xd4]
mov dword [esp + 0x90], eax
lea eax, [esp + 0x108]
mov dword [esp + 0x94], eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x98], eax
lea eax, [esp + 0xe0]
mov dword [esp + 0x9c], eax
lea eax, [esp + 0xbc]
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x20]
mov dword [esp + 0xa4], eax
lea eax, [esp + 0xec]
mov dword [esp + 0xa8], eax
lea eax, [esp + 0x118]
mov dword [esp + 0xac], eax
mov ecx, ebx
mov dword [0x42c928], edx
test edi, edi
je 0x416611
movzx edx, si
lea eax, [edx - 0x516add08]
and edx, 0x49d1701e
mov dword [esp + 0x7c], eax
mov dword [0x42c928], edx
cmp dword [ecx*4 + 0x42dbd0], ebp
je 0x4165fb
inc ecx
cmp ecx, edi
jb 0x4165c3
jmp 0x41661a
mov al, cl
and al, 0xca
mov byte [0x42c932], al
mov eax, ecx
and eax, 0xb49d
mov word [0x42c958], ax
lea eax, [ecx + 0xb476ce0]
mov dword [0x42c91c], eax
xor eax, eax
jmp 0x4167bf
mov ebx, dword [ecx*4 + 0x42d7a0]
mov eax, edx
xor eax, 0x5ab8
imul esi, eax, 0x408b
jmp 0x41661a
mov eax, dword [0x42c91c]
mov dword [esp + 0x7c], eax
xor dl, 0x47
mov byte [0x42c932], dl
test ebx, ebx
jne 0x416770
mov edi, dword [esp + 0x80]
mov ecx, 0x3115
xor cx, si
mov eax, 0x10b3
movzx ecx, cx
imul ecx, eax
mov esi, dword [edi*4 + 0x42d774]
movzx eax, cx
mov word [0x42c958], cx
test esi, esi
jne 0x4166f6
push dword [esp + edi*4 + 0x84]
or eax, 0xa54a8275
mov dword [0x42c91c], eax
add eax, 0x24f8e246
mov dword [0x42c928], eax
call dword [0x42dbc4]
movzx ecx, word [0x42c958]
mov esi, eax
mov eax, dword [0x42c91c]
sub ecx, 0x735055fd
mov dword [0x42c928], ecx
mov ecx, eax
and ecx, 0xfefe
test esi, esi
jne 0x4166e9
push dword [esp + edi*4 + 0x84]
movzx eax, al
imul edx, eax, 0x1d
mov eax, 0xdf58
movzx ecx, dl
imul ecx, eax
movzx eax, dl
xor dl, 0x15
sub eax, 0x37cbe336
mov byte [0x42c932], dl
mov dword [0x42c91c], eax
mov word [0x42c958], cx
call dword [0x42dfd4]
mov cx, word [0x42c958]
mov esi, eax
mov dl, byte [0x42c932]
mov dword [edi*4 + 0x42d774], esi
movzx edi, dl
mov eax, edi
and eax, 0x32c46c5f
mov dword [0x42c928], eax
lea edx, [edi + 0x618dccf3]
mov dword [0x42c91c], edx
test esi, esi
je 0x416774
mov eax, 0x9bb6
mov edx, ebp
and cx, ax
imul eax, edi, 0x14f38e62
mov word [0x42c958], cx
mov ecx, esi
mov dword [0x42c928], eax
call fcn.00415338
mov ebx, eax
test ebx, ebx
je 0x416768
mov ecx, dword [0x42dba8]
movzx edx, word [0x42c928]
or edx, 0x4c4bfee9
mov dword [ecx*4 + 0x42dbd0], ebp
mov dword [ecx*4 + 0x42d7a0], ebx
inc ecx
mov dword [0x42dba8], ecx
jmp 0x416774
mov edx, dword [0x42c91c]
jmp 0x416774
mov edx, dword [esp + 0x7c]
or edx, 0x6a5d
movzx eax, dx
imul eax, eax, 0xf5862cbc
push 0x42dbac
mov word [0x42c958], dx
mov byte [0x42c932], dl
mov dword [0x42c91c], eax
call dword [0x42dbc8]
mov cx, word [0x42c958]
movzx eax, cx
and eax, 0x9c714702
and cl, 0xd2
mov dword [0x42c91c], eax
mov eax, ebx
mov byte [0x42c932], cl
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x178
ret