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

Disassembly:
add al, 0
add byte [ebx - 0x7e09ffb3], cl
xchg esp, eax
add dword [eax], eax
add byte [ecx], al
add dword [eax], eax
add byte [ebx + 0x1d4085], cl
add byte [ebp - 0x7ce48b40], al
clc
add ecx, dword [edi]
xchg esp, eax
ret 0xc031
dec dword [edi]
test dword [edi], ebp
invalid
push ebp
push edi
push esi
push ebx
push eax
mov eax, 0x2f48
call fcn.00a51dc8
mov eax, dword [esp + 0x2f48]
mov dword [esp + 0x150], edx
mov dword [esp + 0x120], 1
mov dword [esp + 0x154], eax
mov ebp, dword [eax + 0x218]
mov dword [esp + 0x11c], 0xcba82a
mov ecx, dword [esp + 0x154]
mov edi, dword [esp + 0x154]
mov esi, dword [esp + 0x154]
mov edx, dword [edi + 0x3128]
mov ebx, dword [ecx + 0x214]
mov edi, dword [esi + 0x3130]
mov dword [esp + 0x14c], ebp
mov ebp, dword [esp + 0x154]
mov ecx, edi
mov eax, edx
mov dword [esp + 0x148], ebx
mov ebx, dword [ebp + 0x312c]
shl eax, cl
shl ebx, cl
mov esi, dword [esp + 0x2f64]
mov dword [esp + 0x128], eax
mov dword [esp + 0x124], ebx
mov ebx, edi
sub ebx, dword [esp + 0x150]
imul esi, dword [esp + 0x128]
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x2f60]
mov ecx, ebx
mov eax, dword [esp + 0x2f60]
lea ebp, [esi + edx]
add edx, 1
shl ebp, cl
mov ecx, 4
mov esi, edx
sub ecx, dword [esp + 0x150]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x2f64]
add edx, 1
shl dword [esp + 0x120], cl
mov ecx, ebx
shl esi, cl
mov dword [esp + 0x68], edx
shl edx, cl
test eax, eax
mov dword [esp + 0x3c], edx
je 0x79bbfc
mov ecx, dword [esp + 0x154]
lea edx, [ebp + ebp*4]
mov eax, dword [ecx + 0x20b9c8]
lea edx, [eax + edx*2 - 0xa]
mov dword [esp + 0x11c], edx
mov edx, dword [esp + 0x2f64]
mov dword [esp + 0x118], 0xcba82a
test edx, edx
je 0x79bc35
mov eax, ebp
mov ecx, dword [esp + 0x154]
sub eax, dword [esp + 0x128]
mov edx, dword [ecx + 0x20b9c8]
lea eax, [eax + eax*4]
lea eax, [edx + eax*2]
mov dword [esp + 0x118], eax
cmp esi, dword [esp + 0x128]
mov dword [esp + 0x114], 0xcba82a
jge 0x79bc65
mov ecx, dword [esp + 0x154]
lea edx, [ebp + ebp*4]
mov eax, dword [ecx + 0x20b9c8]
lea edx, [eax + edx*2 + 0xa]
mov dword [esp + 0x114], edx
mov edx, dword [esp + 0x124]
mov dword [esp + 0x110], 0xcba82a
cmp dword [esp + 0x3c], edx
jge 0x79bca2
mov edx, dword [esp + 0x128]
mov ecx, dword [esp + 0x154]
lea eax, [ebp + edx]
mov edx, dword [ecx + 0x20b9c8]
lea eax, [eax + eax*4]
lea eax, [edx + eax*2]
mov dword [esp + 0x110], eax
mov edx, dword [esp + 0x2f64]
mov ecx, dword [esp + 0x11c]
test edx, edx
mov dword [esp + 0x10c], ecx
setne dl
xor eax, eax
cmp dword [esp + 0x2f60], 0
setne al
test eax, edx
je 0x79bcf1
mov eax, ebp
mov ecx, dword [esp + 0x154]
sub eax, dword [esp + 0x128]
mov edx, dword [ecx + 0x20b9c8]
lea eax, [eax + eax*4]
lea eax, [edx + eax*2 - 0xa]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x2f64]
test eax, eax
setne dl
xor ecx, ecx
cmp esi, dword [esp + 0x128]
setl cl
test ecx, edx
je 0x79bd2d
mov eax, dword [esp + 0x2f60]
mov esi, dword [esp + 0x150]
xor eax, 1
test esi, esi
sete dl
or eax, edx
test al, 1
jne 0x79c20e
mov ebx, dword [esp + 0x10c]
mov dword [esp + 0x108], ebx
mov edx, dword [esp + 0x11c]
mov esi, dword [esp + 0x11c]
mov eax, dword [esp + 0x11c]
movzx ecx, byte [edx + 5]
mov dword [esp + 0x104], ecx
mov ecx, dword [esp + 0x154]
movzx ebx, byte [esi + 6]
mov esi, dword [esp + 0x154]
mov dword [esp + 0x100], ebx
mov ebx, dword [ecx + 0x1580]
mov ecx, dword [esp + 0x2f64]
imul ecx, ebx
movzx edx, byte [eax + 7]
mov eax, dword [esp + 0x154]
add ecx, dword [esp + 0x2f60]
mov dword [esp + 0xfc], edx
mov edx, dword [esi + 0x1584]
imul ecx, dword [esp + 0x120]
mov dword [esp + 0xec], ebx
mov dword [esp + 0xe8], edx
add ecx, dword [eax + 0x1498]
mov eax, dword [esp + 0x2f64]
mov dword [esp + 0xf4], 0
imul eax, edx
mov dword [esp + 0x1e0], ecx
mov dword [esp + 0xf0], 0
add eax, dword [esp + 0x2f60]
imul eax, dword [esp + 0x120]
mov ebx, eax
shr ebx, 0x1f
add eax, ebx
mov ebx, dword [esp + 0x154]
mov esi, dword [ebx + 0x149c]
sar eax, 1
add esi, eax
mov dword [esp + 0x1e4], esi
add eax, dword [ebx + 0x14a0]
mov dword [esp + 0x1f4], esi
mov dword [esp + 0x1f0], ecx
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1f8], eax
mov edx, dword [ebx]
mov eax, dword [edx + 0xc]
add ebx, 0x20e8a8
mov esi, dword [esp + 0x11c]
shr eax, 4
mov dword [esp + 0xe0], ebx
xor edx, edx
and eax, 1
add eax, 1
mov dword [esp + 0xe4], eax
movzx eax, byte [esi + 4]
add eax, eax
test ax, 0xff00
je 0x79be73
shr eax, 8
add edx, 8
movzx eax, byte [eax + 0xd691e0]
mov ebx, dword [esp + 0x118]
lea ecx, [edx + eax]
movzx eax, byte [ebx + 4]
xor edx, edx
add eax, eax
test ax, 0xff00
je 0x79be98
shr eax, 8
add edx, 8
movzx esi, byte [eax + 0xd691e0]
lea eax, [edx + esi]
mov edx, dword [esp + 0x11c]
add ecx, eax
movzx ebx, word [edx]
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0x118]
movsx edx, bx
movzx esi, word [ecx]
mov ecx, edx
mov word [esp + 0x76], bx
movsx eax, si
mov word [esp + 0x74], si
sub ecx, eax
js 0x79d6d7
lea eax, [ecx + ecx]
xor edx, edx
test eax, 0xffff0000
je 0x79beea
shr eax, 0x10
mov dl, 0x10
test ax, 0xff00
je 0x79bef6
shr eax, 8
add edx, 8
movzx ebx, byte [eax + 0xd691e0]
mov ecx, dword [esp + 0x118]
add edx, ebx
movzx esi, word [ecx + 2]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x11c]
movsx eax, si
movzx ebx, word [edx + 2]
movsx edx, bx
mov ecx, edx
sub ecx, eax
js 0x79d6e0
lea eax, [ecx + ecx]
xor edx, edx
test eax, 0xffff0000
je 0x79bf3a
shr eax, 0x10
mov dl, 0x10
test ax, 0xff00
je 0x79bf46
shr eax, 8
add edx, 8
movzx eax, byte [eax + 0xd691e0]
mov ecx, dword [esp + 0x118]
add edx, eax
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x11c]
movzx eax, byte [edx + 9]
movzx edx, byte [ecx + 9]
mov ecx, dword [esp + 0x10c]
add eax, edx
movzx edx, byte [ecx + 9]
mov ecx, dword [esp + 0x108]
lea eax, [edx + eax*2]
movzx edx, byte [ecx + 9]
mov ecx, dword [esp + 0x154]
add eax, edx
mov dword [esp + 0xd8], eax
mov eax, dword [ecx + 0x3080]
test eax, eax
je 0x79c0b8
mov ecx, edi
mov ebp, dword [esp + 0x88]
mov ebx, 1
shl ebp, cl
mov ecx, edi
mov edi, dword [esp + 0x2f64]
imul edi, ebp
sub ecx, dword [esp + 0x150]
mov dword [esp + 0xd0], ebp
mov dword [esp + 0x2f64], edi
add edi, dword [esp + 0x2f60]
shl ebx, cl
shl edi, cl
xor ebp, ebp
movzx ecx, byte [esp + 0x104]
mov byte [esp + 0x175], cl
movzx eax, byte [esp + 0x100]
movzx edx, byte [esp + 0xfc]
movzx ecx, byte [esp + 0x150]
cmp ebp, ebx
mov dword [esp + 0xcc], edi
mov byte [esp + 0x176], al
mov byte [esp + 0x177], dl
mov word [esp + 0x170], 0
mov word [esp + 0x172], 0
mov byte [esp + 0x174], 0
mov byte [esp + 0x178], 1
mov byte [esp + 0x179], cl
jge 0x79c0a9
xor esi, esi
xor edi, edi
cmp edi, ebx
jge 0x79c09b
mov ecx, dword [esp + 0xcc]
lea eax, [esi + ecx]
lea edx, [eax + eax*4]
lea ecx, [edx + edx]
mov eax, dword [esp + 0x154]
add edi, 1
mov edx, dword [eax + 0x20b9c8]
mov eax, dword [esp + 0x170]
mov dword [ecx + edx], eax
mov eax, dword [esp + 0x174]
mov dword [ecx + edx + 4], eax
mov eax, dword [esp + 0x178]
mov word [ecx + edx + 8], ax
add ecx, 0xa
cmp edi, ebx
jl 0x79c063
add ebp, 1
add esi, dword [esp + 0xd0]
cmp ebp, ebx
jl 0x79c04d
xor ecx, ecx
add esp, 0x2f4c
mov eax, ecx
pop ebx
pop esi
pop edi
pop ebp
ret
movsx edi, word [esp + 0x76]
mov ecx, dword [esp + 0x108]
mov eax, dword [esp + 0x154]
movsx edx, word [ecx + 2]
mov dword [esp + 0x198], edi
mov dword [esp + 0x80], edi
movsx edi, word [ecx]
mov ecx, dword [eax + 0x20b9c8]
lea eax, [ebp + ebp*4]
add eax, eax
mov dword [esp + 0x1ac], edx
mov dword [esp + 0x78], edx
movzx edx, word [eax + ecx]
movsx ebx, bx
movsx esi, si
mov word [esp + 0x180], dx
mov dword [esp + 0x19c], ebx
mov dword [esp + 0x7c], ebx
movzx edx, word [eax + ecx + 2]
mov ecx, dword [esp + 0x114]
movsx ebx, word [esp + 0x74]
mov word [esp + 0x182], dx
mov dword [esp + 0x1a0], ebx
mov dword [esp + 0x1a4], esi
movzx eax, word [ecx]
mov dword [esp + 0x1a8], edi
mov word [esp + 0x184], ax
movzx edx, word [ecx + 2]
mov word [esp + 0x186], dx
mov edx, dword [esp + 0x110]
movzx eax, word [edx]
mov word [esp + 0x188], ax
mov eax, dword [esp + 0x154]
movzx ecx, word [edx + 2]
mov dword [eax + 0x20ca90], 2
mov dword [eax + 0x20ea0c], 0
mov word [esp + 0x18a], cx
mov dword [eax + 0x20ea08], 0
mov edx, dword [esp + 0xe0]
mov ecx, dword [esp + 0xec]
mov dword [edx + 4], 0
cmp dword [edx + 0x128], ecx
jne 0x79dcd4
mov eax, dword [esp + 0xe8]
mov edx, dword [esp + 0xe0]
cmp dword [edx + 0x12c], eax
jne 0x79df10
mov ecx, dword [esp + 0x154]
mov eax, dword [ecx + 0x3110]
mov edx, dword [ecx + 0x310c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax]
movzx eax, byte [ecx + 0x1c8]
mov dword [esp + 0x70], ecx
cmp eax, 0xe
ja case.default.0x79c207
jmp dword [eax*4 + 0xcbafd8]
mov ecx, ebx
mov eax, ebp
mov edx, 1
shl edx, cl
sub eax, dword [esp + 0x128]
mov esi, dword [esp + 0x154]
add eax, edx
mov edx, dword [esi + 0x20b9c8]
lea ecx, [eax + eax*4]
lea ebx, [edx + ecx*2]
mov dword [esp + 0x108], ebx
jmp 0x79bd3b
mov eax, edx
sar eax, 7
mov edx, dword [esp + 0xe0]
mov ecx, dword [esp + 0x154]
mov dword [edx + 0x70], eax
mov eax, dword [ecx + 0x3110]
mov edx, dword [ecx + 0x310c]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x3c], eax
movzx eax, byte [ecx + 0x1cc]
cmp eax, 0xe
ja case.default.0x79c277
jmp dword [eax*4 + 0xcbb014]
mov eax, edx
sar eax, 7
mov edx, dword [esp + 0xe0]
mov ecx, dword [esp + 0x154]
mov dword [edx + 0x74], eax
mov eax, dword [ecx + 0x3110]
mov edx, dword [ecx + 0x310c]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x3c], eax
movzx eax, byte [ecx + 0x1d0]
cmp eax, 0xe
ja case.default.0x79c2b4
jmp dword [eax*4 + 0xcbb050]
mov eax, edx
sar eax, 7
mov edx, dword [esp + 0xe0]
mov dword [edx + 0x78], eax
mov eax, dword [esp + 0x154]
mov ecx, dword [edx + 0x14c]
mov dword [eax + 0x20e678], 1
add ecx, 0x1801
mov eax, dword [esp + 0x2f60]
mov dword [edx + 0x150], ecx
neg eax
imul eax, dword [esp + 0x120]
sub eax, 0xd
mov dword [edx + 0x90], eax
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x2f64]
imul eax, dword [esp + 0x120]
neg ecx
mov dword [esp + 0x6c], eax
mov eax, 4
imul ecx, dword [esp + 0x120]
sub ecx, 0xd
mov dword [edx + 0x98], ecx
mov edx, dword [esp + 0x154]
mov ecx, eax
sub ecx, dword [edx + 0x3130]
mov edx, dword [esp + 0x6c]
shl dword [esp + 0x128], cl
mov ecx, dword [esp + 0xe0]
sub dword [esp + 0x128], edx
mov edx, dword [esp + 0x128]
add edx, 0xd
mov dword [ecx + 0x94], edx
mov ecx, dword [esp + 0x68]
imul ecx, dword [esp + 0x120]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x154]
sub eax, dword [ecx + 0x3130]
mov ecx, eax
mov eax, dword [esp + 0x68]
shl dword [esp + 0x124], cl
sub dword [esp + 0x124], eax
mov eax, dword [esp + 0x124]
add eax, 0xd
mov ecx, dword [esp + 0xe0]
mov dword [ecx + 0x9c], eax
movzx ecx, byte [esp + 0xe4]
shl edx, cl
cmp dword [esp + 0x80], edx
jle 0x79c3de
mov dword [esp + 0x80], edx
mov dword [esp + 0x198], edx
movzx ecx, byte [esp + 0xe4]
shl eax, cl
cmp dword [esp + 0x7c], eax
mov dword [esp + 0x3c], eax
jle 0x79c3fd
mov dword [esp + 0x7c], eax
mov dword [esp + 0x19c], eax
cmp ebx, edx
jle 0x79c40a
mov ebx, edx
mov dword [esp + 0x1a0], edx
cmp esi, dword [esp + 0x3c]
jle 0x79c41b
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x1a4], esi
mov eax, dword [esp + 0xc8]
movzx ecx, byte [esp + 0xe4]
shl eax, cl
cmp edi, eax
jge 0x79c439
mov edi, eax
mov dword [esp + 0x1a8], eax
cmp edi, edx
jle 0x79c446
mov edi, edx
mov dword [esp + 0x1a8], edx
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x78], eax
jle 0x79c45b
mov dword [esp + 0x78], eax
mov dword [esp + 0x1ac], eax
mov ecx, ebx
mov edx, dword [esp + 0x80]
cmp edx, ebx
cmovg ecx, edx
cmovg edx, ebx
cmp edx, edi
cmovl edx, edi
cmp ecx, edx
cmovg ecx, edx
mov dword [esp + 0x1b0], ecx
mov edx, esi
mov edi, dword [esp + 0x7c]
mov ebx, dword [esp + 0x78]
cmp edi, esi
cmovg edx, edi
cmovg edi, esi
cmp edi, ebx
cmovl edi, ebx
cmp edx, edi
cmovg edx, edi
mov esi, dword [esp + 0x2f64]
test esi, esi
mov dword [esp + 0x1b4], edx
jne 0x79d6bf
mov ebx, dword [esp + 0xe0]
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
mov dword [ebx + 0xa0], ecx
mov dword [ebx + 0xa4], eax
mov edi, dword [esp + 0x154]
xor esi, esi
mov dword [esp + 0x144], 0x7fffffff
mov edx, dword [edi + 0x30a8]
mov dword [esp + 0xd4], 0
test edx, edx
jle 0x79c7d4
mov ebx, dword [esp + 0x120]
mov eax, dword [esp + 0x120]
add edi, 0x20c9f0
imul ebx, dword [esp + 0x2f64]
imul eax, dword [esp + 0x2f60]
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0x154]
mov dword [esp + 0xc4], eax
add ebx, 0x1648
mov ecx, dword [esp + 0xe0]
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xc0]
imul eax, dword [ecx + 0x128]
add eax, dword [esp + 0xc4]
mov dword [esp + 0x160], eax
imul edx, dword [ecx + 0x12c]
add edx, dword [esp + 0xc4]
sar edx, 1
mov dword [esp + 0x164], edx
mov dword [esp + 0x168], edx
xor edx, edx
mov eax, dword [esp + edx*4 + 0x1f0]
mov ecx, dword [esp + 0xe0]
mov dword [ecx + edx*4 + 0xa8], eax
mov eax, dword [esp + edx*4 + 0x160]
add eax, dword [ebx + edx*4]
mov dword [ecx + edx*4 + 0xe8], eax
add edx, 1
cmp edx, 2
jle 0x79c583
mov eax, dword [esp + 0x120]
mov edx, dword [esp + 0x150]
movzx ecx, byte [esp + 0xe4]
mov dword [esp + 0x24], eax
mov eax, 0x10000
mov dword [esp + 0x20], edx
sar eax, cl
lea edx, [esp + 0x180]
lea ecx, [esp + 0x190]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edx
lea eax, [esp + 0x15c]
lea edx, [esp + 0x158]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 4], edx
mov dword [esp + 0x10], 0
mov dword [esp + 8], eax
mov dword [esp], edi
call fcn.008f4315
mov edx, dword [esp + 0x158]
mov ecx, dword [esp + 0xe0]
cmp dword [ecx + 0x90], edx
jg 0x79dd86
mov ecx, dword [esp + 0xe0]
cmp dword [ecx + 0x94], edx
jl 0x79dda2
mov edx, dword [esp + 0x15c]
mov ecx, dword [esp + 0xe0]
cmp dword [ecx + 0x98], edx
jg 0x79ddbe
mov ecx, dword [esp + 0xe0]
cmp dword [ecx + 0x9c], edx
jl 0x79ddda
mov edx, dword [esp + 0x120]
mov ecx, dword [esp + 0x150]
mov dword [esp + 0xc], eax
mov dword [esp + 0x1c], edx
lea eax, [esp + 0x158]
lea edx, [esp + 0x15c]
mov dword [esp + 0x18], ecx
mov dword [esp + 8], edx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 4], eax
mov dword [esp], edi
call dword [ecx + 0x154]
mov edx, dword [esp + 0x120]
mov ecx, dword [esp + 0x150]
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x15c]
mov edx, dword [esp + 0x158]
mov dword [esp + 0x14], ecx
mov dword [esp + 4], edx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov dword [esp], edi
call fcn.008d2741
xor edx, edx
mov ecx, eax
lea eax, [esi + esi]
test eax, 0xffff0000
je 0x79c727
shr eax, 0x10
mov dl, 0x10
test ax, 0xff00
je 0x79c733
shr eax, 8
add edx, 8
movzx eax, byte [eax + 0xd691e0]
lea eax, [edx + eax]
mov edx, dword [esp + 0xe0]
imul eax, dword [edx + 0x70]
lea ecx, [ecx + eax*2]
mov eax, dword [esp + 0x154]
mov edx, dword [eax + esi*4 + 0x30ac]
test edx, edx
je 0x79c785
mov eax, dword [esp + 0x158]
mov word [edx + ebp*4], ax
mov eax, dword [esp + 0x15c]
mov word [edx + ebp*4 + 2], ax
mov edx, dword [esp + 0x154]
mov eax, dword [edx + esi*4 + 0x30cc]
mov dword [eax + ebp*4], ecx
cmp dword [esp + 0x144], ecx
jle 0x79c7b8
mov dword [esp + 0x144], ecx
mov edx, dword [esp + 0x158]
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0xd4], esi
mov dword [esp + 0xf4], edx
mov dword [esp + 0xf0], ecx
add esi, 1
mov eax, dword [esp + 0x154]
add ebx, 0xd8
cmp dword [eax + 0x30a8], esi
jg 0x79c539
mov ebx, dword [esp + 0x154]
add ebx, 4
mov dword [esp + 0x64], ebx
mov edi, dword [ebx + 0x214]
mov esi, dword [ebx + 0xc]
sub edi, dword [ebx + 0x210]
mov ebp, dword [esp + 0x64]
add edi, dword [ebx + 8]
mov eax, dword [ebp + 4]
cmp esi, 0x80000000
adc edi, 0
xor edx, edx
test eax, 0xffff0000
lea ecx, [edi*8]
je 0x79c819
shr eax, 0x10
mov dl, 0x10
test ax, 0xff00
je 0x79c825
shr eax, 8
add edx, 8
movzx ebp, byte [eax + 0xd691e0]
mov ebx, dword [esp + 0x64]
lea esi, [esp + 0x420]
lea eax, [edx + ebp]
mov ebp, dword [esp + 0x154]
lea edi, [esp + 0x2b40]
mov edx, dword [ebp + 0x218]
sub ecx, eax
sub edx, dword [ebp + 0x214]
add ebp, 0x2000
mov dword [esp + 8], 0x21c
shl edx, 3
mov dword [esp + 4], ebx
mov dword [esp], esi
sub ecx, edx
mov dword [esp + 0x12c], ecx
call fcn.00a5b5c0
lea eax, [esp + 0x16c0]
mov dword [esp + 0x634], edi
mov dword [esp + 0x630], edi
mov dword [esp + 0x84], ebp
mov dword [esp + 8], 0x1080
mov dword [esp + 4], ebp
mov dword [esp], eax
call fcn.00a5b5c0
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x154]
cmp dword [edx + 0x3130], ecx
je 0x79c9cb
lea ecx, [esp + 0x16c0]
mov edx, dword [esp + 0x424]
add ecx, dword [esp + 0xd8]
movzx esi, byte [ecx + 4]
imul esi, edx
sar esi, 8
sub edx, esi
mov dword [esp + 0x424], esi
add dword [esp + 0x420], edx
movzx edi, byte [ecx + 4]
movzx ebx, byte [esp + edi + 0x530]
mov byte [ecx + 4], bl
mov ecx, dword [esp + 0x424]
cmp ecx, 0xff
jg 0x79c9cb
mov ebx, dword [esp + 0x42c]
mov edx, dword [esp + 0x420]
test ebx, ebx
js 0x79d941
cmp edx, 0xff00
jg 0x79d824
mov eax, dword [esp + 0x634]
mov byte [eax], bl
mov edx, dword [esp + 0x634]
add edx, 1
cmp dword [esp + 0x428], 0
mov dword [esp + 0x634], edx
jmp 0x79c986
mov byte [edx], 0xff
mov ecx, dword [esp + 0x634]
mov ebp, dword [esp + 0x428]
add ecx, 1
sub ebp, 1
mov edx, ecx
mov dword [esp + 0x634], ecx
mov dword [esp + 0x428], ebp
test ebp, ebp
jne 0x79c95d
mov edx, dword [esp + 0x420]
mov ebx, edx
sar ebx, 8
mov dword [esp + 0x42c], ebx
mov ecx, dword [esp + 0x424]
mov ebp, ecx
movzx edi, dl
shl ebp, 8
shl edi, 8
cmp ebp, 0xff
mov edx, edi
mov dword [esp + 0x420], edi
mov ecx, ebp
mov dword [esp + 0x424], ebp
jle 0x79c925
mov ebx, dword [esp + 0x11c]
mov edx, dword [esp + 0x118]
lea edi, [esp + 0x16c0]
movzx ecx, byte [edx + 8]
movzx ebp, byte [ebx + 8]
mov esi, dword [esp + 0x424]
add ebp, ecx
lea ecx, [edi + ebp]
movzx eax, byte [ecx + 1]
imul eax, esi
sar eax, 8
sub esi, eax
mov dword [esp + 0x424], esi
movzx ebx, byte [ecx + 1]
movzx edx, byte [esp + ebx + 0x430]
mov byte [ecx + 1], dl
mov ecx, dword [esp + 0x424]
cmp ecx, 0xff
jg 0x79cadd
mov ebx, dword [esp + 0x42c]
mov edx, dword [esp + 0x420]
test ebx, ebx
js 0x79d8a0
cmp edx, 0xff00
jg 0x79d75b
mov esi, dword [esp + 0x634]
mov byte [esi], bl
mov edx, dword [esp + 0x634]
add edx, 1
cmp dword [esp + 0x428], 0
mov dword [esp + 0x634], edx
jmp 0x79ca98
mov byte [edx], 0xff
mov ebp, dword [esp + 0x634]
mov eax, dword [esp + 0x428]
add ebp, 1
sub eax, 1
mov edx, ebp
mov dword [esp + 0x634], ebp
mov dword [esp + 0x428], eax
test eax, eax
jne 0x79ca6f
mov edx, dword [esp + 0x420]
mov ebx, edx
sar ebx, 8
mov dword [esp + 0x42c], ebx
mov ecx, dword [esp + 0x424]
mov ebp, ecx
movzx edi, dl
shl ebp, 8
shl edi, 8
cmp ebp, 0xff
mov edx, edi
mov dword [esp + 0x420], edi
mov ecx, ebp
mov dword [esp + 0x424], ebp
jle 0x79ca37
mov esi, dword [esp + 0x154]
mov eax, dword [esi + 0x30a8]
cmp eax, 1
jg 0x79d9b0
sub eax, 1
je 0x79d9f3
mov esi, dword [esp + 0xd4]
mov ebp, dword [esp + 0x11c]
mov edi, dword [esp + 0x118]
shl esi, 5
movzx ecx, byte [ebp + 4]
movzx eax, byte [edi + 4]
add esi, 0xfaac00
movsx ebx, word [ebp]
movsx edx, word [edi]
mov ebp, dword [esi + ecx*4]
mov ecx, dword [esp + 0x108]
mov edi, dword [esi + eax*4]
movsx eax, word [ecx]
movzx ecx, byte [ecx + 4]
imul edx, edi
mov esi, dword [esi + ecx*4]
imul ebx, ebp
sub edx, 0xffffff80
imul eax, esi
sub ebx, 0xffffff80
sar edx, 8
sub eax, 0xffffff80
mov dword [esp + 0x3c], ecx
sar ebx, 8
sar eax, 8
mov ecx, edx
cmp ebx, edx
cmovg ecx, ebx
cmovg ebx, edx
cmp ebx, eax
cmovl ebx, eax
cmp ecx, ebx
cmovg ecx, ebx
mov edx, dword [esp + 0x11c]
mov dword [esp + 0xf8], ecx
mov eax, dword [esp + 0x118]
movsx ecx, word [edx + 2]
mov ebx, dword [esp + 0x108]
imul ecx, ebp
movsx ebp, word [eax + 2]
imul ebp, edi
movsx edi, word [ebx + 2]
sub ecx, 0xffffff80
sub ebp, 0xffffff80
imul edi, esi
sar ecx, 8
sar ebp, 8
sub edi, 0xffffff80
sar edi, 8
mov ebx, ebp
cmp ecx, ebp
cmovg ebx, ecx
cmovg ecx, ebp
cmp ecx, edi
cmovl ecx, edi
cmp ebx, ecx
cmovg ebx, ecx
mov edx, dword [esp + 0xd4]
test edx, edx
je 0x79d99b
shl dword [esp + 0x60], 5
mov esi, dword [esp + 0x60]
lea edx, [esp + esi + 0x1940]
mov ecx, dword [esp + 0xf4]
lea eax, [esp + 0x420]
mov dword [esp + 4], 1
sub ecx, dword [esp + 0xf8]
mov dword [esp], ecx
call fcn.00797468
mov edi, dword [esp + 0xd4]
test edi, edi
je 0x79d986
shl dword [esp + 0x5c], 5
mov ebp, dword [esp + 0x5c]
lea edx, [esp + ebp + 0x1940]
mov eax, dword [esp + 0xf0]
mov dword [esp + 4], 1
sub eax, ebx
mov dword [esp], eax
lea eax, [esp + 0x420]
call fcn.00797468
mov edx, dword [esp + 0x630]
mov ebx, dword [esp + 0x634]
sub ebx, edx
mov edx, dword [esp + 0x424]
mov eax, ebx
mov dword [esp + 0x134], ebx
add eax, dword [esp + 0x428]
cmp dword [esp + 0x42c], 0x80000000
adc eax, 0
xor ecx, ecx
shl eax, 3
test edx, 0xffff0000
je 0x79cc94
shr edx, 0x10
mov cl, 0x10
test dx, 0xff00
je 0x79cca1
shr edx, 8
add ecx, 8
movzx esi, byte [edx + 0xd691e0]
mov edi, dword [esp + 0x120]
xor ebx, ebx
lea ebp, [ecx + esi]
mov ecx, dword [esp + 0x154]
xor esi, esi
sub eax, ebp
imul edi, edi
mov ebp, dword [esp + 0x1f0]
sub eax, dword [esp + 0x12c]
mov dword [esp + 0x130], edi
imul eax, dword [ecx + 0x3110]
mov ecx, ebp
sar eax, 7
add eax, dword [esp + 0x144]
cmp esi, dword [esp + 0x120]
mov dword [esp + 0x54], eax
jge 0x79cd2b
mov edi, dword [esp + 0xec]
sub edi, dword [esp + 0x120]
xor edx, edx
jmp 0x79cd14
movzx eax, byte [ecx]
add edx, 1
add ecx, 1
add esi, eax
cmp edx, dword [esp + 0x120]
jl 0x79cd09
add ebx, 1
add ecx, edi
cmp ebx, dword [esp + 0x120]
jl 0x79cd05
mov edi, dword [esp + 0x130]
mov ecx, ebp
shr edi, 0x1f
add edi, dword [esp + 0x130]
sar edi, 1
lea ebx, [edi + esi]
xor edi, edi
mov eax, ebx
xor ebx, ebx
cdq
idiv dword [esp + 0x130]
cmp ebx, dword [esp + 0x120]
mov dword [esp + 0xbc], eax
jge 0x79cd9a
mov ebp, dword [esp + 0xec]
sub ebp, dword [esp + 0x120]
xor edx, edx
jmp 0x79cd83
movzx eax, byte [ecx]
add edx, 1
add ecx, 1
add ebx, dword [eax*4 + 0xea2660]
cmp edx, dword [esp + 0x120]
jl 0x79cd73
add edi, 1
add ecx, ebp
cmp edi, dword [esp + 0x120]
jl 0x79cd6f
mov ebp, dword [esp + 0xbc]
mov ecx, dword [esp + 0xbc]
xor edi, edi
imul ebp, esi
imul ecx, ecx
xor esi, esi
add ebp, ebp
imul ecx, dword [esp + 0x130]
sub ebx, ebp
mov ebp, dword [esp + 0x120]
add ebx, ecx
imul ebp, ebp
mov ecx, dword [esp + 0x1f4]
mov dword [esp + 0x13c], ebx
mov ebx, dword [esp + 0x120]
sar ebp, 2
sar ebx, 1
cmp esi, ebx
jge 0x79ce19
mov edx, dword [esp + 0xe8]
sub edx, ebx
mov dword [esp + 0xb8], edx
xor edx, edx
jmp 0x79ce07
movzx eax, byte [ecx]
add edx, 1
add ecx, 1
add esi, eax
cmp edx, ebx
jl 0x79cdfc
add edi, 1
add ecx, dword [esp + 0xb8]
cmp edi, ebx
jl 0x79cdf8
mov ecx, ebp
shr ecx, 0x1f
lea edi, [ebp + ecx]
mov ecx, dword [esp + 0x1f8]
sar edi, 1
lea ebx, [edi + esi]
xor esi, esi
xor edi, edi
mov eax, ebx
mov ebx, dword [esp + 0x120]
cdq
sar ebx, 1
idiv ebp
cmp esi, ebx
mov dword [esp + 0xb4], eax
jge 0x79ce7c
mov eax, dword [esp + 0xe8]
sub eax, ebx
mov dword [esp + 0xb0], eax
xor edx, edx
jmp 0x79ce6a
movzx eax, byte [ecx]
add edx, 1
add ecx, 1
add esi, eax
cmp edx, ebx
jl 0x79ce5f
add edi, 1
add ecx, dword [esp + 0xb0]
cmp edi, ebx
jl 0x79ce5b
mov ecx, ebp
mov dword [esp + 8], 0x21c
shr ecx, 0x1f
lea edi, [ebp + ecx]
sar edi, 1
lea ebx, [edi + esi]
mov eax, ebx
lea ebx, [esp + 0x640]
cdq
idiv ebp
lea ebp, [esp + 0x200]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x64]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.00a5b5c0
lea ecx, [esp + 0x2740]
mov edi, dword [esp + 0x84]
mov dword [esp + 0x414], ecx
mov dword [esp + 0x410], ecx
mov dword [esp + 8], 0x1080
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00a5b5c0
mov esi, dword [esp + 0x150]
mov edx, dword [esp + 0x154]
cmp dword [edx + 0x3130], esi
je 0x79cfe1
lea esi, [esp + 0x640]
mov edi, dword [esp + 0x204]
add esi, dword [esp + 0xd8]
movzx ebx, byte [esi + 4]
imul ebx, edi
sar ebx, 8
sub edi, ebx
mov dword [esp + 0x204], ebx
add dword [esp + 0x200], edi
movzx edx, byte [esi + 4]
movzx eax, byte [ebp + edx + 0x110]
mov byte [esi + 4], al
mov ecx, dword [esp + 0x204]
cmp ecx, 0xff
jg 0x79cfe1
mov ebx, dword [esp + 0x20c]
mov edx, dword [esp + 0x200]
test ebx, ebx
js 0x79d934
cmp edx, 0xff00
jg 0x79d7ca
mov ecx, dword [ebp + 0x214]
mov byte [ecx], bl
mov edx, dword [ebp + 0x214]
add edx, 1
cmp dword [ebp + 8], 0
mov dword [ebp + 0x214], edx
jmp 0x79cfb5
mov byte [edx], 0xff
mov eax, dword [ebp + 0x214]
mov esi, dword [ebp + 8]
add eax, 1
sub esi, 1
mov edx, eax
mov dword [ebp + 0x214], eax
mov dword [ebp + 8], esi
test esi, esi
jne 0x79cf96
mov edx, dword [ebp]
mov ebx, edx
sar ebx, 8
mov dword [ebp + 0xc], ebx
mov ecx, dword [ebp + 4]
mov eax, ecx
movzx edi, dl
shl eax, 8
shl edi, 8
cmp eax, 0xff
mov edx, edi
mov dword [ebp], edi
mov ecx, eax
mov dword [ebp + 4], eax
jle 0x79cf65
mov esi, dword [esp + 0x11c]
mov ebx, dword [esp + 0x118]
lea edx, [esp + 0x640]
movzx ecx, byte [ebx + 8]
movzx edi, byte [esi + 8]
mov eax, dword [esp + 0x204]
add edi, ecx
lea ecx, [edx + edi]
movzx esi, byte [ecx + 1]
imul esi, eax
sar esi, 8
sub eax, esi
mov dword [esp + 0x204], esi
add dword [esp + 0x200], eax
movzx ebx, byte [ecx + 1]
movzx edx, byte [ebp + ebx + 0x110]
mov byte [ecx + 1], dl
mov ecx, dword [ebp + 4]
cmp ecx, 0xff
jg 0x79d0c4
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebp]
test ebx, ebx
js 0x79d893
cmp edx, 0xff00
jg 0x79d701
mov eax, dword [ebp + 0x214]
mov byte [eax], bl
mov edx, dword [ebp + 0x214]
add edx, 1
cmp dword [ebp + 8], 0
mov dword [ebp + 0x214], edx
jmp 0x79d098
mov byte [edx], 0xff
mov ecx, dword [ebp + 0x214]
mov edi, dword [ebp + 8]
add ecx, 1
sub edi, 1
mov edx, ecx
mov dword [ebp + 0x214], ecx
mov dword [ebp + 8], edi
test edi, edi
jne 0x79d079
mov edx, dword [ebp]
mov ebx, edx
sar ebx, 8
mov dword [ebp + 0xc], ebx
mov ecx, dword [ebp + 4]
mov eax, ecx
movzx esi, dl
shl eax, 8
shl esi, 8
cmp eax, 0xff
mov edx, esi
mov dword [ebp], esi
mov ecx, eax
mov dword [ebp + 4], eax
jle 0x79d048
mov esi, dword [esp + 0xbc]
lea edx, [esp + 0x660]
mov eax, ebp
sub esi, dword [esp + 0x104]
mov dword [esp + 4], 1
mov dword [esp], esi
call fcn.00797468
mov eax, dword [esp + 0xb4]
sub eax, dword [esp + 0x100]
lea edx, [esp + 0x680]
mov dword [esp + 4], 1
mov dword [esp], eax
mov eax, ebp
call fcn.00797468
mov edi, dword [esp + 0xac]
lea edx, [esp + 0x6a0]
sub edi, dword [esp + 0xfc]
mov eax, ebp
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.00797468
mov edx, dword [esp + 0x414]
mov ebx, dword [esp + 0x410]
mov eax, dword [esp + 0x204]
sub edx, ebx
mov ecx, edx
mov dword [esp + 0x138], edx
add ecx, dword [esp + 0x208]
cmp dword [esp + 0x20c], 0x80000000
adc ecx, 0
lea edx, [ecx*8]
xor ecx, ecx
test eax, 0xffff0000
je 0x79d183
shr eax, 0x10
mov cl, 0x10
test ax, 0xff00
je 0x79d18f
shr eax, 8
add ecx, 8
movzx ebx, byte [eax + 0xd691e0]
mov eax, dword [esp + 0x154]
lea esi, [ecx + ebx]
mov edi, dword [eax + 0x3110]
sub edx, esi
lea ebx, [edi + edi*4]
sub edx, dword [esp + 0x12c]
lea ecx, [ebx + ebx + 0xfe0100]
imul edx, edi
sar edx, 7
add edx, dword [esp + 0x13c]
cmp ecx, edx
mov dword [esp + 0x58], edx
jle 0x79df48
mov edx, dword [esp + 0x58]
test edx, edx
js 0x79df80
cmp dword [esp + 0xbc], 0xff
ja 0x79df64
cmp dword [esp + 0x104], 0xff
ja 0x79df2c
mov ecx, dword [esp + 0x150]
test ecx, ecx
jne 0x79d26f
mov ebx, dword [esp + 0x54]
mov esi, dword [esp + 0x58]
sar ebx, 8
sar esi, 8
cmp ebx, 0x40
setle dl
cmp ebx, esi
setl al
or eax, edx
test al, 1
je 0x79da58
cmp ebx, 0xfe
ja 0x79dc22
movzx edi, byte [ebx + 0xd692e1]
lea ebx, [edi - 1]
sar ebx, 4
cmp esi, 0xfe
ja 0x79dd52
movzx eax, byte [esi + 0xd692e1]
sub eax, 1
sar eax, 4
sub ebx, eax
mov edx, dword [esp + 0xe0]
add dword [edx + 0x138], ebx
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x154]
cmp dword [ecx + 0x3130], eax
je 0x79d42f
add ecx, dword [esp + 0xd8]
mov esi, dword [esp + 0x64]
movzx eax, byte [ecx + 0x2004]
mov edi, dword [esi + 4]
imul eax, edi
sar eax, 8
sub edi, eax
mov dword [esi + 4], edi
movzx ebx, byte [ecx + 0x2004]
movzx edx, byte [esi + ebx + 0x10]
mov byte [ecx + 0x2004], dl
mov ecx, dword [esi + 4]
cmp ecx, 0xff
jg 0x79d365
mov ebx, dword [esi + 0xc]
mov edx, dword [esi]
test ebx, ebx
js 0x79d952
cmp edx, 0xff00
jg 0x79d8c7
mov edx, dword [esp + 0x64]
mov edi, dword [edx + 0x214]
mov byte [edi], bl
mov ecx, dword [esp + 0x64]
mov edx, dword [ecx + 0x214]
add edx, 1
cmp dword [ecx + 8], 0
mov dword [ecx + 0x214], edx
jmp 0x79d32b
mov byte [edx], 0xff
mov ebx, dword [esp + 0x64]
mov esi, dword [ebx + 0x214]
mov eax, dword [ebx + 8]
add esi, 1
sub eax, 1
mov edx, esi
mov dword [ebx + 0x214], esi
mov dword [ebx + 8], eax
test eax, eax
jne 0x79d308
mov esi, dword [esp + 0x64]
mov edx, dword [esi]
mov ebx, edx
sar ebx, 8
mov dword [esi + 0xc], ebx
mov ecx, dword [esi + 4]
movzx edi, dl
mov eax, ecx
mov esi, dword [esp + 0x64]
shl edi, 8
shl eax, 8
mov edx, edi
mov dword [esi], edi
cmp eax, 0xff
mov edi, dword [esp + 0x64]
mov ecx, eax
mov dword [edi + 4], eax
jle 0x79d2cf
mov edi, dword [esp + 0x150]
mov ebx, dword [esp + 0x2f64]
mov esi, dword [esp + 0x2f60]
add edi, 1
add esi, esi
add ebx, ebx
mov edx, edi
mov eax, dword [esp + 0x154]
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.0079badc
mov edx, edi
mov dword [esp + 0x140], eax
lea eax, [esi + 1]
mov dword [esp + 4], ebx
mov dword [esp + 0xa0], eax
mov dword [esp], eax
mov eax, dword [esp + 0x154]
call fcn.0079badc
add ebx, 1
mov edx, edi
add eax, dword [esp + 0x140]
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x154]
call fcn.0079badc
mov edx, dword [esp + 0xa0]
mov esi, dword [esp + 0x50]
add esi, eax
mov dword [esp], edx
mov eax, dword [esp + 0x154]
mov edx, edi
mov dword [esp + 4], ebx
call fcn.0079badc
mov ecx, dword [esp + 0x154]
lea edi, [esi + eax]
mov eax, dword [ecx + 0x3110]
sar eax, 7
lea ecx, [edi + eax]
cmp ecx, dword [esp + 0x54]
setl dl
xor ebx, ebx
cmp ecx, dword [esp + 0x58]
setl bl
test ebx, edx
jne 0x79c0ab
mov ecx, dword [esp + 0x54]
cmp dword [esp + 0x58], ecx
jge 0x79da77
mov edi, dword [esp + 0x154]
cmp dword [edi + 0x30a8], 1
je 0x79dcf0
mov ecx, dword [esp + 0x118]
mov edi, dword [esp + 0x11c]
movzx esi, byte [ecx + 4]
movzx edx, byte [edi + 4]
movsx ebx, word [edi]
mov eax, dword [esi*4 + 0xfaac00]
mov esi, dword [esp + 0x108]
mov edi, dword [edx*4 + 0xfaac00]
mov dword [esp + 0x9c], eax
movsx edx, word [ecx]
imul ebx, edi
movzx ecx, byte [esi + 4]
imul edx, eax
movsx eax, word [esi]
mov esi, dword [ecx*4 + 0xfaac00]
sub edx, 0xffffff80
sub ebx, 0xffffff80
imul eax, esi
sar edx, 8
sar ebx, 8
sub eax, 0xffffff80
mov ecx, edx
sar eax, 8
cmp ebx, edx
cmovg ecx, ebx
cmovg ebx, edx
cmp ebx, eax
cmovl ebx, eax
cmp ecx, ebx
cmovg ecx, ebx
mov edx, dword [esp + 0x11c]
mov eax, dword [esp + 0x118]
mov ebx, dword [esp + 0x108]
mov dword [esp + 0x4c], ecx
movsx ecx, word [edx + 2]
movsx edx, word [eax + 2]
imul ecx, edi
imul edx, dword [esp + 0x9c]
movsx edi, word [ebx + 2]
sub edx, 0xffffff80
imul edi, esi
sub ecx, 0xffffff80
sar edx, 8
sub edi, 0xffffff80
sar ecx, 8
sar edi, 8
mov ebx, edx
cmp ecx, edx
cmovg ebx, ecx
cmovg ecx, edx
cmp ecx, edi
cmovl ecx, edi
cmp ebx, ecx
cmovg ebx, ecx
mov ecx, dword [esp + 0x138]
lea edx, [esp + 0x2740]
mov edi, dword [esp + 0x14c]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.00a5b5c0
mov esi, dword [esp + 0x64]
mov dword [esp + 4], ebp
mov dword [esp], esi
mov dword [esp + 8], 0x21c
call fcn.00a5b5c0
mov ebp, dword [esp + 0x14c]
mov ecx, dword [esp + 0x154]
mov eax, dword [esp + 0x148]
add ebp, dword [esp + 0x138]
mov edi, dword [ecx + 0x3128]
mov dword [ecx + 0x214], eax
mov dword [ecx + 0x218], ebp
mov ecx, dword [ecx + 0x3130]
mov esi, dword [esp + 0x2f64]
shl edi, cl
mov ebp, 1
sub ecx, dword [esp + 0x150]
imul esi, edi
mov word [esp + 0x172], bx
movzx ebx, byte [esp + 0x150]
shl ebp, cl
movzx eax, byte [esp + 0xbc]
mov dword [esp + 0x2f64], esi
mov byte [esp + 0x179], bl
add esi, dword [esp + 0x2f60]
xor ebx, ebx
shl esi, cl
mov byte [esp + 0x175], al
movzx edx, byte [esp + 0xb4]
movzx ecx, byte [esp + 0xac]
mov eax, dword [esp + 0x4c]
cmp ebx, ebp
mov dword [esp + 0x98], edi
mov dword [esp + 0x94], esi
mov byte [esp + 0x176], dl
mov byte [esp + 0x177], cl
mov word [esp + 0x170], ax
mov byte [esp + 0x174], 0
mov byte [esp + 0x178], 1
jge 0x79d68c
xor esi, esi
xor edi, edi
cmp edi, ebp
jge 0x79d67e
mov edx, dword [esp + 0x94]
lea ecx, [esi + edx]
lea eax, [ecx + ecx*4]
lea ecx, [eax + eax]
mov eax, dword [esp + 0x154]
add edi, 1
mov edx, dword [eax + 0x20b9c8]
mov eax, dword [esp + 0x170]
mov dword [ecx + edx], eax
mov eax, dword [esp + 0x174]
mov dword [ecx + edx + 4], eax
mov eax, dword [esp + 0x178]
mov word [ecx + edx + 8], ax
add ecx, 0xa
cmp edi, ebp
jl 0x79d646
add ebx, 1
add esi, dword [esp + 0x98]
cmp ebx, ebp
jl 0x79d630
mov ebx, dword [esp + 0x84]
lea ebp, [esp + 0x640]
mov dword [esp + 8], 0x1080
mov dword [esp + 4], ebp
mov dword [esp], ebx
call fcn.00a5b5c0
mov ecx, dword [esp + 0x58]
add esp, 0x2f4c
pop ebx
mov eax, ecx
pop esi
pop edi
pop ebp
ret
mov esi, dword [esp + 0xe0]
mov dword [esi + 0xa0], ecx
mov dword [esi + 0xa4], edx
jmp 0x79c4cd
sub eax, edx
add eax, eax
jmp 0x79bedc
sub eax, edx
add eax, eax
jmp 0x79bf2c
cmp edx, 0xffff
jle 0x79d8b1
mov edx, dword [ebp + 0x214]
lea eax, [ebx + 1]
mov byte [edx], al
mov edx, dword [ebp + 0x214]
add edx, 1
cmp dword [ebp + 8], 0
mov dword [ebp + 0x214], edx
jmp 0x79d74c
mov byte [edx], 0
mov esi, dword [ebp + 0x214]
mov ebx, dword [ebp + 8]
add esi, 1
sub ebx, 1
mov edx, esi
mov dword [ebp + 0x214], esi
mov dword [ebp + 8], ebx
test ebx, ebx
jne 0x79d72d
mov edx, dword [ebp]
movzx edi, dh
mov ebx, edi
jmp 0x79d0a2
cmp edx, 0xffff
jle 0x79d8ba
mov edi, dword [esp + 0x634]
lea ecx, [ebx + 1]
mov byte [edi], cl
mov edx, dword [esp + 0x634]
add edx, 1
cmp dword [esp + 0x428], 0
mov dword [esp + 0x634], edx
jmp 0x79d7b7
mov byte [edx], 0
mov esi, dword [esp + 0x634]
mov ebx, dword [esp + 0x428]
add esi, 1
sub ebx, 1
mov edx, esi
mov dword [esp + 0x634], esi
mov dword [esp + 0x428], ebx
test ebx, ebx
jne 0x79d78e
mov edx, dword [esp + 0x420]
movzx eax, dh
mov ebx, eax
jmp 0x79caa6
cmp edx, 0xffff
jle 0x79d963
mov edx, dword [ebp + 0x214]
lea ecx, [ebx + 1]
mov byte [edx], cl
mov edx, dword [ebp + 0x214]
add edx, 1
cmp dword [ebp + 8], 0
mov dword [ebp + 0x214], edx
jmp 0x79d815
mov byte [edx], 0
mov edi, dword [ebp + 0x214]
mov ebx, dword [ebp + 8]
add edi, 1
sub ebx, 1
mov edx, edi
mov dword [ebp + 0x214], edi
mov dword [ebp + 8], ebx
test ebx, ebx
jne 0x79d7f6
mov edx, dword [ebp]
movzx esi, dh
mov ebx, esi
jmp 0x79cfbf
cmp edx, 0xffff
jle 0x79d96c
mov edi, dword [esp + 0x634]
lea edx, [ebx + 1]
mov byte [edi], dl
mov edx, dword [esp + 0x634]
add edx, 1
cmp dword [esp + 0x428], 0
mov dword [esp + 0x634], edx
jmp 0x79d880
mov byte [edx], 0
mov esi, dword [esp + 0x634]
mov ebx, dword [esp + 0x428]
add esi, 1
sub ebx, 1
mov edx, esi
mov dword [esp + 0x634], esi
mov dword [esp + 0x428], ebx
test ebx, ebx
jne 0x79d857
mov edx, dword [esp + 0x420]
movzx eax, dh
mov ebx, eax
jmp 0x79c994
mov ebx, edx
sar ebx, 8
mov dword [ebp + 0xc], ebx
jmp 0x79d0a8
mov ebx, edx
sar ebx, 8
mov dword [esp + 0x42c], ebx
jmp 0x79cab4
add dword [ebp + 8], 1
jmp 0x79d0a8
add dword [esp + 0x428], 1
jmp 0x79cab4
cmp edx, 0xffff
jle 0x79d979
mov ecx, dword [esp + 0x64]
lea edx, [ebx + 1]
mov edi, dword [ecx + 0x214]
mov byte [edi], dl
mov edx, dword [ecx + 0x214]
add edx, 1
cmp dword [ecx + 8], 0
mov dword [ecx + 0x214], edx
jmp 0x79d91e
mov byte [edx], 0
mov ebx, dword [esp + 0x64]
mov ecx, dword [esp + 0x64]
mov esi, dword [ecx + 0x214]
mov eax, dword [ebx + 8]
add esi, 1
sub eax, 1
mov edx, esi
mov dword [ebx + 0x214], esi
mov dword [ebx + 8], eax
test eax, eax
jne 0x79d8f7
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0x64]
mov edx, dword [eax]
movzx edi, dh
mov ebx, edi
jmp 0x79d338
mov ebx, edx
sar ebx, 8
mov dword [ebp + 0xc], ebx
jmp 0x79cfc5
mov ebx, edx
sar ebx, 8
mov dword [esp + 0x42c], ebx
jmp 0x79c9a2
mov ebx, edx
mov esi, dword [esp + 0x64]
sar ebx, 8
mov dword [esi + 0xc], ebx
jmp 0x79d33e
add dword [ebp + 8], 1
jmp 0x79cfc5
add dword [esp + 0x428], 1
jmp 0x79c9a2
mov esi, dword [esp + 0x64]
add dword [esi + 8], 1
jmp 0x79d33e
shl dword [esp + 0x5c], 5
mov esi, dword [esp + 0x5c]
lea edx, [esp + esi + 0x1740]
jmp 0x79cc2d
shl dword [esp + 0x60], 5
mov eax, dword [esp + 0x60]
lea edx, [esp + eax + 0x1740]
jmp 0x79cbe9
shl dword [esp + 0xdc], 5
mov ecx, dword [esp + 0xd4]
lea eax, [esp + 0x420]
mov ebx, dword [esp + 0xdc]
mov dword [esp + 4], 0
mov dword [esp], ecx
lea edx, [esp + ebx + 0x1b40]
call fcn.00797468
mov eax, dword [esi + 0x30a8]
sub eax, 1
jne 0x79cafc
mov ebx, dword [esp + 0x118]
mov edx, dword [esp + 0x11c]
mov esi, dword [esp + 0x108]
movsx ebp, word [ebx]
movsx ecx, word [edx]
movsx eax, word [esi]
mov edi, ebp
cmp ecx, ebp
cmovg edi, ecx
cmovg ecx, ebp
cmp ecx, eax
cmovl ecx, eax
cmp edi, ecx
cmovg edi, ecx
mov dword [esp + 0xf8], edi
movsx eax, word [ebx + 2]
mov edi, dword [esp + 0x11c]
movsx edx, word [esi + 2]
movsx ebp, word [edi + 2]
mov ebx, eax
cmp ebp, eax
cmovg ebx, ebp
cmovg ebp, eax
cmp ebp, edx
cmovl ebp, edx
cmp ebx, ebp
cmovg ebx, ebp
jmp 0x79cbca
mov edi, dword [esp + 0x154]
mov ebx, dword [esp + 0xe0]
mov esi, dword [edi + 0x20d480]
add dword [ebx + 0x138], esi
jmp 0x79d26f
mov ecx, dword [esp + 0x134]
mov edi, dword [esp + 0x14c]
lea esi, [esp + 0x2b40]
mov dword [esp + 8], ecx
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.00a5b5c0
lea edx, [esp + 0x420]
mov ebp, dword [esp + 0x64]
mov dword [esp + 4], edx
mov dword [esp], ebp
mov dword [esp + 8], 0x21c
call fcn.00a5b5c0
mov eax, edi
mov ecx, dword [esp + 0x154]
add eax, dword [esp + 0x134]
mov ebx, dword [esp + 0x148]
mov edx, dword [ecx + 0x3128]
mov dword [ecx + 0x214], ebx
mov dword [ecx + 0x218], eax
mov ecx, dword [ecx + 0x3130]
shl edx, cl
mov ebp, dword [esp + 0x2f64]
sub ecx, dword [esp + 0x150]
imul ebp, edx
movzx ebx, byte [esp + 0x100]
mov dword [esp + 0x90], edx
mov dword [esp + 0x2f64], ebp
add ebp, dword [esp + 0x2f60]
mov byte [esp + 0x176], bl
shl ebp, cl
xor ebx, ebx
movzx eax, byte [esp + 0xfc]
mov dword [esp + 0x8c], ebp
mov ebp, 1
mov edi, dword [esp + 0xf4]
shl ebp, cl
movzx ecx, byte [esp + 0x104]
mov esi, dword [esp + 0xf0]
mov byte [esp + 0x175], cl
movzx edx, byte [esp + 0xd4]
movzx ecx, byte [esp + 0x150]
cmp ebx, ebp
mov byte [esp + 0x177], al
mov word [esp + 0x170], di
mov word [esp + 0x172], si
mov byte [esp + 0x174], dl
mov byte [esp + 0x178], 0
mov byte [esp + 0x179], cl
jge 0x79dbf7
xor esi, esi
xor edi, edi
cmp edi, ebp
jge 0x79dbe9
mov ecx, dword [esp + 0x8c]
lea edx, [esi + ecx]
lea eax, [edx + edx*4]
lea ecx, [eax + eax]
mov eax, dword [esp + 0x154]
add edi, 1
mov edx, dword [eax + 0x20b9c8]
mov eax, dword [esp + 0x170]
mov dword [ecx + edx], eax
mov eax, dword [esp + 0x174]
mov dword [ecx + edx + 4], eax
mov eax, dword [esp + 0x178]
mov word [ecx + edx + 8], ax
add ecx, 0xa
cmp edi, ebp
jl 0x79dbb1
add ebx, 1
add esi, dword [esp + 0x90]
cmp ebx, ebp
jl 0x79db9b
mov edi, dword [esp + 0x84]
lea ebx, [esp + 0x16c0]
mov dword [esp + 8], 0x1080
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.00a5b5c0
mov ecx, dword [esp + 0x54]
jmp 0x79c0ab
cmp ebx, 0xfff
ja 0x79de11
mov ecx, ebx
shr ecx, 4
movzx eax, byte [ecx + 0xd692e0]
shr al, 2
movzx edx, al
mov eax, edx
imul eax, edx
cmp eax, ebx
seta bl
movzx ecx, bl
mov ebx, edx
sub ebx, ecx
jmp 0x79d247
mov dword [esp + 8], 0x70a
mov dword [esp + 4], 0xcbaea0
mov dword [esp], 0xcbaf11
call fcn.00a5b730
mov esi, dword [esp + 0x118]
mov edi, dword [esp + 0x11c]
mov ebx, dword [esp + 0x108]
movsx eax, word [esi]
movsx ecx, word [edi]
movsx edx, word [ebx]
mov esi, eax
cmp ecx, eax
cmovg esi, ecx
cmovg ecx, eax
cmp ecx, edx
cmovl ecx, edx
cmp esi, ecx
cmovg esi, ecx
mov ecx, dword [esp + 0x118]
movsx eax, word [ecx + 2]
mov dword [esp + 0x4c], esi
movsx edx, word [ebx + 2]
movsx esi, word [edi + 2]
mov ebx, eax
cmp esi, eax
cmovg ebx, esi
cmovg esi, eax
cmp esi, edx
cmovl esi, edx
cmp ebx, esi
cmovg ebx, esi
jmp 0x79d51f
cmp esi, 0xfff
ja 0x79ddf6
mov edx, esi
shr edx, 4
movzx eax, byte [edx + 0xd692e0]
shr al, 2
movzx edx, al
mov eax, edx
imul eax, edx
cmp eax, esi
seta cl
movzx esi, cl
sub edx, esi
mov eax, edx
jmp 0x79d260
mov dword [esp + 8], 0x732
mov dword [esp + 4], 0xcbaea0
mov dword [esp], 0xcbaf26
call fcn.00a5b730
mov dword [esp + 8], 0x733
mov dword [esp + 4], 0xcbaea0
mov dword [esp], 0xcbaf38
call fcn.00a5b730
mov dword [esp + 8], 0x734
mov dword [esp + 4], 0xcbaea0
mov dword [esp], 0xcbaf4a
call fcn.00a5b730
mov dword [esp + 8], 0x735
mov dword [esp + 4], 0xcbaea0
mov dword [esp], 0xcbaf5c
call fcn.00a5b730
cmp esi, 0x3fff
ja 0x79de2c
mov edi, esi
shr edi, 6
movzx eax, byte [edi + 0xd692e0]
shr al, 1
jmp 0x79dd6d
cmp ebx, 0x3fff
ja 0x79de45
mov eax, ebx
shr eax, 6
movzx eax, byte [eax + 0xd692e0]
shr al, 1
jmp 0x79dc3d
cmp esi, 0xffff
ja 0x79de5e
mov ecx, esi
shr ecx, 8
movzx edx, byte [ecx + 0xd692e0]
jmp 0x79dd70
cmp ebx, 0xffff
ja 0x79deb7
mov edi, ebx
shr edi, 8
movzx edx, byte [edi + 0xd692e0]
jmp 0x79dc40
mov eax, esi
xor edx, edx
shr eax, 0x10
test ax, 0xff00
je 0x79de72
mov eax, esi
mov dl, 8
shr eax, 0x18
movzx edi, byte [eax + 0xd691e0]
add edx, edi
sar edx, 1
mov eax, edx
mov dword [esp + 0x3c], edx
mov edx, esi
add eax, 2
mov ecx, eax
mov eax, dword [esp + 0x3c]
shr edx, cl
add eax, 8
mov ecx, eax
mov edi, edx
mov eax, edx
shr edi, cl
movzx edi, byte [edi + 0xd692e0]
mul dword [edi*4 + 0xc95fe0]
movzx ecx, byte [esp + 0x3c]
shl edi, cl
add edx, edi
jmp 0x79dd70
mov eax, ebx
xor edx, edx
shr eax, 0x10
test ax, 0xff00
je 0x79decb
mov eax, ebx
mov dl, 8
shr eax, 0x18
movzx edi, byte [eax + 0xd691e0]
add edx, edi
sar edx, 1
mov eax, edx
mov dword [esp + 0x3c], edx
mov edx, ebx
add eax, 2
mov ecx, eax
mov eax, dword [esp + 0x3c]
shr edx, cl
add eax, 8
mov ecx, eax
mov edi, edx
mov eax, edx
shr edi, cl
movzx edi, byte [edi + 0xd692e0]
mul dword [edi*4 + 0xc95fe0]
movzx ecx, byte [esp + 0x3c]
shl edi, cl
add edx, edi
jmp 0x79dc40
mov dword [esp + 8], 0x70b
mov dword [esp + 4], 0xcbaea0
mov dword [esp], 0xcbaf6e
call fcn.00a5b730
mov dword [esp + 8], 0x778
mov dword [esp + 4], 0xcbaea0
mov dword [esp], 0xcbaf86
call fcn.00a5b730
mov dword [esp + 8], 0x775
mov dword [esp + 4], 0xcbaea0
mov dword [esp], 0xcbaf98
call fcn.00a5b730
mov dword [esp + 8], 0x777
mov dword [esp + 4], 0xcbaea0
mov dword [esp], 0xcbafbd
call fcn.00a5b730
mov dword [esp + 8], 0x776
mov dword [esp + 4], 0xcbaea0
mov dword [esp], case.0x79c2b4.0
call fcn.00a5b730