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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x740
mov dword [esp + 0x48], edx
mov esi, dword [ebp + 0x20]
mov edi, dword [ebp + 0x18]
mov dword [esp + 0xc0], edi
xorps xmm0, xmm0
movaps xmmword [esp + 0x720], xmm0
mov dword [esp + 0x730], 0
test esi, esi
sete al
mov edx, esi
and edx, 1
xor edx, esi
cmp edx, 0xffffffff
setne bl
test edi, edi
sete dl
mov esi, edi
not esi
and esi, 1
add esi, edi
setne ah
mov edi, 0xf900000e
test dl, ah
jne 0x7a932d
test ecx, ecx
je 0x7a932d
mov edx, dword [ebp + 8]
mov dword [esp + 0x90], edx
test edx, edx
je 0x7a932d
xor edx, edx
test dl, dl
jne 0x7a932d
cmp dword [ebp + 0x1c], 0
je 0x7a932d
mov dword [esp + 0x30], ecx
and al, bl
jne 0x7a932d
mov byte [esp + 0x8f], al
mov byte [esp + 0x4d], al
mov byte [esp + 0x59], al
mov byte [esp + 0x5a], al
mov byte [esp + 0x7f], al
mov byte [esp + 0xbb], al
mov byte [esp + 0x37], al
mov byte [esp + 0x75], al
mov byte [esp + 0xa7], al
mov byte [esp + 0xb9], al
mov byte [esp + 0x8e], al
mov byte [esp + 0x6e], al
mov esi, 7
lea eax, [esp + 0x53f]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x720]
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x540]
mov dword [esp + 0x24], eax
mov word [esp + 0x4e], ax
mov dword [esp + 0x50], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0x80], eax
mov word [esp + 0x76], ax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe0], eax
mov byte [esp + 0x5b], al
mov byte [esp + 0x43], al
mov byte [esp + 0xb2], al
mov byte [esp + 0x87], al
mov byte [esp + 0x9f], al
mov byte [esp + 0xcf], al
mov byte [esp + 0xb3], al
mov byte [esp + 0x6f], al
mov byte [esp + 0xba], al
mov dword [esp + 0x60], eax
jmp 0x7a7f43
mov esi, 0xc
mov eax, dword [esp + 0xb4]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.007c51d0
cmp esi, 7
jne 0x7a7f7c
mov eax, dword [ebp + 0x20]
mov ax, word [eax]
mov word [esp + 0x4e], ax
movzx ecx, ax
mov dword [esp + 0x50], ecx
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
sete al
movzx eax, al
xor edi, edi
cmp ecx, eax
mov eax, 0xd
jne 0x7a8530
jmp 0x7a932d
mov ebx, 6
movzx eax, byte [esp + 0x9f]
shl eax, 0x18
or eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x54]
mov dword [ecx], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
movzx eax, byte [esp + 0x59]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
movzx edx, al
mov ecx, dword [esp + 0x30]
call fcn.007a7d30
mov edi, eax
test edi, edi
je 0x7a8001
nop word [eax + eax]
mov eax, edi
imul eax, eax
and eax, 3
cmp eax, 2
jne 0x7a932d
cmp ebx, 6
mov ebx, dword [esp + 0xbc]
jne 0x7a8d60
mov eax, 0xe
mov ecx, dword [esp + 0xd8]
inc ecx
cmp ecx, dword [esp + 0x68]
jae 0x7a8050
mov edx, ecx
mov dword [esp + 0xdc], edx
mov ecx, 0x11
imul edx, edx
and edx, 3
cmp edx, 2
mov dword [esp + 0xbc], ebx
jb 0x7a8f99
jmp 0x7a924f
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xbc], ebx
jmp 0x7a924f
mov al, byte [ebp + 0xc]
mov cl, al
movzx eax, cl
test cl, cl
setne cl
mov edx, eax
and edx, 1
xor edx, eax
cmp edx, 0xffffffff
setne dl
and dl, cl
mov byte [esp + 0x8f], dl
movzx ecx, dl
cmp ecx, 1
jne 0x7a80c0
cmp dword [ebp + 0x10], 0
jne 0x7a80c0
mov ecx, dword [ebp + 0x10]
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jae 0x7a80c0
mov eax, 0xe
mov edi, 0xf900000e
jmp 0x7a8961
mov cl, 0x2f
movzx ecx, cl
cmp ecx, 0x41
jne 0x7a80e3
cmp eax, 5
mov edi, 0xf9000022
ja 0x7a932d
xor ecx, ecx
test cl, cl
je 0x7a80f1
jmp 0x7a932d
mov edi, 0xf9000022
cmp eax, 5
ja 0x7a932d
mov byte [esp + 0x87], 0xf
mov byte [esp + 0xb2], 0x74
mov byte [esp + 0x43], 0x37
mov cl, byte [ebp + 0xc]
mov dl, cl
test dl, dl
sete byte [esp + 0x4d]
mov ecx, 3
sub ecx, eax
xor ecx, eax
setne cl
add cl, dl
mov byte [esp + 0x59], cl
movzx ecx, cl
cmp ecx, 5
seta dl
mov esi, ecx
and esi, 1
inc esi
xor esi, ecx
sete dh
or dh, dl
mov byte [esp + 0x5a], dh
mov edx, ecx
or edx, 2
mov esi, ecx
xor esi, 2
add esi, edx
mov byte [esp + 0x75], 0x2b
mov byte [esp + 0x37], 0x54
setne dl
movzx edx, dl
sub ecx, edx
lea ecx, [esp + ecx*4 + 0x720]
mov dword [esp + 0x54], ecx
lea ecx, [eax*4 + 2]
mov dword [esp + 0x3c], ecx
lea eax, [eax*4]
mov dword [esp + 0xb4], eax
mov byte [esp + 0x5b], 0x1a
mov byte [esp + 0x6e], 0xd
mov byte [esp + 0xb9], 0xc
mov byte [esp + 0xba], 0x77
mov byte [esp + 0x6f], 0x4d
mov byte [esp + 0xb3], 0x69
mov ecx, 0xc
mov eax, dword [esp + 0x90]
lea edx, [eax + 0x18]
mov dword [esp + 0x2c], edx
lea eax, [eax + 6]
mov dword [esp + 0x28], eax
mov edi, 0xf9000022
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], 0
mov byte [esp + 0xbb], 0x26
mov byte [esp + 0xa7], 0x33
mov byte [esp + 0x8e], 0xc
mov al, 0x1e
mov dword [esp + 0x60], eax
cmp ecx, 7
jne 0x7a9010
mov byte [esp + 0x87], 2
mov eax, dword [esp + 0xd4]
add eax, dword [esp + 0x80]
mov dword [esp + 0x94], eax
movzx ecx, ax
mov dword [esp + 0x98], ecx
movzx eax, word [esp + 0x4e]
xor edi, edi
cmp eax, ecx
ja 0x7a9010
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x7a9010
jmp 0x7a932d
mov byte [esp + 0xa7], 0x33
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x98]
sub ecx, edx
cmp ecx, 0x1b
mov eax, 0x1a
cmovl eax, ecx
mov dword [esp + 0xd4], eax
cmp ecx, 0x1a
mov ax, 0x1a
cmovge cx, ax
mov dword [esp + 0x78], ecx
mov byte [esp + 0x53e], 4
mov al, byte [ebp + 0xc]
mov ecx, dword [esp + 0x38]
mov byte [ecx], al
mov dword [esp + 0xd0], 2
test byte [esp + 0x4d], 1
mov dword [esp + 0x80], edx
mov eax, dword [esp + 0x94]
mov word [esp + 0x76], ax
jne 0x7a90a0
mov eax, 0xa
mov ecx, dword [esp + 0x60]
test cl, cl
je 0x7a8b9c
mov dword [esp + 0x60], 0
mov eax, dword [esp + 0xb4]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.007ce510
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xd0], eax
jmp 0x7a90a0
mov ax, word [esp + 0x76]
mov ecx, dword [esp + 0xd0]
mov word [esp + ecx + 0x53e], ax
mov eax, dword [esp + 0x78]
mov word [esp + ecx + 0x540], ax
mov word [esp + ecx + 0x542], 0
lea eax, [ecx + 6]
lea ecx, [esp + 0x30c]
mov dword [esp + 0x10], ecx
mov dword [esp + 4], eax
lea eax, [esp + 0x53e]
mov dword [esp], eax
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x1ef
call fcn.007aa280
mov edi, eax
test edi, edi
mov byte [esp + 0xbb], 0x26
jne 0x7a932d
mov eax, 0x1d
mov ecx, dword [esp + 0x90]
mov ecx, dword [ecx]
test ecx, ecx
je 0x7a83b0
mov esi, 0x13
mov dword [esp + 0x44], ecx
imul ecx, ecx
and ecx, 3
cmp ecx, 3
jne 0x7a8ed0
jmp 0x7a8750
mov dword [esp + 0x44], ecx
jmp 0x7a8750
lea eax, [esp + 0xec]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x30c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x48]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
call fcn.007a3150
mov edi, eax
test edi, edi
mov byte [esp + 0xb9], 0xc
jne 0x7a932d
mov eax, 0x19
mov ecx, dword [esp + 0x90]
cmp dword [ecx], 0
je 0x7a84d0
cmp eax, 0xa
jne 0x7a8480
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x7a8480
mov byte [esp + 0x87], 0x53
mov eax, dword [esp + 0xd4]
add eax, dword [esp + 0x80]
mov dword [esp + 0x94], eax
movzx ecx, ax
mov dword [esp + 0x98], ecx
movzx eax, word [esp + 0x4e]
xor edi, edi
cmp eax, ecx
ja 0x7a9010
imul eax, eax
and eax, 3
cmp eax, 3
je 0x7a9010
jmp 0x7a932d
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
lea ecx, [esp + 0xec]
mov dword [esp + 0x10], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov dword [esp + 0xc], 1
mov dword [esp], 0
call fcn.00791940
mov edi, eax
test edi, edi
je 0x7a84d0
mov eax, edi
and eax, 1
inc eax
xor eax, edi
jne 0x7a932d
nop word cs:[eax + eax]
mov dword [esp + 0xdc], 0
mov eax, dword [esp + 0xd4]
and eax, 0xffff
mov dword [esp + 0x68], eax
mov dword [esp + 0xe8], 0
je 0x7a9261
mov eax, 8
movzx ecx, byte [esp + 0xb3]
cmp ecx, 0x14
je 0x7a8530
mov dword [esp + 0x70], edi
mov esi, 0xe
cmp ecx, 0x69
jne 0x7a85f0
mov edi, dword [esp + 0x70]
jmp 0x7a8a9e
mov dword [esp + 0x70], edi
cmp eax, 8
jne 0x7a8070
mov ecx, 0x1b
mov byte [esp + 0xb3], 0x69
mov edi, dword [esp + 0xdc]
imul edx, edi, 0x13
mov eax, dword [esp + edx + 0x10c]
mov dword [esp + 0xa0], eax
movzx eax, byte [esp + edx + 0x112]
mov bl, byte [esp + edx + 0x115]
mov byte [esp + 0x9f], bl
mov esi, eax
and esi, 1
xor esi, eax
cmp esi, 0xffffffff
setne bl
and bl, al
setne byte [esp + 0xcf]
movzx eax, word [esp + edx + 0x113]
imul eax, eax, 0xaaab
shr eax, 0x13
test bl, bl
mov edx, 0
cmove ax, dx
mov edx, dword [ebp + 0x20]
mov word [edx], ax
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x88], eax
inc eax
mov edx, dword [ebp + 0x14]
mov edx, dword [edx]
cmp edx, eax
mov dword [esp + 0xd8], edi
mov esi, dword [esp + 0xe8]
mov dword [esp + 0xc8], esi
mov edi, dword [esp + 0x70]
jb 0x7a87fe
jmp 0x7a8c70
mov ecx, 8
mov byte [esp + 0xb3], 0x7e
mov edi, dword [esp + 0xdc]
imul edx, edi, 0x13
mov eax, dword [esp + edx + 0x10c]
mov dword [esp + 0xa0], eax
movzx eax, byte [esp + edx + 0x112]
mov bl, byte [esp + edx + 0x115]
mov byte [esp + 0x9f], bl
mov esi, eax
imul esi, esi
and esi, 3
cmp esi, 2
setb bl
and bl, al
setne byte [esp + 0xcf]
movzx eax, word [esp + edx + 0x113]
imul eax, eax, 0xaaab
shr eax, 0x13
test bl, bl
mov edx, 0
cmove ax, dx
mov edx, dword [ebp + 0x20]
mov word [edx], ax
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x88], eax
inc eax
mov edx, dword [ebp + 0x14]
mov edx, dword [edx]
cmp edx, eax
mov dword [esp + 0xd8], edi
mov esi, dword [esp + 0xe8]
mov dword [esp + 0xc8], esi
mov edi, dword [esp + 0x70]
jb 0x7a87fe
jmp 0x7a92b1
mov byte [esp + 0x6f], 0x4d
mov eax, dword [esp + 0xc0]
mov esi, dword [eax]
mov edi, dword [esp + 0x88]
mov eax, 9
movzx ecx, byte [esp + 0xba]
cmp ecx, 0x77
je 0x7a8d83
mov eax, 0x10
mov byte [esp + 0xba], 0x1c
imul edx, edi, 0x2c
add edx, esi
jne 0x7a8720
mov ecx, 0x14
mov dword [esp + 0xc4], edx
imul edx, edx
and edx, 3
cmp edx, 2
mov dword [esp + 0xe4], edi
mov dword [esp + 0xa8], edi
mov dword [esp + 0xe0], esi
mov dword [esp + 0xac], esi
mov edi, 0xf900000e
jb 0x7a8c08
jmp 0x7a8750
mov dword [esp + 0xc4], edx
mov dword [esp + 0xe4], edi
mov dword [esp + 0xa8], edi
mov dword [esp + 0xe0], esi
mov dword [esp + 0xac], esi
mov edi, 0xf900000e
nop dword [eax + eax]
cmp eax, 0x10
mov ebx, dword [esp + 0xe8]
je 0x7a8c47
jmp 0x7a8f31
mov byte [esp + 0xb3], 0x14
mov esi, dword [esp + 0xdc]
imul eax, esi, 0x13
mov ecx, dword [esp + eax + 0x10c]
mov dword [esp + 0xa0], ecx
mov dl, byte [esp + eax + 0x112]
mov cl, byte [esp + eax + 0x115]
mov byte [esp + 0x9f], cl
movzx eax, word [esp + eax + 0x113]
imul eax, eax, 0xaaab
shr eax, 0x13
and dl, 1
mov byte [esp + 0xcf], dl
mov ecx, 0
cmove ax, cx
mov ecx, dword [ebp + 0x20]
mov word [ecx], ax
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x88], eax
inc eax
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx]
cmp edx, eax
mov dword [esp + 0xd8], esi
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0xc8], ecx
jae 0x7a9300
cmp edx, 8
mov ecx, 8
cmovb edx, ecx
nop dword [eax]
mov esi, edx
mov edi, esi
and edi, 1
inc edi
xor edi, esi
mov ecx, 3
sub ecx, esi
xor ecx, esi
setne cl
shl edx, cl
cmp esi, eax
jb 0x7a8810
test edi, edi
je 0x7a8810
imul eax, esi, 0x2c
mov ecx, dword [esp + 0xc0]
mov ecx, dword [ecx]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00492a60
test eax, eax
jne 0x7a8890
mov ecx, 3
sub ecx, eax
xor ecx, eax
je 0x7a8890
mov eax, 0x15
mov edi, 0xf900000c
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0xc8], ecx
jmp 0x7a8f21
mov ecx, 0x18
mov edx, dword [ebp + 0x14]
mov dword [edx], esi
mov edx, dword [esp + 0xc0]
mov dword [edx], eax
mov edx, dword [ebp + 0x1c]
mov edi, dword [edx]
mov edx, 0xf900000c
mov esi, eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0xc8], eax
jmp 0x7a8e70
mov byte [esp + 0x37], 0x77
mov eax, dword [esp + 0xb4]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.007c51d0
movzx eax, byte [esp + 0x9f]
shl eax, 0x18
or eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x54]
mov dword [ecx], eax
mov dl, byte [esp + 0x59]
jmp 0x7a89ab
mov dword [esp + 0xa8], edi
mov dword [esp + 0xac], esi
mov eax, 0xe
mov byte [esp + 0x75], 0x4b
test byte [esp + 0x8f], 1
mov edi, edx
jne 0x7a8cc0
mov eax, 7
imul ecx, dword [esp + 0xe4], 0x2c
mov edx, dword [esp + 0xe0]
mov byte [edx + ecx + 0x28], 0
cmp eax, 7
je 0x7a8aa7
jmp 0x7a932d
mov eax, 9
mov byte [esp + 0x75], 0x2b
test byte [esp + 0x8f], 1
je 0x7a8fb7
mov eax, dword [esp + 0xb4]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.007c51d0
mov al, byte [ebp + 0xc]
mov dl, al
imul eax, dword [esp + 0xe4], 0x2c
mov ecx, dword [esp + 0xe0]
mov byte [ecx + eax + 0x28], dl
movzx eax, dl
cmp eax, 4
mov edi, 0xf9000022
ja 0x7a932d
mov byte [esp + 0x7f], dl
mov ecx, 0xc
mov dword [esp + 0x64], eax
imul eax, eax
and eax, 3
cmp eax, 2
je 0x7a932d
cmp ecx, 0xc
jne 0x7a8a30
movzx eax, byte [esp + 0x43]
cmp eax, 0x43
mov al, byte [esp + 0x7f]
jne 0x7a8a50
mov esi, 0xe
mov byte [esp + 0x43], 0x43
movzx eax, al
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x7a8d10
jmp 0x7a8aa7
mov edi, 0xf9000022
mov byte [esp + 0x6e], 0xd
test byte [esp + 0x5a], 1
je 0x7a92bc
jmp 0x7a932d
mov byte [esp + 0x43], 0x37
test al, al
jne 0x7a8a67
movzx eax, al
imul eax, eax
and eax, 3
cmp eax, 2
jb 0x7a8aa7
mov esi, 0x10
mov eax, dword [esp + 0x64]
lea eax, [eax*4]
imul ecx, dword [esp + 0xe4], 0x2c
mov edx, dword [esp + 0xe0]
lea ecx, [edx + ecx + 0x18]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.007c51d0
cmp esi, 0xe
je 0x7a8770
mov eax, 4
mov cl, byte [esp + 0xb2]
movzx ecx, cl
cmp ecx, 0x74
je 0x7a9130
mov byte [esp + 0xb2], 0x74
mov esi, dword [esp + 0xc8]
mov eax, dword [esp + esi + 0x10c]
mov ecx, dword [esp + 0xc4]
mov dword [ecx], eax
mov ax, word [esp + esi + 0x110]
imul ecx, dword [esp + 0xe4], 0x2c
mov edx, dword [esp + 0xe0]
mov word [edx + ecx + 4], ax
mov al, byte [esp + esi + 0x112]
mov byte [edx + ecx + 6], al
mov ax, word [esp + esi + 0x113]
mov word [edx + ecx + 8], ax
mov al, byte [esp + esi + 0x115]
mov byte [edx + ecx + 0xa], al
mov ax, word [esp + esi + 0x116]
mov word [edx + ecx + 0xc], ax
mov al, byte [esp + esi + 0x118]
mov byte [edx + ecx + 0xe], al
mov ax, word [esp + esi + 0x119]
mov word [edx + ecx + 0x10], ax
mov al, byte [esp + esi + 0x11b]
mov byte [edx + ecx + 0x12], al
mov al, byte [esp + esi + 0x11c]
mov byte [edx + ecx + 0x13], al
mov al, byte [esp + esi + 0x11d]
mov byte [edx + ecx + 0x14], al
mov al, byte [esp + esi + 0x11e]
mov byte [edx + ecx + 0x15], al
lea ebx, [esi + 0x13]
mov dword [esp + 0xbc], ebx
mov eax, dword [ebp + 0x1c]
inc dword [eax]
test byte [esp + 0xcf], 1
je 0x7a8011
test byte [esp + 0x5a], 1
je 0x7a8bf0
mov edi, 0xf9000022
mov eax, 1
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
setne cl
movzx ecx, cl
cmp eax, ecx
je 0x7a932d
mov esi, 1
mov al, 0x1e
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.007ce510
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xd0], eax
jmp 0x7a8c30
test byte [esp + 0x8f], 1
je 0x7a7f7c
mov edi, 0xf9000022
mov ecx, 0xe
cmp ecx, 0xe
je 0x7a7f20
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
je 0x7a7f20
jmp 0x7a932d
mov eax, 3
sub eax, esi
xor eax, esi
setne al
movzx eax, al
cmp esi, eax
je 0x7a90a0
movzx edx, byte [esp + 0x8e]
cmp edx, 0xc
je 0x7a8d20
mov eax, 8
cmp edx, 0x16
je 0x7a8cc0
mov ecx, 0xb
cmp edx, 0x72
jne 0x7a8de0
cmp ecx, 0xb
jne 0x7a9300
mov esi, 2
mov byte [esp + 0x8e], 0x72
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
mov dword [esp + 8], 0x2c
mov dword [esp + 4], 0
call fcn.007c51a0
test byte [esp + 0xcf], 1
jne 0x7a921e
jmp 0x7a8d60
cmp eax, 8
jne 0x7a8988
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
je 0x7a8988
mov esi, 2
mov byte [esp + 0x8e], 0xc
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
mov dword [esp + 8], 0x2c
mov dword [esp + 4], 0
call fcn.007c51a0
test byte [esp + 0xcf], 1
je 0x7a8d60
cmp esi, 2
jne 0x7a8a67
jmp 0x7a9230
mov byte [esp + 0x8e], 0x1f
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
mov dword [esp + 8], 0x2c
mov dword [esp + 4], 0
call fcn.007c51a0
test byte [esp + 0xcf], 1
jne 0x7a9230
nop word cs:[eax + eax]
mov eax, 1
movzx ecx, byte [esp + 0x75]
cmp ecx, 0x4b
je 0x7a8970
mov edx, edi
mov esi, dword [esp + 0xac]
mov edi, dword [esp + 0xa8]
cmp eax, 1
jne 0x7a8d97
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
jne 0x7a8920
imul eax, edi, 0x2c
add eax, esi
mov dword [esp + 0xc4], eax
mov dword [esp + 0xe4], edi
mov dword [esp + 0xa8], edi
mov edi, 0xf900000e
mov dword [esp + 0xe0], esi
mov dword [esp + 0xac], esi
mov byte [esp + 0xba], 0x77
mov esi, 9
jne 0x7a8c30
jmp 0x7a932d
mov ebx, 0x11
mov esi, 0x15
mov byte [esp + 0x8e], 0x16
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
mov dword [esp + 8], 0x2c
mov dword [esp + 4], 0
call fcn.007c51a0
test byte [esp + 0xcf], 1
je 0x7a8001
cmp esi, 0xf
je 0x7a8e33
imul esi, esi
and esi, 3
cmp esi, 2
jne 0x7a9230
mov byte [esp + 0x5b], 0x1a
test byte [esp + 0x8f], 1
je 0x7a88f3
movzx eax, byte [esp + 0x37]
cmp eax, 0x5c
je 0x7a8e9c
mov ecx, 0xe
cmp eax, 0x77
je 0x7a88d0
mov edx, edi
mov esi, dword [esp + 0xac]
mov edi, dword [esp + 0xa8]
nop
cmp ecx, 0xe
je 0x7a8e84
imul ecx, ecx
and ecx, 3
cmp ecx, 3
jne 0x7a86b5
mov dword [esp + 0xa8], edi
mov dword [esp + 0xac], esi
mov byte [esp + 0x37], 0x5c
jmp 0x7a88d5
mov esi, 3
mov byte [esp + 0x37], 0x54
mov eax, dword [esp + 0xb4]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.007c51d0
nop word cs:[eax + eax]
cmp esi, 3
je 0x7a88f3
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
lea ecx, [esp + 0x30c]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov dword [esp + 0x10], 1
mov dword [esp], 0
call fcn.00791240
mov edi, eax
test edi, edi
mov eax, 0xf
jne 0x7a932d
cmp eax, 0xf
mov ebx, dword [esp + 0xe8]
jne 0x7a932d
mov eax, 0x12
mov cl, byte [esp + 0xb9]
movzx ecx, cl
cmp ecx, 0xc
jne 0x7a8fb0
lea eax, [esp + 0xec]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x30c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x48]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
call fcn.007a3150
mov edi, eax
test edi, edi
mov byte [esp + 0xb9], 0x74
mov ecx, 0xa
jne 0x7a932d
cmp ecx, 0xa
mov dword [esp + 0xe8], ebx
je 0x7a840f
jmp 0x7a84fc
mov dword [esp + 0xe8], ebx
cmp eax, 9
je 0x7a8948
xor eax, eax
test al, al
je 0x7a83c0
jmp 0x7a8948
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x80]
lea eax, [eax + ecx]
mov dword [esp + 0x94], eax
movzx ecx, ax
mov dword [esp + 0x98], ecx
movzx eax, word [esp + 0x4e]
xor edi, edi
cmp eax, ecx
mov eax, 5
mov byte [esp + 0x87], 0xf
jbe 0x7a92e7
nop
movzx eax, byte [esp + 0xa7]
cmp eax, 0xb
je 0x7a8250
cmp eax, 0x79
jne 0x7a9320
mov eax, 0x12
mov byte [esp + 0xa7], 0x79
mov edx, dword [esp + 0x50]
mov esi, dword [esp + 0x98]
sub edx, esi
cmp edx, 0x1b
mov ecx, 0x1a
cmovl ecx, edx
mov dword [esp + 0xd4], ecx
cmp edx, 0x1a
mov cx, 0x1a
cmovge dx, cx
mov dword [esp + 0x78], edx
mov byte [esp + 0x53e], 4
mov cl, byte [ebp + 0xc]
mov edx, dword [esp + 0x38]
mov byte [edx], cl
mov dword [esp + 0xd0], 2
test byte [esp + 0x4d], 1
mov dword [esp + 0x80], esi
mov ecx, dword [esp + 0x94]
mov word [esp + 0x76], cx
je 0x7a9130
nop
movzx eax, byte [esp + 0xbb]
cmp eax, 0x26
jne 0x7a8310
mov ax, word [esp + 0x76]
mov ecx, dword [esp + 0xd0]
mov word [esp + ecx + 0x53e], ax
mov eax, dword [esp + 0x78]
mov word [esp + ecx + 0x540], ax
mov word [esp + ecx + 0x542], 0
lea eax, [ecx + 6]
lea ecx, [esp + 0x30c]
mov dword [esp + 0x10], ecx
mov dword [esp + 4], eax
lea eax, [esp + 0x53e]
mov dword [esp], eax
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x1ef
call fcn.007aa280
mov edi, eax
test edi, edi
mov byte [esp + 0xbb], 0x18
je 0x7a837d
jmp 0x7a932d
cmp eax, 4
jne 0x7a82c0
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x7a82c0
mov byte [esp + 0xb2], 0x65
mov esi, edi
mov edi, dword [esp + 0xc8]
mov eax, dword [esp + edi + 0x10c]
mov ecx, dword [esp + 0xc4]
mov dword [ecx], eax
mov ax, word [esp + edi + 0x110]
imul ecx, dword [esp + 0xe4], 0x2c
mov edx, dword [esp + 0xe0]
mov word [edx + ecx + 4], ax
mov al, byte [esp + edi + 0x112]
mov byte [edx + ecx + 6], al
mov ax, word [esp + edi + 0x113]
mov word [edx + ecx + 8], ax
mov al, byte [esp + edi + 0x115]
mov byte [edx + ecx + 0xa], al
mov ax, word [esp + edi + 0x116]
mov word [edx + ecx + 0xc], ax
mov al, byte [esp + edi + 0x118]
mov byte [edx + ecx + 0xe], al
mov ax, word [esp + edi + 0x119]
mov word [edx + ecx + 0x10], ax
mov al, byte [esp + edi + 0x11b]
mov byte [edx + ecx + 0x12], al
mov al, byte [esp + edi + 0x11c]
mov byte [edx + ecx + 0x13], al
mov al, byte [esp + edi + 0x11d]
mov byte [edx + ecx + 0x14], al
mov al, byte [esp + edi + 0x11e]
mov byte [edx + ecx + 0x15], al
lea ebx, [edi + 0x13]
mov edi, esi
mov esi, 8
mov eax, dword [ebp + 0x1c]
inc dword [eax]
test byte [esp + 0xcf], 1
mov dword [esp + 0xbc], ebx
je 0x7a8011
cmp esi, 2
jne 0x7a8b8b
nop word [eax + eax]
mov eax, 4
mov ecx, 0x13
movzx edx, byte [esp + 0x6e]
cmp edx, 0xd
mov ebx, dword [esp + 0xe8]
je 0x7a89eb
cmp eax, 4
je 0x7a9290
xor eax, eax
test al, al
jne 0x7a9290
mov dword [esp + 0xe8], ebx
movzx edx, byte [esp + 0x87]
cmp edx, 0xf
je 0x7a8fd0
mov ecx, 7
mov eax, 0xa
cmp edx, 0x53
je 0x7a81fa
jmp 0x7a8424
mov edi, 0xf9000022
test byte [esp + 0x5a], 1
jne 0x7a932d
mov ecx, 0x13
mov byte [esp + 0x6e], 0x5a
mov dword [esp + 0xe8], ebx
cmp ecx, 8
je 0x7a9300
xor eax, eax
test al, al
jne 0x7a9300
mov esi, 0xf
movzx eax, byte [esp + 0x5b]
cmp eax, 2
je 0x7a8e1f
mov eax, 0xf
mov byte [esp + 0x5b], 2
test byte [esp + 0x8f], 1
jne 0x7a8e46
cmp eax, 5
jne 0x7a88f3
jmp 0x7a932d
mov edx, edi
movzx eax, byte [esp + 0x6f]
cmp eax, 0x4d
je 0x7a86a0
mov byte [esp + 0x6f], 3
jmp 0x7a86a5
mov byte [esp + 0xa7], 0xb
jmp 0x7a8258
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret