Function at 0x677170
Capabilities:
Enumerate pe sections

Disassembly:
push edi
lea edi, [esp + 8]
and esp, 0xfffffff0
push dword [edi - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x36c
mov ecx, dword [edi]
mov dword [ebp - 0x2e0], edi
cmp byte [0x90251c], 0
mov ebx, dword [edi + 8]
mov dword [ebp - 0x2dc], ecx
je 0x6771f0
mov esi, dword [ebx + 0x4d8]
test esi, esi
je 0x6771f0
mov eax, dword [ebx + 0x4d4]
mov dword [ebp - 0x2dc], eax
mov dword [esp], 0x813f62
call fcn.007101e8
mov dword [esp + 0xc], 0
mov ecx, esi
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.004e6df0
sub esp, 0x10
mov esi, eax
jmp 0x67721f
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 0
mov ecx, dword [ebp - 0x2dc]
call fcn.004dbf50
sub esp, 0x10
mov esi, eax
mov dword [esp], ebx
call fcn.0064e0d0
mov eax, dword [ebx + 0x1c]
xor ax, ax
or eax, 0x50
mov dword [ebx + 0x63c], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.0064de00
mov edi, eax
test eax, eax
js 0x677348
mov dword [esp + 4], 1
mov eax, dword [ebx + 0x60]
mov dword [esp], eax
call fcn.00723880
mov edi, eax
test eax, eax
je 0x67743b
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 1
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp], ebx
call fcn.0064e160
test eax, eax
js 0x677378
cmp byte [edi + 0x1fe], 0x55
jne 0x6772b7
cmp byte [edi + 0x1ff], 0xaa
je 0x677470
mov dword [esp + 4], 0
mov ecx, esi
mov dword [esp], 1
call fcn.004e6b70
sub esp, 8
mov ecx, eax
mov dword [esp + 4], 0
mov dword [esp], 0xf
call fcn.004d9f50
sub esp, 8
mov esi, eax
mov dword [esp], 0x813fd0
call fcn.007101e8
mov dword [esp + 8], 0
mov ecx, esi
xor esi, esi
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.004d3600
mov dword [ebp - 0x2e4], 0
sub esp, 0xc
mov eax, dword [0x900414]
test eax, eax
jg 0x6773a8
mov eax, dword [ebp - 0x2e0]
mov dword [eax], ebx
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
jmp fcn.0064e0d0
mov dword [esp], 0x813f74
call fcn.007101e8
mov edx, dword [ebp - 0x2e0]
mov dword [edx + 8], eax
mov dword [edx + 4], edi
mov dword [edx], esi
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
jmp fcn.006479b0
mov dword [ebp - 0x2dc], eax
mov dword [esp], 0x813fb4
call fcn.007101e8
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x2dc]
mov dword [esp], esi
mov dword [esp + 4], edx
call fcn.006479b0
jmp 0x677329
mov dword [esp], 0x814119
call fcn.007101e8
mov edx, dword [ebx + 0x28]
test edx, edx
je 0x6773be
mov edx, dword [edx + 0x50]
mov dword [esp], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 3
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0x2dc]
call fcn.004e7600
mov ecx, dword [ebp - 0x2e4]
sub esp, 0x14
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0xf
mov edx, dword [ebx + 0x60]
mov dword [esp + 8], edx
test ecx, ecx
je 0x677460
mov edx, esi
test dl, dl
je 0x677460
mov dword [esp + 4], ecx
mov dword [esp], ecx
mov dword [ebp - 0x2dc], eax
mov ecx, eax
call fcn.004e72d0
mov eax, dword [ebp - 0x2dc]
sub esp, 0x14
mov dword [eax + 4], 4
jmp 0x677329
mov dword [esp], 0x813f98
call fcn.007101e8
mov dword [esp + 4], 0xfffffff4
mov dword [esp + 8], eax
mov dword [esp], esi
call fcn.006479b0
jmp 0x677329
mov dword [esp + 4], edi
mov dword [esp], edi
jmp 0x677419
mov edx, dword [ebx + 0x60]
mov dword [esp + 4], 1
mov dword [esp], edx
mov dword [ebp - 0x2f0], edx
call fcn.00723880
mov dword [ebp - 0x2e4], eax
test eax, eax
je 0x6772b7
mov eax, dword [ebx + 0x64]
mov edx, dword [ebp - 0x2f0]
mov dword [ebp - 0x2e8], eax
cmp edx, eax
je 0x677c41
jg 0x677c20
xor edx, edx
mov eax, dword [ebp - 0x2e4]
xor ecx, ecx
mov dword [ebp - 0x2e8], edx
lea esi, [esi]
cmp byte [eax], 0x45
jne 0x6774de
mov eax, dword [ebp - 0x2e4]
cmp byte [eax + ecx + 1], 0x46
je 0x677cd7
mov dword [esp + 4], 0
mov ecx, esi
mov dword [esp], 8
call fcn.004e6b70
sub esp, 8
mov dword [ebp - 0x300], eax
mov ecx, eax
mov dword [esp + 4], 0
mov dword [esp], 0xf
call fcn.004d9f50
sub esp, 8
mov byte [eax + 0xbc], 1
mov esi, eax
mov dword [esp + 8], 0x6c1
mov dword [esp + 4], 0x813ff4
mov dword [esp], 0
call fcn.007101f0
mov edx, 0x813f43
mov dword [esp + 8], 0
mov ecx, esi
cmp eax, 0x813ff4
mov dword [esp + 4], 1
cmove eax, edx
mov dword [esp], eax
call fcn.004d3600
sub esp, 0xc
mov dword [esp + 8], 0x6c1
mov dword [esp + 4], 0x8140bb
mov dword [esp], 0
call fcn.007101f0
mov edx, 0x811ce5
mov dword [esp + 8], 0
mov ecx, esi
cmp eax, 0x8140bb
mov dword [esp + 4], 1
cmove eax, edx
mov dword [esp], eax
call fcn.004d3600
sub esp, 0xc
mov dword [esp + 8], 0x6c1
mov dword [esp + 4], 0x8140d5
mov dword [esp], 0
call fcn.007101f0
mov edx, 0x813f4b
mov dword [esp + 8], 0
mov ecx, esi
cmp eax, 0x8140d5
mov dword [esp + 4], 0
cmove eax, edx
mov dword [esp], eax
call fcn.004d3600
sub esp, 0xc
mov dword [esp + 8], 0x6c1
mov dword [esp + 4], 0x8140df
mov dword [esp], 0
call fcn.007101f0
mov edx, 0x813f50
mov dword [esp + 8], 0
mov ecx, esi
cmp eax, 0x8140df
mov dword [esp + 4], 2
cmove eax, edx
mov dword [esp], eax
call fcn.004d3600
sub esp, 0xc
mov dword [esp], 0x8140f1
call fcn.007101e8
mov dword [esp + 8], 0
mov ecx, esi
mov dword [esp + 4], 2
mov dword [esp], eax
call fcn.004d3600
sub esp, 0xc
mov dword [eax + 4], 0xe
mov dword [esp], 0x8140fd
call fcn.007101e8
mov dword [esp + 8], 0
mov ecx, esi
mov dword [esp + 4], 2
mov dword [esp], eax
call fcn.004d3600
sub esp, 0xc
mov dword [eax + 4], 0xe
mov dword [esp], 0x81403a
call fcn.007101e8
mov dword [esp + 8], 0
mov ecx, esi
mov dword [esp + 4], 2
mov dword [esp], eax
call fcn.004d3600
sub esp, 0xc
mov dword [esp + 8], 0x6c1
mov dword [esp + 4], 0x814107
mov dword [esp], 0
call fcn.007101f0
mov edx, 0x813f5d
mov dword [esp + 8], 0
mov ecx, esi
cmp eax, 0x814107
mov dword [esp + 4], 2
cmove eax, edx
xor esi, esi
mov dword [esp], eax
call fcn.004d3600
lea eax, [edi + 0x1be]
mov dword [ebp - 0x308], edi
mov dword [ebp - 0x2f4], ebx
sub esp, 0xc
mov edi, eax
mov ebx, esi
movzx eax, byte [edi + 0xd]
movzx ecx, byte [edi + 0xe]
add ebx, 1
shl ecx, 0x10
shl eax, 8
add eax, ecx
movzx ecx, byte [edi + 0xc]
add eax, ecx
movzx ecx, byte [edi + 0xf]
shl ecx, 0x18
add ecx, eax
mov dword [ebp - 0x2e8], ecx
jne 0x677768
add edi, 0x10
cmp ebx, 4
jne 0x67771e
mov edi, dword [ebp - 0x308]
mov ebx, dword [ebp - 0x2f4]
xor esi, esi
jmp 0x677320
mov dword [esp + 4], 0
mov dword [esp], 0xf
mov ecx, dword [ebp - 0x300]
call fcn.004d9f50
sub esp, 8
mov dword [ebp - 0x2f0], eax
mov esi, eax
mov byte [eax + 0xbc], 0
lea eax, [ebp - 0x158]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00502a70
mov dword [esp + 8], 0
mov ecx, esi
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.004d3600
sub esp, 0xc
cmp byte [edi], 0x80
je 0x677c35
mov dword [esp], 0x8140ad
call fcn.007101e8
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], eax
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
movzx eax, byte [edi + 9]
movzx ecx, byte [edi + 0xa]
mov byte [ebp - 0x158], 0
movzx esi, byte [edi + 4]
sub esp, 0xc
shl ecx, 0x10
shl eax, 8
add eax, ecx
movzx ecx, byte [edi + 8]
add eax, ecx
movzx ecx, byte [edi + 0xb]
shl ecx, 0x18
add eax, ecx
mov dword [ebp - 0x2f8], eax
mov eax, esi
and eax, 0xffffffef
cmp al, 7
jne 0x677c10
mov dword [esp + 4], 1
mov ecx, dword [ebp - 0x2f4]
mov eax, dword [ecx + 0x60]
mov dword [esp], eax
call fcn.00723880
test eax, eax
je 0x677c10
mov dword [esp + 0x10], eax
mov dword [ebp - 0x310], eax
mov dword [esp + 0xc], 1
mov eax, dword [ebp - 0x2f8]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0x2f4]
mov dword [esp], ecx
call fcn.0064e160
mov edx, dword [ebp - 0x310]
test eax, eax
js 0x6778bd
movzx eax, byte [edx + 3]
cmp al, 0x4e
je 0x678540
cmp al, 0x48
jne 0x6778bd
cmp byte [edx + 4], 0x50
je 0x678578
movzx eax, byte [edi + 4]
mov dword [esp], eax
call fcn.00674280
mov dword [esp + 4], eax
lea eax, [ebp - 0x158]
mov dword [esp], eax
call fcn.00723a00
lea eax, [ebp - 0x158]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
mov esi, dword [ebp - 0x2f0]
mov ecx, esi
call fcn.004d3600
lea eax, [ebp - 0x158]
sub esp, 0xc
mov dword [esp + 0xc], 1
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2f8]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00502d20
mov dword [esp + 8], 0
mov ecx, esi
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0x2f0], esi
lea esi, [ebp - 0x98]
call fcn.004d3600
pxor xmm0, xmm0
lea eax, [ebp - 0xd8]
sub esp, 0xc
movups xmmword [ebp - 0x118], xmm0
movups xmmword [ebp - 0x108], xmm0
movups xmmword [ebp - 0xf8], xmm0
movups xmmword [ebp - 0xe8], xmm0
movups xmmword [ebp - 0xd8], xmm0
movups xmmword [ebp - 0xc8], xmm0
movups xmmword [ebp - 0xb8], xmm0
movups xmmword [ebp - 0xa8], xmm0
movups xmmword [ebp - 0x98], xmm0
movups xmmword [ebp - 0x88], xmm0
movups xmmword [ebp - 0x78], xmm0
movups xmmword [ebp - 0x68], xmm0
movups xmmword [ebp - 0x58], xmm0
movups xmmword [ebp - 0x48], xmm0
movups xmmword [ebp - 0x38], xmm0
movups xmmword [ebp - 0x28], xmm0
mov dword [esp + 0xc], 1
mov dword [esp + 8], eax
movzx eax, byte [edi + 2]
movzx ecx, byte [edi + 3]
shr al, 6
movzx eax, al
shl eax, 8
or eax, ecx
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.00502d20
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
movzx eax, byte [edi + 1]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00502d20
lea eax, [ebp - 0x58]
mov dword [esp + 0xc], 1
mov dword [esp + 8], eax
xor eax, eax
cmp byte [edi + 2], 0
setne al
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00502d20
lea eax, [ebp - 0x58]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], eax
lea eax, [ebp - 0xd8]
mov dword [esp + 8], eax
lea eax, [ebp - 0x118]
mov dword [esp + 4], 0x814111
mov dword [esp], eax
call fcn.00723cb0
lea eax, [ebp - 0x118]
mov dword [esp + 8], 0
mov dword [esp + 4], 2
mov dword [esp], eax
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
sub esp, 0xc
mov dword [eax + 4], 0xe
lea eax, [ebp - 0xd8]
mov byte [ebp - 0x118], 0
mov byte [ebp - 0xd8], 0
mov byte [ebp - 0x98], 0
mov byte [ebp - 0x58], 0
mov dword [esp + 0xc], 1
mov dword [esp + 8], eax
movzx eax, byte [edi + 6]
movzx ecx, byte [edi + 7]
shr al, 6
movzx eax, al
shl eax, 8
or eax, ecx
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.00502d20
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
movzx eax, byte [edi + 5]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00502d20
lea eax, [ebp - 0x58]
mov dword [esp + 0xc], 1
mov dword [esp + 8], eax
xor eax, eax
cmp byte [edi + 6], 0
setne al
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00502d20
lea eax, [ebp - 0x58]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], eax
lea eax, [ebp - 0xd8]
mov dword [esp + 8], eax
lea eax, [ebp - 0x118]
mov dword [esp + 4], 0x814111
mov dword [esp], eax
call fcn.00723cb0
lea eax, [ebp - 0x118]
mov dword [esp + 8], 0
mov dword [esp + 4], 2
mov dword [esp], eax
mov esi, dword [ebp - 0x2f0]
mov ecx, esi
call fcn.004d3600
sub esp, 0xc
mov dword [eax + 4], 0xe
lea eax, [ebp - 0x158]
mov dword [esp + 0xc], 1
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2e8]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00502d20
mov dword [esp + 8], 0
mov ecx, esi
mov dword [esp + 4], 2
mov dword [esp], eax
call fcn.004d3600
lea ecx, [ebp - 0x158]
sub esp, 0xc
mov dword [esp + 8], ecx
mov ecx, dword [ebp - 0x2f4]
mov eax, dword [ebp - 0x2e8]
imul eax, dword [ecx + 0x60]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00502fd0
mov dword [esp + 8], 0
mov ecx, esi
mov dword [esp + 4], 2
mov dword [esp], eax
call fcn.004d3600
sub esp, 0xc
jmp 0x677748
mov eax, esi
movzx esi, al
mov dword [esp], esi
jmp 0x6778c4
mov eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x2e4], edi
mov ecx, eax
add eax, edi
jmp 0x6774c8
mov dword [esp], 0x8140a9
jmp 0x6777e3
mov eax, dword [ebp - 0x2e4]
mov dword [esp + 0xc], 1
mov dword [esp + 4], 1
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0
mov dword [esp], ebx
call fcn.0064e160
test eax, eax
jns 0x6774b4
mov dword [esp + 4], 0
mov ecx, esi
mov dword [esp], 1
call fcn.004e6b70
sub esp, 8
mov ecx, eax
mov dword [esp + 4], 0
mov dword [esp], 0xf
call fcn.004d9f50
sub esp, 8
mov esi, eax
mov dword [esp], 0x813fd0
call fcn.007101e8
mov dword [esp + 8], 0
mov ecx, esi
xor esi, esi
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.004d3600
sub esp, 0xc
jmp 0x677320
cmp byte [eax + ecx + 2], 0x49
jne 0x6774de
cmp byte [eax + ecx + 3], 0x20
jne 0x6774de
cmp byte [eax + ecx + 4], 0x50
jne 0x6774de
cmp byte [eax + ecx + 5], 0x41
jne 0x6774de
cmp byte [eax + ecx + 6], 0x52
jne 0x6774de
cmp byte [eax + ecx + 7], 0x54
jne 0x6774de
movzx eax, byte [eax + ecx + 0x49]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x2ec], edx
xor edx, edx
movzx eax, byte [eax + ecx + 0x4a]
shld edx, eax, 0x10
shl eax, 0x10
add eax, dword [ebp - 0x2f0]
adc edx, dword [ebp - 0x2ec]
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x2ec], edx
xor edx, edx
movzx eax, byte [eax + ecx + 0x48]
add eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2e4]
adc edx, dword [ebp - 0x2ec]
movzx eax, byte [eax + ecx + 0x4b]
mov dword [ebp - 0x2ec], edx
xor edx, edx
shld edx, eax, 0x18
shl eax, 0x18
add eax, dword [ebp - 0x2f0]
adc edx, dword [ebp - 0x2ec]
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x2ec], edx
movzx eax, byte [eax + ecx + 0x4c]
mov edx, eax
mov eax, 0
add eax, dword [ebp - 0x2f0]
adc edx, dword [ebp - 0x2ec]
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x2ec], edx
movzx eax, byte [eax + ecx + 0x4d]
mov edx, eax
mov eax, 0
shl edx, 8
add eax, dword [ebp - 0x2f0]
adc edx, dword [ebp - 0x2ec]
mov dword [ebp - 0x2ec], edx
mov edx, dword [ebp - 0x2e4]
mov dword [ebp - 0x2f0], eax
movzx eax, byte [edx + ecx + 0x4e]
mov edx, eax
mov eax, 0
shl edx, 0x10
add eax, dword [ebp - 0x2f0]
adc edx, dword [ebp - 0x2ec]
mov dword [ebp - 0x2ec], edx
mov edx, dword [ebp - 0x2e4]
mov dword [ebp - 0x2f0], eax
movzx eax, byte [edx + ecx + 0x4f]
mov edx, eax
mov eax, 0
shl edx, 0x18
add eax, dword [ebp - 0x2f0]
adc edx, dword [ebp - 0x2ec]
mov dword [ebp - 0x30c], edx
mov edx, dword [ebp - 0x2e4]
mov dword [ebp - 0x310], eax
movzx eax, byte [edx + ecx + 0x28]
mov byte [ebp - 0x2f0], al
movzx eax, byte [edx + ecx + 0x29]
mov byte [ebp - 0x2f4], al
movzx eax, byte [edx + ecx + 0x2a]
mov byte [ebp - 0x300], al
movzx eax, byte [edx + ecx + 0x2b]
mov byte [ebp - 0x308], al
movzx eax, byte [edx + ecx + 0x2c]
mov byte [ebp - 0x318], al
movzx eax, byte [edx + ecx + 0x2d]
mov byte [ebp - 0x31c], al
movzx eax, byte [edx + ecx + 0x2e]
mov byte [ebp - 0x328], al
movzx eax, byte [edx + ecx + 0x2f]
mov ecx, esi
mov byte [ebp - 0x32c], al
xor eax, eax
mov dword [esp + 4], eax
mov dword [esp], 0xe
call fcn.004e6b70
xor ecx, ecx
push edx
push edx
mov dword [ebp - 0x320], eax
mov dword [esp + 4], ecx
mov ecx, eax
mov dword [esp], 0xf
call fcn.004d9f50
push esi
push esi
mov esi, eax
mov byte [eax + 0xbc], 1
xor eax, eax
mov dword [esp + 8], 0x6c1
mov dword [esp + 4], 0x813ff4
mov dword [esp], eax
call fcn.007101f0
cmp eax, 0x813ff4
je 0x6785d5
xor edx, edx
mov dword [esp + 4], 1
mov ecx, esi
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.004d3600
sub esp, 0xc
mov dword [esp], 0x814002
call fcn.007101e8
xor ecx, ecx
mov dword [esp + 4], 2
mov dword [esp + 8], ecx
mov ecx, esi
mov dword [esp], eax
call fcn.004d3600
sub esp, 0xc
test byte [0x901e98], 0x10
jne 0x6785a2
mov dword [esp], 0x814027
call fcn.007101e8
xor edx, edx
mov dword [esp + 4], 2
mov ecx, esi
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.004d3600
sub esp, 0xc
mov dword [eax + 4], 0xe
mov dword [esp], 0x814031
call fcn.007101e8
xor ecx, ecx
mov dword [esp + 4], 2
mov dword [esp + 8], ecx
mov ecx, esi
mov dword [esp], eax
call fcn.004d3600
sub esp, 0xc
mov dword [eax + 4], 4
mov dword [esp], 0x81403a
call fcn.007101e8
xor edx, edx
mov dword [esp + 4], 2
mov ecx, esi
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.004d3600
sub esp, 0xc
mov dword [eax + 4], 0xe
mov dword [esp], 0x81404c
call fcn.007101e8
xor ecx, ecx
mov dword [esp + 4], 2
mov dword [esp + 8], ecx
mov ecx, esi
mov dword [esp], eax
call fcn.004d3600
sub esp, 0xc
mov dword [esp], 0x811d1e
call fcn.007101e8
xor edx, edx
mov dword [esp + 4], 1
mov ecx, esi
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.004d3600
sub esp, 0xc
mov dword [esp], 0x811ce5
call fcn.007101e8
xor ecx, ecx
mov dword [esp + 4], 1
mov dword [esp + 8], ecx
mov ecx, esi
mov dword [esp], eax
call fcn.004d3600
sub esp, 0xc
mov dword [esp], 0x81405b
call fcn.007101e8
xor edx, edx
mov dword [esp + 4], 1
mov ecx, esi
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.004d3600
sub esp, 0xc
mov dword [eax + 4], 0xe
mov dword [esp], 0x814065
call fcn.007101e8
xor ecx, ecx
mov dword [esp + 4], 1
mov dword [esp + 8], ecx
mov ecx, esi
mov dword [esp], eax
call fcn.004d3600
sub esp, 0xc
mov dword [eax + 4], 0xe
mov dword [esp], 0x81406c
call fcn.007101e8
xor edx, edx
mov dword [esp + 4], 1
mov ecx, esi
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.004d3600
sub esp, 0xc
mov dword [eax + 4], 0xe
mov dword [esp], 0x81407b
call fcn.007101e8
xor ecx, ecx
mov dword [esp + 4], 1
mov dword [esp + 8], ecx
mov ecx, esi
mov dword [esp], eax
call fcn.004d3600
sub esp, 0xc
mov dword [eax + 4], 0xe
mov dword [esp], 0x814086
call fcn.007101e8
xor edx, edx
mov dword [esp + 4], 2
mov ecx, esi
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.004d3600
mov esi, dword [ebx + 0x60]
sub esp, 0xc
mov dword [esp + 4], 1
mov dword [esp], esi
call fcn.00723880
mov dword [ebp - 0x2f8], eax
test eax, eax
je 0x6785eb
mov eax, dword [ebx + 0x64]
cmp esi, eax
jle 0x678189
mov esi, dword [ebp - 0x310]
mov dword [ebp - 0x2f8], edi
imul eax, esi
mov dword [ebp - 0x2e8], eax
movzx eax, byte [ebp - 0x328]
mov edx, eax
mov eax, 0
mov dword [ebp - 0x328], eax
movzx eax, byte [ebp - 0x32c]
shl edx, 0x10
mov dword [ebp - 0x324], edx
mov edx, eax
mov eax, 0
shl edx, 0x18
add eax, dword [ebp - 0x328]
adc edx, dword [ebp - 0x324]
mov dword [ebp - 0x328], eax
movzx eax, byte [ebp - 0x2f0]
mov dword [ebp - 0x324], edx
xor edx, edx
add eax, dword [ebp - 0x328]
mov dword [ebp - 0x2f0], eax
movzx eax, byte [ebp - 0x31c]
adc edx, dword [ebp - 0x324]
mov dword [ebp - 0x2ec], edx
mov edx, eax
mov eax, 0
shl edx, 8
add eax, dword [ebp - 0x2f0]
adc edx, dword [ebp - 0x2ec]
mov dword [ebp - 0x2f0], eax
movzx eax, byte [ebp - 0x318]
mov dword [ebp - 0x2ec], edx
mov edx, eax
xor eax, eax
add eax, dword [ebp - 0x2f0]
adc edx, dword [ebp - 0x2ec]
mov dword [ebp - 0x2f0], eax
movzx eax, byte [ebp - 0x308]
mov dword [ebp - 0x2ec], edx
xor edx, edx
shld edx, eax, 0x18
shl eax, 0x18
add eax, dword [ebp - 0x2f0]
adc edx, dword [ebp - 0x2ec]
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x2ec], edx
movzx eax, byte [ebp - 0x300]
xor edx, edx
mov esi, dword [ebp - 0x2e8]
mov dword [ebp - 0x34c], edi
shld edx, eax, 0x10
shl eax, 0x10
add eax, dword [ebp - 0x2f0]
adc edx, dword [ebp - 0x2ec]
mov dword [ebp - 0x2f0], eax
movzx eax, byte [ebp - 0x2f4]
mov dword [ebp - 0x2ec], edx
xor edx, edx
shld edx, eax, 8
shl eax, 8
add eax, dword [ebp - 0x2f0]
adc edx, dword [ebp - 0x2ec]
mov dword [ebp - 0x338], eax
mov eax, dword [ebp - 0x310]
mov dword [ebp - 0x334], edx
mov dword [ebp - 0x300], eax
sar eax, 0x1f
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x2f4], ebx
lea ecx, [eax + esi]
xor eax, eax
mov dword [ebp - 0x348], esi
mov dword [ebp - 0x2e8], eax
mov eax, esi
mov ebx, ecx
cdq
mov dword [ebp - 0x344], edx
jmp 0x6783f4
jle 0x6783e3
mov edi, ecx
mov eax, dword [ebp - 0x300]
mov edx, dword [ebp - 0x2fc]
sar edi, 0x1f
sub eax, dword [ebp - 0x310]
sbb edx, dword [ebp - 0x30c]
shld edx, eax, 7
shl eax, 7
add eax, dword [ebp - 0x348]
adc edx, dword [ebp - 0x344]
cmp eax, ecx
mov eax, edx
sbb eax, edi
jae 0x6783e3
cmp byte [ebx], 0
jne 0x6785f5
cmp byte [ebx + 1], 0
jne 0x6785f5
cmp byte [ebx + 2], 0
jne 0x6785f5
cmp byte [ebx + 3], 0
jne 0x6785f5
cmp byte [ebx + 4], 0
jne 0x6785f5
cmp byte [ebx + 5], 0
jne 0x6785f5
cmp byte [ebx + 6], 0
jne 0x6785f5
cmp byte [ebx + 7], 0
jne 0x6785f5
cmp byte [ebx + 8], 0
jne 0x6785f5
cmp byte [ebx + 9], 0
jne 0x6785f5
cmp byte [ebx + 0xa], 0
jne 0x6785f5
cmp byte [ebx + 0xb], 0
jne 0x6785f5
cmp byte [ebx + 0xc], 0
jne 0x6785f5
cmp byte [ebx + 0xd], 0
jne 0x6785f5
cmp byte [ebx + 0xe], 0
jne 0x6785f5
cmp byte [ebx + 0xf], 0
jne 0x6785f5
add dword [ebp - 0x300], 1
adc dword [ebp - 0x2fc], 0
sub ebx, 0xffffff80
mov eax, dword [ebp - 0x300]
mov esi, dword [ebp - 0x338]
mov edx, dword [ebp - 0x2fc]
mov edi, dword [ebp - 0x334]
cmp eax, esi
mov eax, edx
sbb eax, edi
jae 0x6785df
mov eax, dword [ebp - 0x2f4]
mov ecx, dword [eax + 0x60]
cmp ecx, dword [eax + 0x64]
jne 0x678302
mov eax, dword [ebp - 0x2f8]
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x300]
mov edx, dword [ebp - 0x2fc]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [ebp - 0x2f4]
mov dword [esp], eax
call fcn.0064e160
test eax, eax
js 0x6783e3
mov esi, dword [ebp - 0x2f8]
mov dword [ebp - 0x33c], ebx
mov eax, esi
add esi, 0x200
mov dword [ebp - 0x330], esi
mov ebx, eax
cmp byte [ebx], 0
jne 0x679007
cmp byte [ebx + 1], 0
jne 0x679007
cmp byte [ebx + 2], 0
jne 0x679007
cmp byte [ebx + 3], 0
jne 0x679007
cmp byte [ebx + 4], 0
jne 0x679007
cmp byte [ebx + 5], 0
jne 0x679007
cmp byte [ebx + 6], 0
jne 0x679007
cmp byte [ebx + 7], 0
jne 0x679007
cmp byte [ebx + 8], 0
jne 0x679007
cmp byte [ebx + 9], 0
jne 0x679007
cmp byte [ebx + 0xa], 0
jne 0x679007
cmp byte [ebx + 0xb], 0
jne 0x679007
cmp byte [ebx + 0xc], 0
jne 0x679007
cmp byte [ebx + 0xd], 0
jne 0x679007
cmp byte [ebx + 0xe], 0
jne 0x679007
cmp byte [ebx + 0xf], 0
jne 0x679007
mov eax, dword [ebp - 0x330]
sub ebx, 0xffffff80
cmp ebx, eax
jne 0x67847e
mov ebx, dword [ebp - 0x33c]
jmp 0x6783e3
cmp byte [edx + 4], 0x54
jne 0x6778bd
cmp byte [edx + 5], 0x46
jne 0x6778bd
cmp byte [edx + 6], 0x53
jne 0x6778bd
mov dword [ebp - 0x158], 0x5346544e
mov byte [ebp - 0x154], 0
jmp 0x6778db
cmp byte [edx + 5], 0x46
jne 0x6778bd
cmp byte [edx + 6], 0x53
jne 0x6778bd
mov dword [ebp - 0x158], 0x53465048
mov byte [ebp - 0x154], 0
jmp 0x6778db
mov dword [esp], 0x814011
call fcn.007101e8
xor ecx, ecx
mov dword [esp + 4], 2
mov dword [esp + 8], ecx
mov ecx, esi
mov dword [esp], eax
call fcn.004d3600
mov dword [eax + 4], 4
sub esp, 0xc
jmp 0x677f6e
mov eax, 0x813f43
jmp 0x677f1f
mov edi, dword [ebp - 0x34c]
mov ebx, dword [ebp - 0x2f4]
mov esi, 1
jmp 0x677320
add dword [ebp - 0x2e8], 1
xor eax, eax
mov edi, dword [ebp - 0x2e8]
xor esi, esi
mov dword [esp + 4], eax
mov dword [esp], 0xf
mov ecx, dword [ebp - 0x320]
call fcn.004d9f50
xor ecx, ecx
push edx
push edx
mov dword [ebp - 0x2f0], eax
mov byte [eax + 0xbc], 0
lea eax, [ebp - 0x2d8]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ecx
mov dword [esp], edi
lea edi, [ebp - 0x288]
mov dword [esp + 4], eax
call fcn.00502a70
mov dword [esp + 8], esi
mov dword [esp + 4], 1
mov dword [esp], eax
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
xor eax, eax
pxor xmm0, xmm0
mov ecx, 0xc
movups xmmword [ebp - 0x298], xmm0
mov esi, dword [ebp - 0x2f0]
sub esp, 0xc
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x248]
mov ecx, 0xc
movups xmmword [ebp - 0x258], xmm0
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x208]
mov ecx, 0xc
movups xmmword [ebp - 0x218], xmm0
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x1c8]
mov ecx, 0xc
movups xmmword [ebp - 0x1d8], xmm0
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x188]
mov ecx, 0xc
movups xmmword [ebp - 0x198], xmm0
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x148]
mov ecx, 0xc
movups xmmword [ebp - 0x158], xmm0
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x258]
xor edi, edi
mov dword [ebp - 0x308], eax
movzx eax, byte [ebx + edi + 3]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
imul eax, edi, 0xfffffffe
mov ecx, dword [ebp - 0x308]
sub edi, 1
add eax, ecx
mov dword [esp], eax
call fcn.00723cb0
cmp edi, 0xfffffffc
jne 0x6786f6
movzx eax, byte [ebx + 5]
mov dword [ebp - 0x2f0], esi
lea edi, [ebp - 0x158]
mov esi, ebx
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
lea eax, [ebp - 0x218]
mov dword [ebp - 0x318], eax
mov dword [esp], eax
call fcn.00723cb0
movzx eax, byte [ebx + 4]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
lea eax, [ebp - 0x216]
mov dword [ebp - 0x330], eax
mov dword [esp], eax
call fcn.00723cb0
movzx eax, byte [ebx + 7]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
lea eax, [ebp - 0x1d8]
mov dword [ebp - 0x31c], eax
mov dword [esp], eax
call fcn.00723cb0
movzx eax, byte [ebx + 6]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
lea eax, [ebp - 0x1d6]
mov dword [ebp - 0x33c], eax
mov dword [esp], eax
call fcn.00723cb0
movzx eax, byte [ebx + 8]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
lea eax, [ebp - 0x198]
mov dword [ebp - 0x328], eax
mov dword [esp], eax
call fcn.00723cb0
movzx eax, byte [ebx + 9]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
lea eax, [ebp - 0x196]
mov dword [ebp - 0x340], eax
mov dword [esp], eax
call fcn.00723cb0
xor edx, edx
mov ebx, edx
movzx eax, byte [esi + ebx + 0xa]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
lea eax, [ebx + ebx]
add ebx, 1
add eax, edi
mov dword [esp], eax
call fcn.00723cb0
cmp ebx, 6
jne 0x67880c
mov dword [esp + 0x18], edi
mov eax, dword [ebp - 0x328]
mov ebx, esi
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x31c]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x318]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x308]
mov dword [esp + 4], 0x81409a
mov dword [esp + 8], eax
lea eax, [ebp - 0x298]
mov dword [ebp - 0x32c], eax
mov esi, eax
mov dword [esp], eax
call fcn.00723cb0
mov dword [esp], esi
xor esi, esi
call fcn.00675790
mov dword [esp + 4], eax
lea eax, [ebp - 0x2d8]
mov dword [esp], eax
call fcn.00723a00
lea eax, [ebp - 0x2d8]
mov dword [esp + 8], esi
mov dword [esp + 4], esi
mov esi, ebx
mov dword [esp], eax
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
mov byte [ebp - 0x298], 0
xor edx, edx
mov byte [ebp - 0x258], 0
sub esp, 0xc
mov ebx, edx
mov byte [ebp - 0x218], 0
mov byte [ebp - 0x1d8], 0
mov byte [ebp - 0x198], 0
mov byte [ebp - 0x158], 0
mov dword [ebp - 0x350], edi
mov edi, dword [ebp - 0x2f0]
movzx eax, byte [esi + ebx + 0x13]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
imul eax, ebx, 0xfffffffe
mov ecx, dword [ebp - 0x308]
sub ebx, 1
add eax, ecx
mov dword [esp], eax
call fcn.00723cb0
cmp ebx, 0xfffffffc
jne 0x6788f5
movzx eax, byte [esi + 0x15]
mov dword [ebp - 0x2f0], edi
mov edi, dword [ebp - 0x350]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x318]
mov dword [esp], eax
call fcn.00723cb0
movzx eax, byte [esi + 0x14]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x330]
mov dword [esp], eax
call fcn.00723cb0
movzx eax, byte [esi + 0x17]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x31c]
mov dword [esp], eax
call fcn.00723cb0
movzx eax, byte [esi + 0x16]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x33c]
mov dword [esp], eax
call fcn.00723cb0
movzx eax, byte [esi + 0x18]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x328]
mov dword [esp], eax
call fcn.00723cb0
movzx eax, byte [esi + 0x19]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x340]
mov dword [esp], eax
call fcn.00723cb0
xor edx, edx
mov ebx, edx
movzx eax, byte [esi + ebx + 0x1a]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
lea eax, [ebx + ebx]
add ebx, 1
add eax, edi
mov dword [esp], eax
call fcn.00723cb0
cmp ebx, 6
jne 0x6789e5
mov dword [esp + 0x18], edi
mov eax, dword [ebp - 0x328]
mov ebx, esi
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x31c]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x318]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x308]
mov dword [esp + 4], 0x81409a
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x32c]
mov dword [esp], eax
call fcn.00723cb0
test byte [0x901e98], 0x10
jne 0x679a9e
movzx eax, byte [ebx + 0x21]
xor edx, edx
pxor xmm0, xmm0
mov ecx, 0xc
movups xmmword [ebp - 0x118], xmm0
shld edx, eax, 8
shl eax, 8
mov esi, eax
movzx eax, byte [ebx + 0x22]
mov edi, edx
xor edx, edx
shld edx, eax, 0x10
shl eax, 0x10
add eax, esi
mov esi, eax
movzx eax, byte [ebx + 0x20]
adc edx, edi
mov edi, edx
xor edx, edx
add eax, esi
adc edx, edi
mov esi, eax
movzx eax, byte [ebx + 0x23]
mov edi, edx
xor edx, edx
shld edx, eax, 0x18
shl eax, 0x18
add eax, esi
mov esi, eax
movzx eax, byte [ebx + 0x24]
adc edx, edi
mov edi, edx
mov edx, eax
xor eax, eax
add eax, esi
mov esi, eax
movzx eax, byte [ebx + 0x25]
adc edx, edi
mov edi, edx
mov edx, eax
mov eax, 0
shl edx, 8
add eax, esi
mov esi, eax
movzx eax, byte [ebx + 0x26]
adc edx, edi
mov edi, edx
mov edx, eax
mov eax, 0
shl edx, 0x10
add eax, esi
mov esi, eax
movzx eax, byte [ebx + 0x27]
adc edx, edi
mov edi, edx
mov edx, eax
mov eax, 0
shl edx, 0x18
add eax, esi
adc edx, edi
mov dword [ebp - 0x308], eax
lea edi, [ebp - 0x108]
xor eax, eax
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x118]
mov dword [ebp - 0x304], edx
xor esi, esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
mov edx, dword [ebp - 0x308]
mov ecx, dword [ebp - 0x304]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.00502d20
mov dword [esp + 8], esi
mov dword [esp], edi
mov dword [esp + 4], 2
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
xor ecx, ecx
pxor xmm0, xmm0
mov dword [eax + 4], 0xe
movzx eax, byte [ebx + 0x29]
sub esp, 0xc
movups xmmword [ebp - 0xd8], xmm0
mov edx, eax
shld ecx, eax, 8
movzx eax, byte [ebx + 0x2a]
shl edx, 8
mov esi, edx
xor edx, edx
shld edx, eax, 0x10
shl eax, 0x10
add eax, esi
mov esi, eax
movzx eax, byte [ebx + 0x28]
adc edx, ecx
xor ecx, ecx
mov edi, edx
mov edx, eax
movzx eax, byte [ebx + 0x2b]
add edx, esi
adc ecx, edi
mov esi, edx
xor edx, edx
shld edx, eax, 0x18
shl eax, 0x18
add eax, esi
mov esi, eax
movzx eax, byte [ebx + 0x2c]
adc edx, ecx
mov edi, edx
mov ecx, eax
xor eax, eax
mov edx, eax
movzx eax, byte [ebx + 0x2d]
add edx, esi
mov esi, edx
mov edx, eax
mov eax, 0
adc ecx, edi
shl edx, 8
add eax, esi
mov esi, eax
movzx eax, byte [ebx + 0x2e]
adc edx, ecx
mov edi, edx
mov edx, 0
mov ecx, eax
movzx eax, byte [ebx + 0x2f]
shl ecx, 0x10
add edx, esi
mov esi, edx
mov edx, eax
adc ecx, edi
mov eax, 0
shl edx, 0x18
mov edi, ecx
mov ecx, edx
mov edx, eax
add edx, esi
adc ecx, edi
xor eax, eax
lea edi, [ebp - 0xc8]
mov dword [ebp - 0x318], edx
mov dword [ebp - 0x314], ecx
mov ecx, 0xc
xor esi, esi
rep stosd dword es:[edi], eax
lea edi, [ebp - 0xd8]
mov dword [esp + 0xc], 1
mov dword [esp + 8], edi
mov edx, dword [ebp - 0x318]
mov ecx, dword [ebp - 0x314]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.00502d20
mov dword [esp + 8], esi
mov dword [esp], edi
lea edi, [ebp - 0x88]
mov dword [esp + 4], 2
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
pxor xmm0, xmm0
mov ecx, 0xc
mov edx, dword [ebp - 0x318]
mov dword [eax + 4], 4
xor eax, eax
sub esp, 0xc
sub edx, dword [ebp - 0x308]
movups xmmword [ebp - 0x98], xmm0
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x314]
lea edi, [ebp - 0x98]
sbb ecx, dword [ebp - 0x304]
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
mov dword [ebp - 0x308], edx
mov dword [ebp - 0x304], ecx
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.00502d20
xor eax, eax
mov dword [esp], edi
mov dword [esp + 8], eax
mov dword [esp + 4], 2
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
sub esp, 0xc
mov dword [eax + 4], 0xe
lea eax, [ebp - 0x2d8]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2f4]
mov edx, dword [ebp - 0x308]
mov ecx, dword [ebp - 0x304]
mov eax, dword [eax + 0x64]
add edx, 1
mov edi, eax
adc ecx, 0
mov esi, edx
mov dword [ebp - 0x318], eax
sar edi, 0x1f
mov dword [ebp - 0x308], esi
mov dword [ebp - 0x314], edi
mov edi, ecx
imul ecx, eax
mov dword [ebp - 0x304], edi
mov edx, ecx
mov ecx, esi
mov esi, dword [ebp - 0x314]
imul esi, ecx
mov ecx, esi
add ecx, edx
mul dword [ebp - 0x308]
add edx, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00502fd0
xor edx, edx
mov dword [esp + 4], 2
mov dword [esp + 8], edx
mov dword [esp], eax
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
mov byte [ebp - 0x2d8], 0
sub esp, 0xc
test byte [ebx + 0x30], 1
je 0x679a92
mov dword [esp], 0x8140a9
call fcn.007101e8
mov dword [esp + 4], eax
lea eax, [ebp - 0x2d8]
mov dword [esp], eax
call fcn.00723a00
xor edx, edx
lea eax, [ebp - 0x2d8]
mov dword [esp + 4], 1
mov dword [esp + 8], edx
mov dword [esp], eax
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
mov byte [ebp - 0x2d8], 0
sub esp, 0xc
test byte [ebx + 0x30], 4
je 0x679a86
mov dword [esp], 0x8140a9
call fcn.007101e8
mov dword [esp + 4], eax
lea eax, [ebp - 0x2d8]
mov dword [esp], eax
call fcn.00723a00
xor eax, eax
mov dword [esp + 4], 1
mov dword [esp + 8], eax
lea eax, [ebp - 0x2d8]
mov dword [esp], eax
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
mov byte [ebp - 0x2d8], 0
sub esp, 0xc
test byte [ebx + 0x37], 0x10
je 0x679a7a
mov dword [esp], 0x8140a9
call fcn.007101e8
mov dword [esp + 4], eax
lea eax, [ebp - 0x2d8]
mov dword [esp], eax
call fcn.00723a00
xor eax, eax
mov dword [esp + 4], 1
mov dword [esp + 8], eax
lea eax, [ebp - 0x2d8]
mov dword [esp], eax
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
mov dword [eax + 4], 0xe
sub esp, 0xc
mov byte [ebp - 0x2d8], 0
test byte [ebx + 0x37], 0x40
je 0x679a6e
mov dword [esp], 0x8140a9
call fcn.007101e8
mov dword [esp + 4], eax
lea eax, [ebp - 0x2d8]
mov dword [esp], eax
call fcn.00723a00
xor eax, eax
mov dword [esp + 4], 1
mov dword [esp + 8], eax
lea eax, [ebp - 0x2d8]
mov dword [esp], eax
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
mov dword [eax + 4], 0xe
sub esp, 0xc
mov byte [ebp - 0x2d8], 0
test byte [ebx + 0x30], 2
je 0x679a62
mov dword [esp], 0x8140a9
call fcn.007101e8
mov dword [esp + 4], eax
lea eax, [ebp - 0x2d8]
mov dword [esp], eax
call fcn.00723a00
xor eax, eax
mov dword [esp + 4], 1
mov dword [esp + 8], eax
lea eax, [ebp - 0x2d8]
mov dword [esp], eax
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
mov dword [eax + 4], 0xe
sub esp, 0xc
cmp byte [ebx + 0x37], 0
mov byte [ebp - 0x2d8], 0
js 0x679a4f
mov dword [esp], 0x8140a9
call fcn.007101e8
xor esi, esi
lea edi, [ebp - 0x48]
mov dword [esp + 4], eax
lea eax, [ebp - 0x2d8]
mov dword [esp], eax
call fcn.00723a00
lea eax, [ebp - 0x2d8]
mov dword [esp + 8], esi
mov dword [esp + 4], 1
mov dword [esp], eax
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
pxor xmm0, xmm0
mov ecx, 0xc
mov dword [eax + 4], 0xe
xor eax, eax
sub esp, 0xc
movups xmmword [ebp - 0x58], xmm0
rep stosd dword es:[edi], eax
lea eax, [ebx + 0x38]
lea edi, [ebp - 0x58]
mov dword [esp + 8], 0x24
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.005065e0
xor eax, eax
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.00504140
cmp byte [ebp - 0x58], 0
je 0x679a1d
xor edx, edx
mov dword [esp + 4], 2
mov dword [esp + 8], edx
mov dword [esp], edi
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
sub esp, 0xc
jmp 0x6783e3
add dword [ebp - 0x2e8], 1
xor eax, eax
mov edi, dword [ebp - 0x2e8]
xor esi, esi
mov dword [esp + 4], eax
mov dword [esp], 0xf
mov ecx, dword [ebp - 0x320]
call fcn.004d9f50
xor ecx, ecx
push edx
push edx
mov dword [ebp - 0x2f0], eax
mov byte [eax + 0xbc], 0
lea eax, [ebp - 0x2d8]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ecx
mov dword [esp], edi
lea edi, [ebp - 0x288]
mov dword [esp + 4], eax
call fcn.00502a70
mov dword [esp + 8], esi
mov dword [esp + 4], 1
mov dword [esp], eax
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
xor eax, eax
pxor xmm1, xmm1
mov ecx, 0xc
movups xmmword [ebp - 0x298], xmm1
mov esi, dword [ebp - 0x2f0]
sub esp, 0xc
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x248]
mov ecx, 0xc
movups xmmword [ebp - 0x258], xmm1
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x208]
mov ecx, 0xc
movups xmmword [ebp - 0x218], xmm1
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x1c8]
mov ecx, 0xc
movups xmmword [ebp - 0x1d8], xmm1
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x188]
mov ecx, 0xc
movups xmmword [ebp - 0x198], xmm1
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x148]
mov ecx, 0xc
movups xmmword [ebp - 0x158], xmm1
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x258]
xor edi, edi
mov dword [ebp - 0x308], eax
movzx eax, byte [ebx + edi + 3]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
imul eax, edi, 0xfffffffe
mov ecx, dword [ebp - 0x308]
sub edi, 1
add eax, ecx
mov dword [esp], eax
call fcn.00723cb0
cmp edi, 0xfffffffc
jne 0x679108
movzx eax, byte [ebx + 5]
mov dword [ebp - 0x2f0], esi
lea edi, [ebp - 0x158]
mov esi, ebx
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
lea eax, [ebp - 0x218]
mov dword [ebp - 0x318], eax
mov dword [esp], eax
call fcn.00723cb0
movzx eax, byte [ebx + 4]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
lea eax, [ebp - 0x216]
mov dword [ebp - 0x354], eax
mov dword [esp], eax
call fcn.00723cb0
movzx eax, byte [ebx + 7]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
lea eax, [ebp - 0x1d8]
mov dword [ebp - 0x31c], eax
mov dword [esp], eax
call fcn.00723cb0
movzx eax, byte [ebx + 6]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
lea eax, [ebp - 0x1d6]
mov dword [ebp - 0x350], eax
mov dword [esp], eax
call fcn.00723cb0
movzx eax, byte [ebx + 8]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
lea eax, [ebp - 0x198]
mov dword [ebp - 0x328], eax
mov dword [esp], eax
call fcn.00723cb0
movzx eax, byte [ebx + 9]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
lea eax, [ebp - 0x196]
mov dword [ebp - 0x340], eax
mov dword [esp], eax
call fcn.00723cb0
xor edx, edx
mov ebx, edx
movzx eax, byte [esi + ebx + 0xa]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
lea eax, [ebx + ebx]
add ebx, 1
add eax, edi
mov dword [esp], eax
call fcn.00723cb0
cmp ebx, 6
jne 0x67921e
mov dword [esp + 0x18], edi
mov eax, dword [ebp - 0x328]
mov ebx, esi
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x31c]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x318]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x308]
mov dword [esp + 4], 0x81409a
mov dword [esp + 8], eax
lea eax, [ebp - 0x298]
mov dword [ebp - 0x32c], eax
mov esi, eax
mov dword [esp], eax
call fcn.00723cb0
mov dword [esp], esi
xor esi, esi
call fcn.00675790
mov dword [esp + 4], eax
lea eax, [ebp - 0x2d8]
mov dword [esp], eax
call fcn.00723a00
lea eax, [ebp - 0x2d8]
mov dword [esp + 8], esi
mov dword [esp + 4], esi
mov esi, ebx
mov dword [esp], eax
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
mov byte [ebp - 0x298], 0
xor edx, edx
mov byte [ebp - 0x258], 0
sub esp, 0xc
mov ebx, edx
mov byte [ebp - 0x218], 0
mov byte [ebp - 0x1d8], 0
mov byte [ebp - 0x198], 0
mov byte [ebp - 0x158], 0
mov dword [ebp - 0x358], edi
mov edi, dword [ebp - 0x2f0]
movzx eax, byte [esi + ebx + 0x13]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
imul eax, ebx, 0xfffffffe
mov ecx, dword [ebp - 0x308]
sub ebx, 1
add eax, ecx
mov dword [esp], eax
call fcn.00723cb0
cmp ebx, 0xfffffffc
jne 0x679307
movzx eax, byte [esi + 0x15]
mov dword [ebp - 0x2f0], edi
mov edi, dword [ebp - 0x358]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x318]
mov dword [esp], eax
call fcn.00723cb0
movzx eax, byte [esi + 0x14]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x354]
mov dword [esp], eax
call fcn.00723cb0
movzx eax, byte [esi + 0x17]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x31c]
mov dword [esp], eax
call fcn.00723cb0
movzx eax, byte [esi + 0x16]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x350]
mov dword [esp], eax
call fcn.00723cb0
movzx eax, byte [esi + 0x18]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x328]
mov dword [esp], eax
call fcn.00723cb0
movzx eax, byte [esi + 0x19]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x340]
mov dword [esp], eax
call fcn.00723cb0
xor edx, edx
mov ebx, edx
movzx eax, byte [esi + ebx + 0x1a]
mov dword [esp + 4], 0x814095
mov dword [esp + 8], eax
lea eax, [ebx + ebx]
add ebx, 1
add eax, edi
mov dword [esp], eax
call fcn.00723cb0
cmp ebx, 6
jne 0x6793f7
mov dword [esp + 0x18], edi
mov eax, dword [ebp - 0x328]
mov ebx, esi
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x31c]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x318]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x308]
mov dword [esp + 4], 0x81409a
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x32c]
mov dword [esp], eax
call fcn.00723cb0
test byte [0x901e98], 0x10
jne 0x679b50
movzx eax, byte [ebx + 0x21]
xor edx, edx
pxor xmm2, xmm2
mov ecx, 0xc
movups xmmword [ebp - 0x118], xmm2
shld edx, eax, 8
shl eax, 8
mov esi, eax
movzx eax, byte [ebx + 0x22]
mov edi, edx
xor edx, edx
shld edx, eax, 0x10
shl eax, 0x10
add eax, esi
mov esi, eax
movzx eax, byte [ebx + 0x20]
adc edx, edi
mov edi, edx
xor edx, edx
add eax, esi
adc edx, edi
mov esi, eax
movzx eax, byte [ebx + 0x23]
mov edi, edx
xor edx, edx
shld edx, eax, 0x18
shl eax, 0x18
add eax, esi
mov esi, eax
movzx eax, byte [ebx + 0x24]
adc edx, edi
mov edi, edx
mov edx, eax
xor eax, eax
add eax, esi
mov esi, eax
movzx eax, byte [ebx + 0x25]
adc edx, edi
mov edi, edx
mov edx, eax
mov eax, 0
shl edx, 8
add eax, esi
mov esi, eax
movzx eax, byte [ebx + 0x26]
adc edx, edi
mov edi, edx
mov edx, eax
mov eax, 0
shl edx, 0x10
add eax, esi
mov esi, eax
movzx eax, byte [ebx + 0x27]
adc edx, edi
mov edi, edx
mov edx, eax
mov eax, 0
shl edx, 0x18
add eax, esi
adc edx, edi
mov dword [ebp - 0x308], eax
lea edi, [ebp - 0x108]
xor eax, eax
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x118]
mov dword [ebp - 0x304], edx
xor esi, esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
mov edx, dword [ebp - 0x304]
mov eax, dword [ebp - 0x308]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00502d20
mov dword [esp + 8], esi
mov dword [esp], edi
mov dword [esp + 4], 2
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
xor ecx, ecx
pxor xmm3, xmm3
mov dword [eax + 4], 0xe
movzx eax, byte [ebx + 0x29]
sub esp, 0xc
movups xmmword [ebp - 0xd8], xmm3
mov edx, eax
shld ecx, eax, 8
movzx eax, byte [ebx + 0x2a]
shl edx, 8
mov esi, edx
xor edx, edx
shld edx, eax, 0x10
shl eax, 0x10
add eax, esi
mov esi, eax
movzx eax, byte [ebx + 0x28]
adc edx, ecx
xor ecx, ecx
mov edi, edx
mov edx, eax
movzx eax, byte [ebx + 0x2b]
add edx, esi
adc ecx, edi
mov esi, edx
xor edx, edx
shld edx, eax, 0x18
shl eax, 0x18
add eax, esi
mov esi, eax
movzx eax, byte [ebx + 0x2c]
adc edx, ecx
mov edi, edx
mov ecx, eax
xor eax, eax
mov edx, eax
movzx eax, byte [ebx + 0x2d]
add edx, esi
mov esi, edx
mov edx, eax
mov eax, 0
adc ecx, edi
shl edx, 8
add eax, esi
mov esi, eax
movzx eax, byte [ebx + 0x2e]
adc edx, ecx
mov edi, edx
mov edx, 0
mov ecx, eax
movzx eax, byte [ebx + 0x2f]
shl ecx, 0x10
add edx, esi
mov esi, edx
mov edx, eax
mov eax, 0
adc ecx, edi
shl edx, 0x18
add eax, esi
lea edi, [ebp - 0xc8]
adc edx, ecx
mov dword [ebp - 0x318], eax
mov ecx, 0xc
xor eax, eax
rep stosd dword es:[edi], eax
lea edi, [ebp - 0xd8]
mov dword [ebp - 0x314], edx
xor esi, esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
mov edx, dword [ebp - 0x314]
mov eax, dword [ebp - 0x318]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00502d20
mov dword [esp + 8], esi
mov dword [esp], edi
lea edi, [ebp - 0x88]
mov dword [esp + 4], 2
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
pxor xmm4, xmm4
mov ecx, 0xc
mov edx, dword [ebp - 0x314]
mov dword [eax + 4], 4
xor eax, eax
sub esp, 0xc
movups xmmword [ebp - 0x98], xmm4
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x318]
lea edi, [ebp - 0x98]
sub eax, dword [ebp - 0x308]
sbb edx, dword [ebp - 0x304]
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
mov dword [ebp - 0x304], edx
mov dword [ebp - 0x308], eax
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00502d20
xor eax, eax
mov dword [esp], edi
mov dword [esp + 8], eax
mov dword [esp + 4], 2
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
lea ecx, [ebp - 0x2d8]
sub esp, 0xc
mov dword [eax + 4], 0xe
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0x308]
mov edx, dword [ebp - 0x304]
add eax, 1
adc edx, 0
mov ecx, edx
mov edx, eax
mov eax, dword [ebp - 0x2f4]
mov esi, edx
mov eax, dword [eax + 0x60]
mov dword [ebp - 0x308], esi
mov edi, eax
mov dword [ebp - 0x318], eax
sar edi, 0x1f
mov dword [ebp - 0x314], edi
mov edi, ecx
imul ecx, eax
mov dword [ebp - 0x304], edi
mov edx, ecx
mov ecx, esi
mov esi, dword [ebp - 0x314]
imul esi, ecx
mov ecx, esi
add ecx, edx
mul dword [ebp - 0x308]
add edx, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00502fd0
xor edx, edx
mov dword [esp + 4], 2
mov dword [esp + 8], edx
mov dword [esp], eax
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
mov byte [ebp - 0x2d8], 0
sub esp, 0xc
test byte [ebx + 0x30], 1
je 0x679b44
mov dword [esp], 0x8140a9
call fcn.007101e8
mov dword [esp + 4], eax
lea eax, [ebp - 0x2d8]
mov dword [esp], eax
call fcn.00723a00
xor eax, eax
mov dword [esp + 4], 1
mov dword [esp + 8], eax
lea eax, [ebp - 0x2d8]
mov dword [esp], eax
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
mov byte [ebp - 0x2d8], 0
sub esp, 0xc
test byte [ebx + 0x30], 4
je 0x679b38
mov dword [esp], 0x8140a9
call fcn.007101e8
mov dword [esp + 4], eax
lea eax, [ebp - 0x2d8]
mov dword [esp], eax
call fcn.00723a00
xor eax, eax
mov dword [esp + 4], 1
mov dword [esp + 8], eax
lea eax, [ebp - 0x2d8]
mov dword [esp], eax
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
mov byte [ebp - 0x2d8], 0
sub esp, 0xc
test byte [ebx + 0x37], 0x10
je 0x679b2c
mov dword [esp], 0x8140a9
call fcn.007101e8
mov dword [esp + 4], eax
lea eax, [ebp - 0x2d8]
mov dword [esp], eax
call fcn.00723a00
xor eax, eax
mov dword [esp + 4], 1
mov dword [esp + 8], eax
lea eax, [ebp - 0x2d8]
mov dword [esp], eax
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
mov dword [eax + 4], 0xe
sub esp, 0xc
mov byte [ebp - 0x2d8], 0
test byte [ebx + 0x37], 0x40
je 0x679b20
mov dword [esp], 0x8140a9
call fcn.007101e8
xor edi, edi
mov dword [esp + 4], eax
lea eax, [ebp - 0x2d8]
mov dword [esp], eax
call fcn.00723a00
lea eax, [ebp - 0x2d8]
mov dword [esp + 8], edi
mov dword [esp + 4], 1
mov dword [esp], eax
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
mov dword [eax + 4], 0xe
sub esp, 0xc
mov byte [ebp - 0x2d8], 0
test byte [ebx + 0x30], 2
je 0x679b14
mov dword [esp], 0x8140a9
call fcn.007101e8
xor esi, esi
mov dword [esp + 4], eax
lea eax, [ebp - 0x2d8]
mov dword [esp], eax
call fcn.00723a00
lea eax, [ebp - 0x2d8]
mov dword [esp + 8], esi
mov dword [esp + 4], 1
mov dword [esp], eax
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
mov dword [eax + 4], 0xe
sub esp, 0xc
cmp byte [ebx + 0x37], 0
mov byte [ebp - 0x2d8], 0
js 0x679b01
mov dword [esp], 0x8140a9
call fcn.007101e8
lea edi, [ebp - 0x48]
mov dword [esp + 4], eax
lea eax, [ebp - 0x2d8]
mov dword [esp], eax
call fcn.00723a00
mov dword [esp], 0x8140ad
call fcn.007101e8
xor edx, edx
mov dword [esp + 4], 1
mov dword [esp + 8], edx
mov dword [esp], eax
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
pxor xmm5, xmm5
mov ecx, 0xc
mov dword [eax + 4], 0xe
xor eax, eax
sub esp, 0xc
movups xmmword [ebp - 0x58], xmm5
rep stosd dword es:[edi], eax
lea eax, [ebx + 0x38]
lea edi, [ebp - 0x58]
mov dword [esp + 8], 0x24
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.005065e0
xor ecx, ecx
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.00504140
cmp byte [ebp - 0x58], 0
je 0x679acf
xor eax, eax
mov dword [esp + 4], 2
mov dword [esp + 8], eax
mov dword [esp], edi
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
sub esp, 0xc
jmp 0x67851d
xor ecx, ecx
mov dword [esp + 8], 0x6c1
mov dword [esp + 4], 0x8140b0
mov dword [esp], ecx
call fcn.007101f0
cmp eax, 0x8140b0
je 0x679a5b
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00723a00
jmp 0x678fe3
mov dword [esp], 0x8140ad
jmp 0x678f5a
mov eax, 0x813f45
jmp 0x679a3e
mov dword [esp], 0x8140ad
jmp 0x678eff
mov dword [esp], 0x8140ad
jmp 0x678ea4
mov dword [esp], 0x8140ad
jmp 0x678e49
mov dword [esp], 0x8140ad
jmp 0x678df5
mov dword [esp], 0x8140ad
jmp 0x678da1
xor ecx, ecx
mov dword [esp + 4], 2
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0x32c]
mov dword [esp], eax
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
mov dword [eax + 4], 4
sub esp, 0xc
jmp 0x678a5c
xor eax, eax
mov dword [esp + 8], 0x6c1
mov dword [esp + 4], 0x8140b0
mov dword [esp], eax
call fcn.007101f0
cmp eax, 0x8140b0
je 0x679b0d
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00723a00
jmp 0x6799f9
mov dword [esp], 0x8140ad
jmp 0x67996a
mov eax, 0x813f45
jmp 0x679af0
mov dword [esp], 0x8140ad
jmp 0x67990f
mov dword [esp], 0x8140ad
jmp 0x6798b4
mov dword [esp], 0x8140ad
jmp 0x679859
mov dword [esp], 0x8140ad
jmp 0x679805
mov dword [esp], 0x8140ad
jmp 0x6797b1
xor ecx, ecx
mov dword [esp + 4], 2
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0x32c]
mov dword [esp], eax
mov ecx, dword [ebp - 0x2f0]
call fcn.004d3600
mov dword [eax + 4], 4
sub esp, 0xc
jmp 0x67946e