Function at 0x7a34e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x12c
mov dword [esp + 0x10c], eax
mov dword [esp + 0x108], edx
imul eax, dword [esp + 0x144], 0x82224
mov edx, dword [esp + 0x10c]
mov esi, dword [esp + 0x144]
mov ebp, dword [edx + 0x3130]
lea ebx, [eax + edx + 0x3138]
mov edx, 0x10
mov ecx, ebp
sar edx, cl
test esi, esi
je 0x7a41ef
mov ecx, edx
mov edi, dword [ebp*4 + 0xcba838]
shr ecx, 0x1f
mov dword [esp + 0xfc], edi
lea esi, [edx + ecx]
sar esi, 1
mov dword [esp + 0x100], esi
mov edi, edx
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x144]
add edi, edi
test eax, eax
mov dword [esp + 0xdc], 0
cmovne edi, edx
mov edx, dword [esp + 0x144]
mov dword [esp + 0xd8], 0
mov dword [esp + 0xf8], edi
mov edi, dword [esp + 0x10c]
mov esi, dword [edi + edx*4 + 0x1580]
mov edx, dword [esp + 0x144]
mov eax, dword [edi + ecx*4 + 0x1570]
mov dword [esp + 0xf4], esi
mov esi, dword [edi + edx*4 + 0x1498]
mov ecx, ebp
mov dword [esp + 0xec], esi
mov esi, dword [edi + 0x3128]
mov dword [esp + 0xf0], eax
mov eax, esi
mov edx, dword [ebx]
mov ebx, dword [ebx + 4]
shl eax, cl
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xe4], edx
mov edi, dword [ecx]
mov dword [esp + 0xe8], eax
mov dword [esp + 0xe0], ebx
movzx eax, byte [edi + 0x1c8]
mov edx, dword [ecx + 0x310c]
mov ebx, dword [ecx + 0x3110]
cmp eax, 0xe
ja 0x7a3612
jmp dword [eax*4 + 0xcbb324]
sar edx, 7
mov dword [esp + 0xd4], edx
mov dword [esp + 0x104], 0
mov eax, dword [esp + 0x104]
mov edi, dword [esp + 0x104]
mov edx, 0x55555556
imul edx
sar edi, 0x1f
mov ebx, dword [esp + 0x104]
sub edx, edi
mov eax, dword [esp + 0x100]
mov edi, dword [esp + 0x108]
lea ecx, [edx + edx*2]
shr eax, 0x1f
mov dword [esp + 0xa0], 0x10
sub ebx, ecx
mov ecx, dword [esp + 0x140]
add eax, dword [esp + 0x100]
lea ebx, [ebx + edi - 1]
lea edi, [edx + ecx - 1]
mov ecx, dword [esp + 0x100]
sar eax, 1
imul ecx, edi
mov edx, dword [esp + 0x100]
add ecx, eax
imul edx, ebx
mov dword [esp + 0xcc], ecx
add edx, eax
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0xd0], edx
mov dword [esp + 0xc0], eax
mov dword [esp + 0xb8], ecx
mov ecx, ebp
mov edx, dword [esp + 0xd0]
shl esi, cl
mov dword [esp + 0xbc], edx
mov edx, dword [esp + 0x10c]
mov dword [esp + 0x3c], esi
mov esi, dword [edx + 0x312c]
mov eax, dword [esp + 0x100]
mov ebp, dword [esp + 0x3c]
shl esi, cl
mov ecx, dword [esp + 0x10c]
imul ebp, edi
mov edx, dword [ecx + 0x20b9c8]
mov dword [esp + 0xb4], eax
add ebp, ebx
mov dword [esp + 0xb0], eax
lea eax, [ebp + ebp*4]
lea ebp, [edx + eax*2]
mov edx, dword [esp + 0x3c]
lea eax, [ebp + 0xa]
mov dword [esp + 0xac], eax
lea eax, [edx + edx*4]
mov edx, dword [esp + 0xf4]
lea eax, [ebp + eax*2]
shl edx, 4
mov dword [esp + 0xa8], eax
add eax, 0xa
cmp dword [esp + 0xf4], 0x6f
cmovg edx, dword [esp + 0xa0]
mov dword [esp + 0xa4], eax
test ebx, ebx
mov dword [esp + 0xa0], edx
mov ecx, dword [ecx + 0x20f420]
mov dword [esp + 0x9c], ecx
js 0x7a4448
lea ecx, [ebx + 1]
cmp ecx, dword [esp + 0x3c]
jl 0x7a3794
mov edx, dword [esp + 0xa8]
mov dword [esp + 0xac], ebp
mov dword [esp + 0xa4], edx
test edi, edi
js 0x7a43a3
lea eax, [edi + 1]
cmp eax, esi
jl 0x7a37b8
mov edi, dword [esp + 0xac]
mov dword [esp + 0xa8], ebp
mov dword [esp + 0xa4], edi
mov ebx, dword [esp + 0xd0]
test ebx, ebx
js 0x7a43c7
mov edi, dword [esp + 0xd0]
mov esi, dword [esp + 0xe4]
mov eax, dword [esp + 0xe4]
add edi, dword [esp + 0x100]
sub esi, dword [esp + 0xd0]
mov ebx, dword [esp + 0xcc]
cmp edi, eax
mov dword [esp + 0x5c], edi
cmovle esi, dword [esp + 0xb4]
test ebx, ebx
mov dword [esp + 0x50], esi
js 0x7a440c
mov edi, dword [esp + 0xcc]
mov esi, dword [esp + 0xe0]
mov eax, dword [esp + 0xe0]
add edi, dword [esp + 0x100]
sub esi, dword [esp + 0xcc]
mov dword [esp + 0x58], edi
cmp dword [esp + 0x58], eax
cmovle esi, dword [esp + 0xb0]
mov dword [esp + 0x4c], esi
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
test edx, edx
setle bl
test ecx, ecx
setle al
or eax, ebx
test al, 1
jne 0x7a3bf7
cmp dword [esp + 0xf4], 0x25
jle 0x7a46ed
mov edx, dword [esp + 0xb8]
mov ecx, dword [esp + 0xa0]
mov edi, dword [esp + 0xbc]
imul edx, dword [esp + 0xf4]
lea esi, [edi + edi + 0xfa8c00]
mov eax, dword [esp + 0xe4]
add edx, dword [esp + 0xbc]
mov ebx, dword [esp + 0xe0]
mov edi, dword [esp + 0x144]
add edx, dword [esp + 0xf0]
mov dword [esp + 0xc8], esi
mov dword [esp + 0x20], eax
mov dword [esp + 0xc4], edx
lea edx, [ecx + ecx*2]
mov esi, dword [esp + 0x4c]
add edx, dword [esp + 0x9c]
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x24], ebx
add ecx, edx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x48], ecx
mov esi, dword [esp + 0x9c]
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0xb8]
mov dword [esp + 8], eax
mov edi, dword [esp + 0xf4]
mov eax, dword [esp + 0x10c]
mov dword [esp], esi
mov dword [esp + 0x110], edx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], edi
call fcn.007a0a2b
movzx esi, byte [ebp + 8]
test esi, 1
je 0x7a3e7c
mov eax, dword [esp + 0xac]
movzx edi, byte [eax + 8]
test edi, 1
je 0x7a3e87
mov ecx, dword [esp + 0xac]
movzx edi, byte [eax + 5]
movzx ebx, byte [ebp + 5]
movzx esi, byte [ecx + 6]
movzx eax, byte [ebp + 6]
sub ebx, edi
sub eax, esi
movzx edx, byte [ecx + 7]
or ebx, eax
movzx eax, byte [ebp + 7]
sub eax, edx
or ebx, eax
sete bl
movzx esi, bl
test esi, esi
je 0x7a3ecd
mov edi, dword [esp + 0x110]
mov dword [esp + 0x114], edi
movzx esi, byte [ebp + 8]
test esi, 1
je 0x7a3f6f
mov eax, dword [esp + 0xa8]
movzx edi, byte [eax + 8]
test edi, 1
je 0x7a3f7a
mov esi, dword [esp + 0xa8]
movzx ebx, byte [ebp + 5]
movzx ecx, byte [ebp + 6]
movzx edx, byte [esi + 5]
movzx eax, byte [esi + 6]
sub ebx, edx
mov edx, dword [esp + 0xa8]
sub ecx, eax
movzx esi, byte [edx + 7]
movzx eax, byte [ebp + 7]
or ebx, ecx
sub eax, esi
or ebx, eax
sete bl
movzx esi, bl
test esi, esi
je 0x7a3fc0
mov eax, dword [esp + 0x110]
mov dword [esp + 0x118], eax
movzx esi, byte [ebp + 8]
test esi, 1
je 0x7a3db7
mov ecx, dword [esp + 0xa4]
movzx edi, byte [ecx + 8]
test edi, 1
je 0x7a3dc2
mov ecx, dword [esp + 0xa4]
movzx ebx, byte [ebp + 5]
movzx eax, byte [ebp + 6]
movzx edx, byte [ecx + 5]
movzx esi, byte [ecx + 6]
sub eax, esi
sub ebx, edx
mov edx, dword [esp + 0xa4]
or ebx, eax
movzx eax, byte [ebp + 7]
movzx ebp, byte [edx + 7]
sub eax, ebp
or ebx, eax
sete bl
movzx esi, bl
test esi, esi
je 0x7a3e08
mov eax, dword [esp + 0x110]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x98], 0
mov ecx, dword [esp + 0x4c]
cmp dword [esp + 0x98], ecx
jge 0x7a3bf7
mov ebx, dword [esp + 0xf8]
xor edi, edi
mov ebp, dword [esp + 0xc0]
sar ebx, 1
mov dword [esp + 0x90], ebx
imul ebx, dword [esp + 0xf8]
mov dword [esp + 0x8c], ebx
mov esi, dword [esp + 0x90]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
add esi, ebp
add ecx, ebp
mov dword [esp + 0x94], esi
xor esi, esi
add edx, ecx
cmp esi, dword [esp + 0x50]
mov dword [esp + 0x88], edx
jge 0x7a3bd0
mov eax, dword [esp + 0xc4]
add eax, edi
mov dword [esp + 0x78], eax
movzx eax, byte [esi + ecx]
mov edx, dword [esp + 0x114]
mov dword [esp + 0x80], eax
add edx, edi
mov eax, dword [esp + 0x88]
movzx ebx, byte [edx + esi]
mov edx, dword [esp + 0x110]
imul ebx, dword [esp + 0x80]
add edx, edi
mov dword [esp + 0x80], ebx
movzx ebx, byte [esi + eax]
movzx eax, byte [edx + esi]
mov edx, dword [esp + 0x11c]
imul ebx, eax
add edx, edi
add ebx, dword [esp + 0x80]
mov dword [esp + 0x7c], ebx
movzx eax, byte [edx + esi]
movzx ebx, byte [esi + ebp]
mov edx, dword [esp + 0x94]
imul ebx, eax
movzx eax, byte [esi + edx]
mov edx, dword [esp + 0x118]
add edx, edi
movzx edx, byte [edx + esi]
imul eax, edx
mov edx, dword [esp + 0xc8]
add ebx, eax
movsx eax, word [edx + esi*2]
add ebx, dword [esp + 0x7c]
sar ebx, 4
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x84]
lea edx, [ebx + eax + 8]
mov eax, edx
sar eax, 4
test eax, 0xffffff00
je 0x7a3bbc
mov eax, edx
sar eax, 0x1f
not eax
mov ebx, dword [esp + 0x78]
mov byte [ebx + esi], al
add esi, 1
cmp esi, dword [esp + 0x50]
jl 0x7a3b07
add dword [esp + 0x98], 1
mov ecx, dword [esp + 0x4c]
add ebp, dword [esp + 0xf8]
add edi, dword [esp + 0xf4]
cmp dword [esp + 0x98], ecx
jl 0x7a3ac5
mov edi, dword [esp + 0xcc]
test edi, edi
js 0x7a42d5
mov edi, dword [esp + 0xe0]
cmp dword [esp + 0x58], edi
jle 0x7a3c6d
mov eax, dword [esp + 0xf4]
mov ebx, dword [esp + 0xec]
mov ebp, dword [esp + 0xf0]
imul eax, edi
add ebx, dword [esp + 0xd0]
add ebp, dword [esp + 0xd0]
lea esi, [eax + ebx]
lea ebx, [eax + ebp]
mov edx, dword [esp + 0x100]
add edi, 1
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 8], edx
call fcn.00a5b5c0
add ebx, dword [esp + 0xf4]
add esi, dword [esp + 0xf4]
cmp dword [esp + 0x58], edi
jg 0x7a3c3f
mov edi, dword [esp + 0xd0]
test edi, edi
js 0x7a4330
mov ecx, dword [esp + 0xe4]
cmp dword [esp + 0x5c], ecx
jle 0x7a3ce5
mov edi, dword [esp + 0xcc]
cmp dword [esp + 0x58], edi
jle 0x7a3ce5
mov eax, edi
mov ebx, dword [esp + 0xec]
mov edx, dword [esp + 0xf0]
imul eax, dword [esp + 0xf4]
add ebx, ecx
mov ebp, dword [esp + 0x5c]
add edx, ecx
lea esi, [eax + ebx]
sub ebp, ecx
lea ebx, [eax + edx]
add edi, 1
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 8], ebp
call fcn.00a5b5c0
add ebx, dword [esp + 0xf4]
add esi, dword [esp + 0xf4]
cmp dword [esp + 0x58], edi
jg 0x7a3cbe
cmp dword [esp + 0x100], 8
setne cl
xor edx, edx
cmp dword [esp + 0x100], 0x10
setne dl
test edx, ecx
jne 0x7a46d1
cmp dword [esp + 0x100], 8
mov ecx, dword [esp + 0xf0]
mov ebx, dword [esp + 0xcc]
mov eax, dword [esp + 0xec]
sete byte [esp + 0x57]
mov edi, dword [esp + 0x10c]
imul ebx, dword [esp + 0xf4]
add ecx, dword [esp + 0xd0]
add eax, dword [esp + 0xd0]
mov esi, dword [esp + 0x100]
add ecx, ebx
add eax, ebx
mov edx, dword [esp + 0xf4]
add edi, 0x20c9f0
mov dword [esp + 0x10], esi
movzx ebp, byte [esp + 0x57]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edi
mov esi, dword [esp + 0x10c]
call dword [esi + ebp*4 + 0x3c0]
add dword [esp + 0x104], 1
add dword [esp + 0xdc], eax
cmp dword [esp + 0x104], 8
jg 0x7a4493
mov ebx, dword [esp + 0x10c]
mov ebp, dword [ebx + 0x3130]
mov esi, dword [ebx + 0x3128]
jmp 0x7a3627
mov ebx, dword [esp + 0xa4]
movzx edi, byte [ebx + 8]
mov ecx, dword [esp + 0xa4]
movsx ebx, word [ebp]
xor esi, edi
movsx eax, word [ecx]
movsx edx, word [ecx + 2]
mov ecx, dword [esp + 0xa4]
sub ebx, eax
movsx eax, word [ebp + 2]
sub eax, edx
or ebx, eax
movzx eax, byte [ebp + 4]
movzx ebp, byte [ecx + 4]
sub eax, ebp
or ebx, eax
mov eax, esi
and eax, 1
or ebx, eax
sete bl
movzx esi, bl
test esi, esi
jne 0x7a3a73
mov ebx, dword [esp + 0xac]
movzx esi, byte [ebx + 8]
test esi, 1
je 0x7a4034
test edi, 1
je 0x7a4034
mov ebp, dword [esp + 0xa4]
mov ecx, dword [esp + 0xac]
movzx ebx, byte [ebx + 5]
movzx edx, byte [ebp + 5]
movzx esi, byte [ebp + 6]
movzx eax, byte [ecx + 6]
sub ebx, edx
sub eax, esi
mov edx, dword [esp + 0xa4]
or ebx, eax
movzx ebp, byte [edx + 7]
movzx eax, byte [ecx + 7]
sub eax, ebp
or ebx, eax
sete dl
movzx ebx, dl
test ebx, ebx
je 0x7a4087
mov eax, dword [esp + 0x114]
jmp 0x7a3a7a
mov ebx, dword [esp + 0xac]
movzx edi, byte [ebx + 8]
mov ecx, dword [esp + 0xac]
movsx ebx, word [ebp]
xor esi, edi
movsx eax, word [ecx]
movsx edx, word [ecx + 2]
mov ecx, dword [esp + 0xac]
sub ebx, eax
movsx eax, word [ebp + 2]
sub eax, edx
movzx edx, byte [ecx + 4]
or ebx, eax
movzx eax, byte [ebp + 4]
sub eax, edx
or ebx, eax
mov eax, esi
and eax, 1
or ebx, eax
sete bl
movzx esi, bl
test esi, esi
jne 0x7a398d
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0xa0]
mov eax, dword [esp + 0xac]
mov dword [esp + 0x114], edx
mov edi, dword [esp + 0xe0]
add edx, ecx
mov ebx, dword [esp + 0xe4]
mov esi, dword [esp + 0x144]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x48], edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], ecx
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x10c]
mov dword [esp + 8], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ebx
mov dword [esp], ecx
call fcn.007a0a2b
movzx esi, byte [ebp + 8]
test esi, 1
jne 0x7a39ab
mov ebx, dword [esp + 0xa8]
movzx edi, byte [ebx + 8]
mov ecx, dword [esp + 0xa8]
movsx ebx, word [ebp]
xor esi, edi
movsx eax, word [ecx]
movsx edx, word [ecx + 2]
mov ecx, dword [esp + 0xa8]
sub ebx, eax
movsx eax, word [ebp + 2]
sub eax, edx
movzx edx, byte [ecx + 4]
or ebx, eax
movzx eax, byte [ebp + 4]
sub eax, edx
or ebx, eax
mov eax, esi
and eax, 1
or ebx, eax
sete bl
movzx esi, bl
test esi, esi
jne 0x7a3a00
mov ebx, dword [esp + 0xac]
movzx esi, byte [ebx + 8]
test esi, 1
je 0x7a4105
test edi, 1
je 0x7a4105
mov edi, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
movzx ebx, byte [ebx + 5]
movzx edx, byte [edi + 5]
movzx esi, byte [edi + 6]
movzx eax, byte [ecx + 6]
sub ebx, edx
sub eax, esi
mov edx, dword [esp + 0xa8]
or ebx, eax
movzx edi, byte [edx + 7]
movzx eax, byte [ecx + 7]
sub eax, edi
or ebx, eax
sete dl
movzx ebx, dl
test ebx, ebx
je 0x7a4158
mov eax, dword [esp + 0x114]
jmp 0x7a3a07
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0xac]
xor esi, edi
movsx ebp, word [ecx]
movsx ebx, word [eax]
movsx edx, word [ecx + 2]
sub ebx, ebp
mov ebp, dword [esp + 0xac]
mov ecx, dword [esp + 0xa4]
movsx eax, word [ebp + 2]
sub eax, edx
or ebx, eax
movzx eax, byte [ebp + 4]
movzx ebp, byte [ecx + 4]
sub eax, ebp
or ebx, eax
mov eax, esi
and eax, 1
or ebx, eax
sete dl
movzx ebx, dl
test ebx, ebx
jne 0x7a3e70
mov ebx, dword [esp + 0xa8]
movzx esi, byte [ebx + 8]
test esi, 1
je 0x7a40a6
test edi, 1
jne 0x7a4209
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xa4]
xor esi, edi
movsx ebx, word [ecx]
mov ecx, dword [esp + 0xa8]
movsx eax, word [edx]
movsx ebp, word [ecx + 2]
movsx edx, word [edx + 2]
sub ebx, eax
sub ebp, edx
or ebx, ebp
movzx ebp, byte [ecx + 4]
mov ecx, dword [esp + 0xa4]
movzx eax, byte [ecx + 4]
sub ebp, eax
mov eax, esi
or ebx, ebp
and eax, 1
or ebx, eax
sete dl
movzx ebx, dl
test ebx, ebx
je 0x7a424e
mov eax, dword [esp + 0x118]
jmp 0x7a3a7a
mov eax, dword [esp + 0xac]
mov edx, dword [esp + 0xa8]
xor esi, edi
movsx ecx, word [edx]
movsx ebx, word [eax]
movsx edx, word [edx + 2]
sub ebx, ecx
mov ecx, dword [esp + 0xac]
movsx eax, word [ecx + 2]
sub eax, edx
or ebx, eax
movzx eax, byte [ecx + 4]
mov ecx, dword [esp + 0xa8]
movzx edx, byte [ecx + 4]
sub eax, edx
or ebx, eax
mov eax, esi
and eax, 1
or ebx, eax
sete dl
movzx ebx, dl
test ebx, ebx
jne 0x7a4028
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0xa0]
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x118], edx
mov ebx, dword [esp + 0xe0]
add edx, esi
mov ecx, dword [esp + 0x144]
mov edi, dword [esp + 0xa8]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x48], edx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
mov ebx, dword [esp + 0x50]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0xbc]
mov edi, dword [esp + 0xf4]
mov esi, dword [esp + 0x9c]
mov edx, dword [esp + 0x118]
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x10], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.007a0a2b
jmp 0x7a3a0e
mov eax, dword [ebp*4 + 0xcba834]
mov dword [esp + 0x100], edx
mov dword [esp + 0xfc], eax
jmp 0x7a354e
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa8]
movzx ebx, byte [ebx + 5]
movzx edi, byte [edx + 5]
movzx eax, byte [edx + 6]
movzx ebp, byte [ecx + 6]
mov esi, dword [esp + 0xa4]
sub ebx, edi
sub ebp, eax
movzx edi, byte [esi + 7]
movzx eax, byte [ecx + 7]
or ebx, ebp
sub eax, edi
or ebx, eax
sete dl
movzx ebx, dl
test ebx, ebx
jne 0x7a40f9
mov eax, dword [esp + 0x48]
mov ebp, dword [esp + 0xe0]
mov edi, dword [esp + 0xe4]
mov esi, dword [esp + 0x144]
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], edx
mov ebx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0xc], eax
mov ebp, dword [esp + 0xbc]
mov edi, dword [esp + 0xf4]
mov esi, dword [esp + 0x9c]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 8], ebp
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.007a0a2b
jmp 0x7a3a81
mov eax, edi
mov edx, dword [esp + 0xec]
mov ebp, dword [esp + 0xf0]
imul eax, dword [esp + 0xf4]
add edx, dword [esp + 0xd0]
add ebp, dword [esp + 0xd0]
lea esi, [eax + edx]
lea ebx, [eax + ebp]
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 8], ecx
call fcn.00a5b5c0
add ebx, dword [esp + 0xf4]
add esi, dword [esp + 0xf4]
add edi, 1
js 0x7a4301
jmp 0x7a3c06
mov edi, dword [esp + 0xcc]
cmp dword [esp + 0x58], edi
jle 0x7a3c7c
mov eax, edi
mov ebx, dword [esp + 0xec]
mov ecx, dword [esp + 0xf0]
imul eax, dword [esp + 0xf4]
add ebx, dword [esp + 0xd0]
mov ebp, dword [esp + 0xd0]
add ecx, dword [esp + 0xd0]
lea esi, [eax + ebx]
neg ebp
lea ebx, [eax + ecx]
add edi, 1
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 8], ebp
call fcn.00a5b5c0
add ebx, dword [esp + 0xf4]
add esi, dword [esp + 0xf4]
cmp dword [esp + 0x58], edi
jg 0x7a4377
jmp 0x7a3c7c
mov ebx, dword [esp + 0xd0]
mov esi, dword [esp + 0xa4]
mov ebp, dword [esp + 0xa8]
test ebx, ebx
mov dword [esp + 0xac], esi
jns 0x7a37c7
mov edx, dword [esp + 0xfc]
mov ecx, dword [esp + 0x100]
mov ebx, dword [esp + 0xcc]
add ecx, dword [esp + 0xd0]
sub edx, dword [esp + 0xd0]
test ebx, ebx
mov dword [esp + 0xc0], edx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0xbc], 0
jns 0x7a380b
mov edx, dword [esp + 0xcc]
mov ecx, dword [esp + 0x100]
mov dword [esp + 0xb8], 0
imul edx, dword [esp + 0xf8]
add ecx, dword [esp + 0xcc]
sub dword [esp + 0xc0], edx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x4c], ecx
jmp 0x7a3842
mov ebx, dword [esp + 0xa4]
mov ebp, dword [esp + 0xac]
mov dword [esp + 0xa8], ebx
jmp 0x7a3794
mov ebp, dword [esp + 0x144]
test ebp, ebp
jne 0x7a463f
mov ebx, dword [esp + 0x140]
mov edi, dword [esp + 0x10c]
imul ebx, dword [esp + 0xe8]
mov ecx, dword [edi + 0x20b9c8]
add ebx, dword [esp + 0x108]
lea edx, [ebx + ebx*4]
lea edi, [ecx + edx*2]
movzx eax, byte [edi + 8]
lea esi, [edi + 0xa]
test al, 1
mov byte [esp + 0x60], al
je 0x7a4667
movzx ebp, byte [esi + 8]
test ebp, 1
je 0x7a466b
movzx ebx, byte [edi + 5]
movzx edx, byte [esi + 5]
movzx eax, byte [edi + 6]
movzx ecx, byte [esi + 6]
sub ebx, edx
movzx ebp, byte [esi + 7]
sub eax, ecx
or ebx, eax
movzx eax, byte [edi + 7]
sub eax, ebp
or ebx, eax
sete bl
movzx esi, bl
test esi, esi
je 0x7a45fb
mov eax, dword [esp + 0xe8]
test byte [esp + 0x60], 1
lea ebp, [eax + eax*4]
lea esi, [edi + ebp*2]
je 0x7a469c
movzx ebp, byte [esi + 8]
test ebp, 1
je 0x7a46a0
movzx eax, byte [esi + 5]
movzx ebx, byte [edi + 5]
movzx ebp, byte [edi + 6]
movzx edx, byte [esi + 6]
sub ebx, eax
movzx ecx, byte [esi + 7]
sub ebp, edx
movzx eax, byte [edi + 7]
or ebx, ebp
sub eax, ecx
or ebx, eax
sete bl
movzx esi, bl
test esi, esi
je 0x7a45fb
mov ecx, dword [esp + 0xe8]
test byte [esp + 0x60], 1
lea ebp, [ecx + ecx*4]
lea esi, [edi + ebp*2 + 0xa]
je 0x7a45b9
movzx ebp, byte [esi + 8]
test ebp, 1
je 0x7a45bd
movzx ebx, byte [edi + 5]
movzx eax, byte [edi + 6]
movzx ebp, byte [esi + 5]
movzx edx, byte [esi + 6]
sub ebx, ebp
sub eax, edx
or ebx, eax
movzx eax, byte [edi + 7]
movzx edi, byte [esi + 7]
sub eax, edi
jmp 0x7a45eb
movzx ebp, byte [esi + 8]
movsx ebx, word [edi]
movsx eax, word [esi]
movsx ecx, word [edi + 2]
movsx edx, word [esi + 2]
sub ebx, eax
movzx eax, byte [edi + 4]
sub ecx, edx
movzx edi, byte [esi + 4]
or ebx, ecx
mov ecx, ebp
sub eax, edi
xor byte [esp + 0x60], cl
or ebx, eax
movzx eax, byte [esp + 0x60]
and eax, 1
or ebx, eax
sete bl
movzx esi, bl
test esi, esi
jne 0x7a4709
xor ebx, ebx
mov edx, dword [esp + 0x108]
mov edi, dword [esp + 0x140]
mov eax, dword [esp + 0x10c]
add edi, dword [ebx*8 + 0xcbb2c4]
add edx, dword [ebx*8 + 0xcbb2c0]
mov dword [esp + 4], 1
mov dword [esp], edi
add ebx, 1
call fcn.007a2bcc
add dword [esp + 0xd8], eax
cmp ebx, 8
jle 0x7a45fd
mov eax, dword [esp + 0xd8]
imul eax, dword [esp + 0xd4]
mov dword [esp + 0xd8], eax
add eax, dword [esp + 0xdc]
add esp, 0x12c
pop ebx
pop esi
pop edi
pop ebp
ret
movzx ebp, byte [esi + 8]
movsx edx, word [esi]
movsx ecx, word [esi + 2]
movsx ebx, word [edi]
movsx eax, word [edi + 2]
sub ebx, edx
movzx edx, byte [esi + 4]
sub eax, ecx
movzx ecx, byte [edi + 4]
or ebx, eax
movzx eax, byte [esp + 0x60]
sub ecx, edx
xor ebp, eax
or ebx, ecx
mov eax, ebp
and eax, 1
jmp 0x7a450e
movzx ebp, byte [esi + 8]
movsx edx, word [esi]
movsx eax, word [esi + 2]
movsx ebx, word [edi]
movsx ecx, word [edi + 2]
sub ebx, edx
movzx edx, byte [esi + 4]
sub ecx, eax
movzx eax, byte [edi + 4]
or ebx, ecx
movzx ecx, byte [esp + 0x60]
sub eax, edx
xor ebp, ecx
or ebx, eax
mov eax, ebp
and eax, 1
jmp 0x7a4566
mov dword [esp + 8], 0xb66
mov dword [esp + 4], 0xcbaea0
mov dword [esp], 0xcbb308
call fcn.00a5b730
mov dword [esp + 8], 0x9a0
mov dword [esp + 4], 0xcbaea0
mov dword [esp], 0xcbb250
call fcn.00a5b730
mov ebp, dword [esp + 0x140]
mov edx, dword [esp + 0x108]
mov eax, dword [esp + 0x10c]
mov dword [esp + 4], 2
mov dword [esp], ebp
mov ebx, 4
call fcn.007a2bcc
mov dword [esp + 0xd8], eax
jmp 0x7a45fd