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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0x120
mov eax, dword [ebp + 8]
mov dword [esp + 0x10c], 0x5aa9fe8d
mov byte [esp + 0x107], 0x95
mov word [esp + 0x86], 0xa10f
mov byte [esp + 0xc7], 0x8f
mov dword [esp + 0xbc], 0x5cf9d385
mov ecx, dword [0x42978c]
mov edx, dword [0x4298a8]
mov esi, dword [0x4298ac]
xor edx, esi
mov esi, dword [esp + 0xbc]
mov edi, dword [0x42981c]
mov ebx, dword [0x429788]
xor ebx, ecx
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 0x64], eax
mov eax, dword [0x429818]
xor eax, edi
mov di, word [esp + 0x118]
add eax, ebx
mov dword [esp + 0x110], 0x1ffd4683
mov dword [esp + 0x114], 0
mov ebx, dword [0x42993c]
mov dword [esp + 0x60], eax
mov eax, dword [0x429938]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x60]
add edx, eax
mov dword [esp + 0x110], ecx
mov eax, dword [esp + 0x64]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x5c]
xor eax, ebx
mov bl, byte [esp + 0x11b]
mov bh, bl
not bh
mov byte [esp + 0x11b], bh
mov dword [esp + 0x58], eax
mov eax, ecx
or eax, 0x6d8bb00f
mov dword [esp + 0x54], eax
mov eax, dword [0x4299c8]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x58]
add eax, edx
mov edx, dword [0x4299cc]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x50]
xor eax, edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x110], edx
mov bh, bl
or bh, 0x44
mov edx, dword [0x429aec]
mov dword [esp + 0x48], eax
mov eax, dword [0x429a58]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x4c]
add eax, ecx
mov ecx, dword [esp + 0x44]
xor ecx, dword [0x429a5c]
add ecx, eax
mov eax, dword [esp + 0x10c]
add eax, 0xfdb5e885
mov byte [esp + 0x11b], bh
cmp eax, esi
mov dword [esp + 0x3c], edx
mov byte [esp + 0x3b], bl
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], esi
mov word [esp + 0x2e], di
jne 0x4075d8
jmp 0x4078c2
mov dword [esp + 0xac], 0
jmp 0x407ca2
mov eax, dword [esp + 0x7c]
mov ecx, eax
and ecx, 0x1f
mov si, word [esp + 0x2e]
mov dx, si
mov word [esp + 0x118], si
mov bl, byte [ecx + 0x40b0c0]
mov bh, 0x20
sub bh, bl
mov ecx, dword [esp + 0xd8]
mov bl, byte [ecx + eax]
mov edi, dword [esp + 0x10c]
xor edi, 0x5aa9fead
add edx, 0x58a4
mov si, dx
mov word [esp + 0x118], si
add bh, bl
mov byte [ecx + eax], bh
mov ecx, dword [esp + 0x40]
and ecx, 0x19395b59
add eax, edi
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x110], ecx
mov dword [esp + 0x114], 0
mov dword [esp + 0x7c], eax
cmp eax, edx
jb 0x4074cb
jmp 0x407c4c
mov eax, dword [esp + 0xb8]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0xd4]
add eax, dword [esp + 0xd8]
mov cl, byte [esp + 0xc7]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x78]
movdqu xmm0, xmmword [eax]
movdqa xmmword [esp + 0x90], xmm0
mov eax, dword [esp + 0x78]
add eax, 0x10
mov edx, dword [esp + 0x30]
or edx, 0x65ed22d
mov dword [esp + 0x108], edx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0xc0], eax
cmp cl, 0x26
jne 0x407b80
jmp 0x407c77
mov ax, word [esp + 0x2e]
and ax, 0x7885
mov word [esp + 0x118], ax
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x7c], ecx
jmp 0x4074cb
mov cx, word [esp + 0x2e]
mov ax, cx
mov edx, eax
not edx
mov si, dx
mov edx, dword [0x429ae8]
mov edi, dword [esp + 0x3c]
xor edx, edi
mov word [esp + 0x118], si
mov bl, byte [esp + 0x3b]
add bl, 0x36
mov esi, dword [0x429b7c]
mov edi, dword [esp + 0x34]
add edx, edi
mov edi, dword [0x429b78]
xor edi, esi
mov byte [esp + 0x11b], bl
mov esi, dword [0x429c08]
mov ebx, dword [0x429c0c]
xor esi, ebx
mov ebx, dword [esp + 0x30]
or ebx, 0x1c2c68c6
add edi, edx
add esi, edi
mov dword [esp + 0x108], ebx
mov edx, dword [0x429c98]
mov edi, dword [0x429c9c]
xor edx, edi
mov edi, dword [0x429d2c]
imul eax, eax, 0x3572
mov cx, ax
add edx, esi
mov word [esp + 0x118], cx
mov eax, dword [0x429db8]
mov esi, dword [0x429dbc]
xor eax, esi
mov esi, dword [esp + 0x30]
imul ebx, esi, 0x19ecc64b
mov esi, dword [0x429e4c]
mov ecx, dword [0x429d28]
xor ecx, edi
add ecx, edx
add eax, ecx
mov dword [esp + 0x108], ebx
mov ecx, dword [esp + 0x40]
xor ecx, 0x7ab6c90a
mov edx, dword [0x429e48]
xor edx, esi
add edx, eax
mov eax, dword [0x429ed8]
mov esi, dword [0x429edc]
xor eax, esi
add eax, edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x114], edx
mov dword [esp + 0x110], ecx
mov ecx, dword [0x429f68]
mov esi, dword [0x429f6c]
xor ecx, esi
add ecx, eax
mov al, byte [esp + 0x107]
mov byte [esp + 0x11b], 0x89
mov esi, dword [0x429ffc]
mov edi, dword [0x429ff8]
xor edi, esi
add edi, ecx
mov ecx, dword [0x42a08c]
mov esi, dword [esp + 0x30]
and esi, 0x2b0f8c42
mov ah, 0x95
sub ah, al
mov dword [esp + 0x108], esi
mov esi, dword [0x42a088]
mov byte [esp + 0x11b], 0x97
mov ebx, dword [0x42a118]
mov edx, dword [0x42a11c]
xor ebx, edx
mov edx, dword [esp + 0x30]
add edx, 0x3a4330fe
xor esi, ecx
add esi, edi
mov dword [esp + 0x108], edx
add ebx, esi
mov dword [esp + 0x6c], ebx
lea ecx, [esp + 0xe7]
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x110], 0x449034f0
mov dword [esp + 0x114], 0
mov al, byte [esp + 0x107]
mov byte [esp + 0x11b], 0xc0
add al, 0xd7
mov ecx, dword [esp + 0xdc]
mov byte [ecx], 0x56
mov byte [esp + 0xe8], 0x69
mov byte [esp + 0xe9], 0x72
mov byte [esp + 0xea], 0x74
mov byte [esp + 0xeb], 0x75
mov byte [esp + 0xec], 0x61
mov byte [esp + 0xed], al
mov byte [esp + 0xee], 0x41
mov byte [esp + 0xef], 0x6c
mov ecx, dword [esp + 0x30]
xor ecx, 0xffffffff
mov dword [esp + 0x108], ecx
mov byte [esp + 0xf0], 0x6c
mov byte [esp + 0xf1], 0x6f
mov ecx, dword [esp + 0x30]
or ecx, 0x20f7c789
mov dword [esp + 0x108], ecx
mov byte [esp + 0xf2], 0x63
mov byte [esp + 0xf3], ah
mov ecx, dword [esp + 0x30]
and ecx, 0x7063e777
mov dword [esp + 0x108], ecx
mov byte [esp + 0xf4], 0x56
call fcn.00408830
mov ecx, dword [esp + 0xdc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004099e0
xor ecx, ecx
mov edx, 0x1000
mov esi, 4
mov edi, dword [esp + 0x6c]
mov dword [esp], 0
mov dword [esp + 4], edi
mov dword [esp + 8], 0x1000
mov dword [esp + 0xc], 4
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edx
call eax
sub esp, 0x10
mov dword [esp + 0xd8], eax
mov dword [esp + 0xb0], 0
mov si, word [esp + 0x2e]
imul si, si, 0xfd64
mov word [esp + 0x118], si
mov dword [esp + 0xe0], 0
jmp 0x407902
mov dword [esp + 0x108], 0xda6297a6
cmp dword [esp + 0x6c], 0
je 0x407acc
jmp 0x407c77
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
not edx
mov esi, dword [esp + 0x40]
not esi
mov dword [esp + 0x110], esi
mov dword [esp + 0x114], edx
mov edx, dword [esp + 0xd0]
mov dword [esp + 0xc8], edx
cmp ecx, eax
je 0x407acc
jmp 0x407c8f
mov ax, 0x7ace
lea ecx, [0x429720]
mov dx, word [esp + 0x2e]
imul si, dx, 0x4124
mov edi, dword [esp + 0xe0]
mov word [esp + 0x118], si
mov dword [esp + 0xcc], edi
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x80], edi
mov edi, dword [esp + 0x30]
and edi, 0x1efb1ee5
mov dword [esp + 0x108], edi
imul edi, dword [esp + 0xcc], 0x90
add ecx, edi
add ecx, 0x6c
mov dword [esp + 0x88], ecx
cmp ax, word [esp + 0x86]
jae 0x4075b7
jmp 0x4079f5
mov eax, 0x370a937
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x1c], eax
mov eax, ecx
mov edx, dword [esp + 0x1c]
mul edx
mov esi, dword [esp + 0x64]
imul edi, esi, 0x370a937
add edx, edi
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], edx
mov bl, byte [esp + 0x3b]
add bl, 0xdf
mov eax, dword [esp + 0xb4]
mov edx, dword [esp + 0xd8]
mov bh, byte [edx + eax]
add bh, 0xe0
mov byte [esp + 0x11b], bl
mov byte [edx + eax], bh
inc eax
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x114], 0xffffffff
mov dword [esp + 0x110], 0xff00ccc5
mov dword [esp + 0xb4], eax
cmp eax, edx
je 0x407acc
jmp 0x407975
lea eax, [0x429720]
mov cl, byte [esp + 0x3b]
add cl, cl
mov edx, dword [esp + 0x88]
mov byte [esp + 0x11b], cl
mov edx, dword [edx]
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0x30]
imul ebx, edi, 0x23694bdf
mov dword [esp + 0x108], ebx
mov cx, word [esp + 0x2e]
imul cx, cx
imul ebx, dword [esp + 0xcc], 0x90
mov edi, eax
add edi, ebx
add edi, 0x68
mov edi, dword [edi]
imul esi, esi, 0x90
add eax, esi
add eax, 0x8c
mov eax, dword [eax]
xor edi, edx
mov word [esp + 0x118], cx
mov edx, dword [esp + 0x80]
add edx, dword [esp + 0xd8]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0x18], edi
call fcn.00408da0
mov eax, dword [esp + 0x18]
add eax, dword [esp + 0x80]
mov word [esp + 0x118], 0xd322
mov edx, dword [esp + 0xcc]
add edx, 1
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x30]
sub eax, 0x791f33f1
mov dword [esp + 0x108], eax
mov dword [esp + 0xe0], edx
cmp edx, 0x12
je 0x4074bb
jmp 0x407902
xor eax, eax
mov dx, word [esp + 0x2e]
mov cx, dx
mov esi, dword [esp + 0xd8]
add esi, 0x2fe8
mov edi, dword [esp + 0x68]
mov dword [edi + 8], esi
mov dword [edi + 0x10], 0x1d000
mov esi, dword [esp + 0xd8]
add esi, 0xfc4
mov dword [edi], esi
mov dword [edi + 4], 0x2020
imul ecx, ecx, 0xffffe695
mov bx, cx
mov word [esp + 0x118], bx
mov ecx, dword [esp + 0x40]
not ecx
mov esi, dword [esp + 0x64]
not esi
mov dword [esp + 0x114], esi
mov dword [esp + 0x110], ecx
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x6c]
and eax, 0xffffffe0
mov dword [esp + 0xd0], eax
mov dword [esp + 0x114], 0
mov dword [esp + 0x110], 0xf04c9c8
mov dword [esp + 0xb8], 0
mov cx, word [esp + 0x2e]
sub cx, 0x5ae8
mov word [esp + 0x118], cx
jmp 0x40754a
movaps xmm0, xmmword [esp + 0x90]
mov eax, dword [esp + 0xc0]
movaps xmm1, xmmword [0x40b0b0]
paddb xmm0, xmm1
movups xmm2, xmmword [eax]
mov eax, dword [esp + 0x40]
or eax, 0x33f76634
paddb xmm2, xmm1
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x114], ecx
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x78]
mov dx, word [esp + 0x2e]
mov word [esp + 0x118], dx
movups xmmword [eax], xmm0
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x40]
add esi, 0x31265f53
adc ecx, 0
mov dword [esp + 0x114], ecx
mov dword [esp + 0x110], esi
movups xmmword [eax], xmm2
mov eax, dword [esp + 0x40]
or eax, 0x57a72962
mov ecx, dword [esp + 0xd4]
add ecx, 0x20
mov esi, dword [esp + 0x64]
mov dword [esp + 0x114], esi
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x40]
add eax, 0x912e0560
adc esi, 0xffffffff
mov edi, dword [esp + 0xd0]
mov dword [esp + 0x114], esi
mov dword [esp + 0x110], eax
mov dword [esp + 0xb8], ecx
cmp ecx, edi
je 0x4078c2
jmp 0x40754a
mov ax, word [esp + 0x2e]
imul cx, ax, 0x79a
mov edx, dword [esp + 0x70]
mov word [esp + 0x118], cx
add edx, 1
mov dword [esp + 0xac], edx
cmp edx, 0x20
je 0x4078a7
jmp 0x407ca2
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc8], 0
cmp eax, 0x20
jae 0x407b3a
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xb4], eax
jmp 0x407975
mov ax, word [esp + 0x2e]
sub ax, ax
mov word [esp + 0x118], ax
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x70], ecx
mov dl, byte [esp + 0x3b]
xor dl, 0x36
mov byte [esp + 0x11b], dl
mov dl, byte [esp + 0x3b]
and dl, dl
mov ecx, dword [esp + 0x70]
mov ecx, dword [ecx*4 + 0x40b0e4]
mov byte [esp + 0x11b], dl
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x6c]
cmp dword [esp + 0x8c], ecx
jb 0x4075b7
jmp 0x407c4c