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

Disassembly:
sub esp, 0x17c
push ebx
push ebp
xor ebx, ebx
mov dword [esp + 0x78], ecx
push esi
mov dword [esp + 0x80], edx
mov ecx, ebx
mov dword [esp + 0xc], 0x877f8f69
mov dword [esp + 0x10], 0x877f4987
mov byte [esp + 0x14], 0x87
mov al, byte [esp + ecx + 0xc]
sub al, 0x1b
mov byte [esp + ecx + 0xb0], al
inc ecx
cmp ecx, 9
jl 0x4150b1
push 0xc
mov byte [esp + 0xbd], bl
mov ecx, ebx
mov dword [esp + 0x2c], 0xdbdfd2b8
mov dword [esp + 0x30], 0x9fa0d9d2
mov dword [esp + 0x34], 0xd9d9d19b
pop esi
mov al, byte [esp + ecx + 0x28]
sub al, 0x6d
mov byte [esp + ecx + 0xf8], al
inc ecx
cmp ecx, esi
jl 0x4150e8
push 0xb
mov byte [esp + 0x108], bl
mov ecx, ebx
mov dword [esp + 0x20], 0x4045402e
mov dword [esp + 0x24], 0x54b3c45
mov word [esp + 0x28], 0x433b
mov byte [esp + 0x2a], 0x43
pop edx
mov al, byte [esp + ecx + 0x1c]
add al, 0x29
mov byte [esp + ecx + 0xc8], al
inc ecx
cmp ecx, edx
jl 0x415122
mov byte [esp + 0xd3], bl
mov ecx, ebx
mov dword [esp + 0x1c], 0xafa6ad9c
mov dword [esp + 0x20], 0xf1edecab
mov word [esp + 0x24], 0xb3bb
mov byte [esp + 0x26], 0xb3
mov al, byte [esp + ecx + 0x1c]
xor al, 0xdf
mov byte [esp + ecx + 0xd4], al
inc ecx
cmp ecx, edx
jl 0x415159
mov byte [esp + 0xdf], bl
mov ecx, ebx
mov dword [esp + 0x28], 0x1f3422ff
mov dword [esp + 0x2c], 0xf0f1272e
mov dword [esp + 0x30], 0x2a2a22ec
mov al, byte [esp + ecx + 0x28]
add al, 0x42
mov byte [esp + ecx + 0x108], al
inc ecx
cmp ecx, esi
jl 0x41518c
mov byte [esp + 0x114], bl
mov ecx, ebx
mov dword [esp + 0xc], 0xd0c7d1f7
mov dword [esp + 0x10], 0xc68c9091
mov word [esp + 0x14], 0xcece
mov al, byte [esp + ecx + 0xc]
xor al, 0xa2
mov byte [esp + ecx + 0x28], al
inc ecx
cmp ecx, 0xa
jl 0x4151be
mov byte [esp + 0x32], bl
mov ecx, ebx
mov dword [esp + 0x1c], 0x7c757053
mov dword [esp + 0x20], 0x3a7f8178
mov word [esp + 0x24], 0x7870
mov byte [esp + 0x26], 0x78
mov al, byte [esp + ecx + 0x1c]
sub al, 0xc
mov byte [esp + ecx + 0xe0], al
inc ecx
cmp ecx, edx
jl 0x4151f0
mov byte [esp + 0xeb], bl
mov ecx, ebx
mov dword [esp + 0xc], 0x500a0724
mov dword [esp + 0x10], 0xf074d51
mov byte [esp + 0x14], 0xf
mov al, byte [esp + ecx + 0xc]
xor al, 0x63
mov byte [esp + ecx + 0xbc], al
inc ecx
cmp ecx, 9
jl 0x415220
mov byte [esp + 0xc5], bl
mov ecx, ebx
mov dword [esp + 0xc], 0x13454c6f
mov dword [esp + 0x10], 0x4c440e12
mov byte [esp + 0x14], 0x4c
mov al, byte [esp + ecx + 0xc]
xor al, 0x20
mov byte [esp + ecx + 0x1c], al
inc ecx
cmp ecx, 9
jl 0x415251
mov byte [esp + 0x25], bl
mov ecx, ebx
mov dword [esp + 0xc], 0xd161229
mov dword [esp + 0x10], 0x54130a1b
mov word [esp + 0x14], 0x161e
mov byte [esp + 0x16], 0x16
mov al, byte [esp + ecx + 0xc]
xor al, 0x7a
mov byte [esp + ecx + 0xec], al
inc ecx
cmp ecx, edx
jl 0x415283
mov byte [esp + 0xf7], bl
mov ecx, ebx
mov dword [esp + 0xc], 0xd1d7d0f1
mov dword [esp + 0x10], 0xd1c4ced7
mov dword [esp + 0x14], 0xcfcfc78d
mov al, byte [esp + ecx + 0xc]
xor al, 0xa3
mov byte [esp + ecx + 0x118], al
inc ecx
cmp ecx, esi
jl 0x4152b6
mov ecx, dword [0x42b930]
mov ebp, 0x42cbcc
add ecx, 0x8a0da92d
mov byte [esp + 0x124], bl
mov dword [0x42b934], ecx
cmp byte [0x42cbc4], bl
jne 0x415674
mov dword [esp + 0xc], 0x8b8f8288
mov ecx, ebx
mov dword [esp + 0x10], 0x4f508982
mov edx, 0xff
mov dword [esp + 0x14], 0x8989814b
movzx eax, byte [esp + ecx + 0xc]
sub ax, 0x1d
and ax, dx
mov word [esp + ecx*2 + 0x16c], ax
inc ecx
cmp ecx, esi
jl 0x415311
xor eax, eax
mov dword [esp + 0x38], 0x70617b50
mov word [esp + 0x184], ax
mov ecx, ebx
mov dword [esp + 0x3c], 0x7c675667
mov dword [esp + 0x40], 0x74767c61
mov dword [esp + 0x44], 0x76704679
mov dword [esp + 0x48], 0x7b7a7c61
mov al, byte [esp + ecx + 0x38]
xor al, 0x15
mov byte [esp + ecx + 0x13c], al
inc ecx
cmp ecx, 0x14
jl 0x41535e
mov byte [esp + 0x150], bl
mov ecx, ebx
mov dword [esp + 0x4c], 0x9681856c
mov dword [esp + 0x50], 0x89926385
mov dword [esp + 0x54], 0x81838994
mov dword [esp + 0x58], 0x8385738c
mov dword [esp + 0x5c], 0x8e8f8994
mov al, byte [esp + ecx + 0x4c]
sub al, 0x20
mov byte [esp + ecx + 0x154], al
inc ecx
cmp ecx, 0x14
jl 0x4153a2
mov byte [esp + 0x168], bl
mov ecx, ebx
mov dword [esp + 0xc], 0xbfbab497
mov dword [esp + 0x10], 0xa9b9b297
mov dword [esp + 0x14], 0x9aa2a9ba
mov al, byte [esp + ecx + 0xc]
xor al, 0xdb
mov byte [esp + ecx + 0x38], al
inc ecx
cmp ecx, esi
jl 0x4153d6
movaps xmm1, xmmword [0x428fc0]
mov ecx, ebx
mov dword [esp + 0xc], 0x345b4c2e
mov dword [esp + 0x10], 0x535c4b56
mov dword [esp + 0x14], 0x55482f4c
mov dword [esp + 0x18], 0x284c534b
movups xmm0, xmmword [esp + 0xc]
mov byte [esp + 0x44], bl
mov byte [esp + 0x138], bl
paddb xmm1, xmm0
mov dword [esp + 0x60], 0x261b20fb
movups xmmword [esp + 0x128], xmm1
mov dword [esp + 0x64], 0x1b1e131b
mov dword [esp + 0x68], 0x24f5172c
mov dword [esp + 0x6c], 0x151b261b
mov dword [esp + 0x70], 0x17051e13
mov dword [esp + 0x74], 0x211b2615
mov byte [esp + 0x78], 0x20
mov al, byte [esp + ecx + 0x60]
add al, 0x4e
mov byte [esp + ecx + 0x84], al
inc ecx
cmp ecx, 0x19
jl 0x41545f
imul eax, dword [0x42b93c], 0x4c0d8ab6
mov ecx, dword [0x42b93c]
xor ecx, 0x879b
mov byte [esp + 0x9d], bl
mov word [0x42b950], cx
mov dword [0x42b974], eax
mov al, cl
and ecx, 0x715e
xor al, 0xcd
mov word [0x42b944], cx
lea ecx, [esp + 0x16c]
mov byte [0x42b97a], al
call fcn.00414be8
mov edx, dword [0x42b974]
mov esi, eax
movzx ecx, dl
add edx, 0x6ce4e0c2
imul ecx, ecx, 0xe1
mov dword [0x42b974], edx
lea edx, [esp + 0x13c]
push ebx
mov byte [0x42b97a], cl
mov ecx, dword [0x42b93c]
xor ecx, 0x2d1b8749
mov dword [0x42b930], ecx
mov ecx, esi
call fcn.00414513
and dword [0x42b93c], 0xe7c82db
lea edx, [esp + 0x158]
mov dword [0x42cff0], eax
mov ecx, esi
imul eax, dword [0x42b974], 0x7edf9168
push ebx
mov dword [0x42b930], eax
movzx eax, word [0x42b944]
add eax, 0x11b7347c
mov dword [0x42b94c], eax
call fcn.00414513
mov dword [0x42cbe8], eax
lea edx, [esp + 0x40]
movzx eax, byte [0x42b97a]
mov ecx, esi
or eax, 0xb990244
mov dword [0x42b934], eax
movzx eax, word [0x42b944]
add eax, 0x6b4d55d1
push ebx
mov dword [0x42b94c], eax
call fcn.00414513
mov dword [0x42cff4], eax
lea edx, [esp + 0x134]
movzx eax, byte [0x42b97a]
mov ecx, esi
or eax, 0x46950b28
sub eax, 0x471d2d02
mov dword [0x42b934], eax
mov eax, dword [0x42b93c]
add eax, 0xa934e44d
push ebx
mov dword [0x42b974], eax
call fcn.00414513
add dword [0x42b94c], 0x40b573b3
lea edx, [esp + 0x94]
push ebx
mov ecx, esi
mov dword [0x42cbe4], eax
call fcn.00414513
mov ecx, dword [0x42b974]
mov esi, eax
mov edx, dword [0x42b94c]
add ecx, 0x32c3166e
imul eax, ecx, 0xb981
and edx, 0xeb4083d4
add esp, 0x14
mov dword [0x42cbc0], esi
mov dword [0x42b94c], edx
mov dword [0x42b934], ecx
mov word [0x42b944], ax
cmp dword [0x42cff0], ebx
je 0x415784
cmp dword [0x42cbe8], ebx
je 0x415784
cmp dword [0x42cff4], ebx
je 0x415784
cmp dword [0x42cbe4], ebx
je 0x415784
test esi, esi
je 0x415784
imul eax, edx, 0x3f09bf69
and ecx, 0xeee7fd25
push ebp
mov dword [0x42b974], ecx
mov byte [0x42cbc4], 1
mov dword [0x42b930], eax
movzx eax, word [0x42b950]
sub eax, 0x72e7455c
mov dword [0x42b94c], eax
call esi
mov ecx, dword [0x42b934]
mov eax, dword [0x42b93c]
or eax, 0xb1b6b2f4
mov dword [0x42b974], eax
lea eax, [ecx + 0x1e93b91e]
mov dword [0x42b93c], eax
mov al, byte [0x42b944]
push edi
and al, 0xee
push ebp
mov byte [0x42b97a], al
call dword [0x42cff0]
lea eax, [esp + 0xb4]
mov esi, dword [0x42b93c]
mov dword [esp + 0x88], eax
mov ecx, ebx
lea eax, [esp + 0xfc]
mov ebp, dword [0x42cbc8]
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 edi, dword [0x42b934]
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
mov eax, esi
and eax, 0x34be
mov word [0x42b944], ax
mov edx, eax
test ebp, ebp
je 0x4157cc
mov eax, edi
or eax, 0xc9e2
movzx edx, ax
mov word [0x42b944], ax
mov eax, dword [esp + 0x84]
cmp dword [ecx*4 + 0x42cbf0], eax
je 0x4157b7
inc ecx
cmp ecx, ebp
jb 0x415774
jmp 0x4157cc
imul eax, dword [0x42b930], 0xf53
or edx, 0xc7322643
mov dword [0x42b934], edx
or eax, 0x9e4e
mov word [0x42b944], ax
lea eax, [edx - 0x58d4a8c]
mov dword [0x42b974], eax
xor eax, eax
jmp 0x415a28
mov ebx, dword [ecx*4 + 0x42c7c0]
movzx eax, dl
imul eax, eax, 0xde
mov byte [0x42b97a], al
mov ecx, dword [0x42b930]
imul eax, edi, 0x99a3492
mov dword [0x42b934], eax
movzx eax, dx
movzx edx, word [0x42b950]
xor eax, 0x234f6c33
or edx, 0x4ec53f40
mov dword [0x42b974], eax
mov dword [0x42b94c], edx
test ebx, ebx
jne 0x4159e0
mov esi, ecx
mov dword [esp + 0x38], ecx
and esi, 0x697956a2
xor ecx, 0x4739
movzx ebp, cx
add ebp, 0xa66a4c9a
mov dword [0x42b93c], esi
mov word [0x42b950], cx
lea eax, [esi - 0x687e8c32]
mov dword [0x42b974], ebp
mov dword [0x42b934], eax
mov eax, dword [esp + 0x80]
mov edi, dword [eax*4 + 0x42c794]
test edi, edi
jne 0x415916
movzx eax, byte [0x42b97a]
mov ebp, dword [esp + 0x80]
and eax, 0xfc4270c8
mov dword [0x42b974], eax
xor eax, 0xa69f176b
mov dword [0x42b94c], eax
or eax, 0x8d89c60
mov dword [0x42b934], eax
push dword [esp + ebp*4 + 0x88]
call dword [0x42cbe4]
mov cl, byte [0x42b944]
mov edi, eax
sub cl, 0x5b
mov byte [0x42b97a], cl
movzx ecx, cl
imul ecx, ecx, 0x5d86e2ce
mov dword [0x42b934], ecx
test edi, edi
jne 0x4158df
mov ecx, dword [0x42b974]
mov eax, ecx
push dword [esp + ebp*4 + 0x88]
xor eax, 0x2603
and ecx, 0x364d5ec2
mov word [0x42b950], ax
mov dword [0x42b94c], ecx
call dword [0x42cff4]
mov edi, eax
mov ebp, dword [0x42b974]
mov eax, dword [esp + 0x80]
mov ecx, dword [0x42b930]
mov edx, dword [0x42b94c]
lea esi, [ebp - 0x9524332]
mov dword [esp + 0x38], ecx
mov cx, word [0x42b950]
mov dword [0x42b93c], esi
mov dword [eax*4 + 0x42c794], edi
xor cl, 0xcb
mov byte [0x42b97a], cl
test edi, edi
je 0x4159dc
mov eax, edx
mov ecx, edi
xor eax, 0x7778
and edx, 0xa452bdc5
mov word [0x42b944], ax
lea eax, [ebp + 0x59d85479]
mov ebp, dword [esp + 0x84]
mov dword [0x42b934], edx
mov edx, ebp
mov dword [0x42b93c], eax
call fcn.004141f9
mov edi, dword [0x42b94c]
mov ebx, eax
mov ecx, edi
xor ecx, 0xf5f571aa
mov dword [0x42b974], ecx
xor ecx, 0xac3ddfa0
mov dword [esp + 0x38], ecx
mov dword [0x42b930], ecx
test ebx, ebx
je 0x415a32
mov ax, word [0x42b944]
mov esi, 0x97ef
mov edx, dword [0x42cbc8]
and ax, si
mov word [0x42b950], ax
xor edi, 0x8419f6c7
movzx eax, word [0x42b944]
or eax, 0x9bae
mov dword [0x42b94c], edi
imul esi, eax, 0xb064abef
mov dword [edx*4 + 0x42cbf0], ebp
mov dword [edx*4 + 0x42c7c0], ebx
inc edx
mov dword [0x42cbc8], edx
mov dword [0x42b93c], esi
mov ecx, dword [esp + 0x38]
lea eax, [esi - 0x37fd]
sub cl, 0x68
push 0x42cbcc
mov word [0x42b944], ax
mov byte [0x42b97a], cl
call dword [0x42cbe8]
mov eax, dword [0x42b930]
movzx ecx, word [0x42b944]
and eax, 0xc93f3b16
mov dword [0x42b974], eax
mov eax, 0x2a13
imul ecx, eax
mov eax, ebx
pop edi
mov word [0x42b944], cx
pop esi
pop ebp
pop ebx
add esp, 0x17c
ret
mov esi, dword [0x42b93c]
jmp 0x4159e0