Function at 0x7d3e20
Capabilities:
Compress data via zlib inflate or deflate

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x5c
mov edx, dword [esp + 0x70]
mov eax, dword [0xa7d04c]
xor eax, esp
mov dword [esp + 0x58], eax
mov esi, 0xfffffffe
test edx, edx
je 0x7d6049
cmp dword [edx + 0x20], 0
je 0x7d6049
cmp dword [edx + 0x24], 0
je 0x7d6049
mov edi, dword [edx + 0x1c]
test edi, edi
je 0x7d6049
cmp dword [edi], edx
jne 0x7d6049
mov eax, dword [edi + 4]
lea ecx, [eax - 0x3f34]
cmp ecx, 0x1f
ja 0x7d6049
cmp dword [edx + 0xc], 0
je 0x7d6049
cmp dword [edx], 0
je 0x7d5c04
cmp eax, 0x3f3f
jne 0x7d3e9d
mov dword [edi + 4], 0x3f40
mov eax, dword [edx + 0xc]
mov dword [esp + 0xc], eax
mov ebp, dword [edx + 0x10]
mov esi, dword [edx]
mov ecx, dword [edx + 4]
mov ebx, dword [edi + 0x3c]
mov edx, dword [edi + 0x40]
lea eax, [edi + 0x74]
mov dword [esp + 0x30], eax
lea eax, [edi + 0x534]
mov dword [esp + 0x44], eax
lea eax, [edi + 0x70]
mov dword [esp + 0x38], eax
lea eax, [edi + 0x58]
mov dword [esp + 0x40], eax
lea eax, [edi + 0x2f4]
mov dword [esp + 0x34], eax
lea eax, [edi + 0x5c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x74]
add eax, 0xfffffffb
mov dword [esp + 0x50], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x48], ecx
mov dword [esp], ecx
mov dword [esp + 0x28], ebp
mov dword [esp + 8], edi
mov eax, dword [edi + 4]
mov ecx, 0xffffc0cc
add eax, ecx
cmp eax, 0x1e
ja case.default.0x7d3f20
mov ecx, 1
mov dword [esp + 0x1c], ebp
jmp dword [eax*4 + 0x9e03c4]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x7d43b8
cmp edx, 0x10
jae 0x7d4b65
mov ecx, dword [esp]
test ecx, ecx
je 0x7d610c
lea ebp, [ecx - 1]
movzx edi, byte [esi]
mov ecx, edx
shl edi, cl
mov dword [esp + 4], esi
inc esi
add ebx, edi
mov edi, ebx
lea ebx, [edx + 8]
cmp edx, 7
ja 0x7d4b52
mov ecx, ebx
test ebp, ebp
je 0x7d613a
mov ebx, dword [esp + 4]
movzx esi, byte [ebx + 1]
shl esi, cl
add dword [esp], 0xfffffffe
add ebx, 2
add edi, esi
mov esi, ebx
mov ebx, edi
or edx, 0x10
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 8]
jmp 0x7d4b65
test ebp, ebp
je 0x7d5e2f
movzx eax, byte [edi + 0x44]
mov ecx, dword [esp + 0xc]
mov byte [ecx], al
inc ecx
mov dword [esp + 0xc], ecx
dec ebp
mov dword [edi + 4], 0x3f48
jmp 0x7d3f04
mov dword [esp + 4], esi
mov esi, edi
jmp 0x7d574b
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x7d5735
mov edi, ebx
cmp edx, eax
jae 0x7d449a
mov dword [esp + 0x18], edx
mov ebx, dword [esp]
mov ebp, esi
mov dword [esp + 4], esi
sub ebx, 1
jb 0x7d5c7a
movzx esi, byte [ebp]
mov ecx, edx
shl esi, cl
inc ebp
add edi, esi
mov esi, dword [esp + 4]
add edx, 8
cmp edx, eax
jb 0x7d3fe7
jmp 0x7d449f
mov ecx, edx
and cl, 7
shr ebx, cl
mov eax, edx
and eax, 0xfffffff8
cmp edx, 0x1f
ja 0x7d4393
mov ecx, dword [esp]
test ecx, ecx
je 0x7d60b8
mov ebp, edx
lea edx, [ecx - 1]
movzx edi, byte [esi]
mov ecx, eax
shl edi, cl
mov dword [esp + 4], esi
inc esi
add ebx, edi
lea ecx, [eax + 8]
cmp ebp, 0x17
ja 0x7d43c4
test edx, edx
je 0x7d60e0
mov edx, dword [esp]
add edx, 0xfffffffe
mov esi, dword [esp + 4]
movzx edi, byte [esi + 1]
shl edi, cl
add esi, 2
add ebx, edi
lea ecx, [eax + 0x10]
cmp ebp, 0xf
ja 0x7d43c4
mov edi, ebx
test edx, edx
je 0x7d613a
mov edx, dword [esp]
add edx, 0xfffffffd
mov ebx, dword [esp + 4]
movzx esi, byte [ebx + 2]
shl esi, cl
add edi, esi
mov esi, edi
lea ecx, [ebx + 3]
add eax, 0x18
cmp ebp, 7
ja 0x7d5378
test edx, edx
mov ebp, dword [esp + 0x1c]
je 0x7d61e5
mov edi, ebx
movzx edx, byte [ebx + 3]
mov ecx, eax
shl edx, cl
add dword [esp], 0xfffffffc
add edi, 4
mov ebx, esi
mov esi, edi
add ebx, edx
mov edx, 0x20
mov edi, dword [esp + 8]
jmp 0x7d43d1
mov ecx, dword [edi + 0x4c]
jmp 0x7d58f5
mov eax, dword [esp + 0xc]
jmp 0x7d53f6
cmp edx, 0x20
jae 0x7d538f
mov ecx, edx
mov edi, dword [esp]
test edi, edi
je 0x7d609e
movzx edx, byte [esi]
mov eax, ecx
shl edx, cl
mov ecx, esi
lea esi, [edi - 1]
add ebx, edx
mov dword [esp + 4], ecx
lea edx, [ecx + 1]
cmp eax, 0x17
ja 0x7d44d4
lea ecx, [eax + 8]
test esi, esi
je 0x7d5e19
mov edi, dword [esp + 4]
movzx edx, byte [edi + 1]
shl edx, cl
mov ecx, dword [esp]
lea esi, [ecx - 2]
add ebx, edx
mov dword [esp + 0x10], ebx
lea edx, [edi + 2]
cmp eax, 0xf
ja 0x7d4c24
lea ecx, [eax + 0x10]
test esi, esi
je 0x7d61b7
mov ebx, dword [esp + 4]
movzx edx, byte [ebx + 2]
shl edx, cl
mov ecx, dword [esp]
lea esi, [ecx - 3]
add dword [esp + 0x10], edx
lea ecx, [ebx + 3]
cmp eax, 7
mov edi, dword [esp + 8]
ja 0x7d5386
mov edx, eax
add edx, 0x18
test esi, esi
je 0x7d6199
add dword [esp], 0xfffffffc
mov esi, dword [esp + 4]
movzx eax, byte [esi + 3]
add esi, 4
mov ecx, edx
shl eax, cl
mov ebx, dword [esp + 0x10]
add ebx, eax
jmp 0x7d538f
mov dword [esp + 4], esi
mov esi, ebx
mov ecx, edi
jmp 0x7d4405
cmp edx, 0xf
jbe 0x7d4e77
jmp 0x7d4eb9
cmp edx, 0x10
jae 0x7d4397
mov dword [esp + 0x18], edx
mov eax, edi
mov edi, ebx
mov ebx, eax
mov eax, dword [esp]
test eax, eax
je 0x7d5df8
dec eax
mov edx, esi
movzx esi, byte [esi]
mov ecx, dword [esp + 0x18]
shl esi, cl
mov dword [esp + 4], edx
lea ebp, [edx + 1]
add edi, esi
mov esi, edi
lea edx, [ecx + 8]
cmp ecx, 7
ja 0x7d44e2
test eax, eax
je 0x7d6170
mov edi, dword [esp + 4]
movzx eax, byte [edi + 1]
mov ecx, edx
shl eax, cl
add dword [esp], 0xfffffffe
add edi, 2
mov ecx, edi
add esi, eax
mov edx, dword [esp + 0x18]
or edx, 0x10
jmp 0x7d44e7
mov dword [esp + 4], esi
mov esi, ebx
mov eax, edi
mov ebx, dword [esp]
jmp 0x7d4411
mov ebp, ebx
mov ebx, edi
cmp edx, 0xe
jae 0x7d439e
mov dword [esp + 0x18], edx
mov edi, ebp
mov eax, dword [esp]
test eax, eax
je 0x7d5df8
dec eax
mov edx, esi
movzx esi, byte [esi]
mov ecx, dword [esp + 0x18]
shl esi, cl
mov dword [esp + 4], edx
lea ebp, [edx + 1]
add edi, esi
mov dword [esp + 0x10], edi
lea edx, [ecx + 8]
cmp ecx, 5
ja 0x7d4535
test eax, eax
je 0x7d6152
mov esi, dword [esp + 4]
movzx eax, byte [esi + 1]
mov ecx, edx
shl eax, cl
add dword [esp], 0xfffffffe
add esi, 2
mov ecx, dword [esp + 0x10]
add ecx, eax
mov edi, dword [esp + 0x18]
or edi, 0x10
mov ebp, ecx
jmp 0x7d4540
cmp edx, 0x1f
jbe 0x7d4a84
jmp 0x7d4e3d
mov dword [esp + 4], esi
test byte [edi + 0x15], 4
jne 0x7d43a5
mov ebp, dword [esp]
jmp 0x7d4f17
mov ebp, dword [esp]
jmp 0x7d4fd3
mov edi, ebx
jmp 0x7d45ad
cmp dword [edi + 0xc], 0
je 0x7d4cb3
cmp edx, 0x1f
mov dword [esp + 4], esi
ja 0x7d44cd
mov edi, edx
mov eax, dword [esp]
test eax, eax
je 0x7d6120
dec eax
mov edx, esi
movzx esi, byte [esi]
mov ecx, edi
shl esi, cl
inc edx
add ebx, esi
lea esi, [edi + 8]
cmp edi, 0x17
ja 0x7d4c04
mov ecx, esi
test eax, eax
je 0x7d5e19
mov eax, dword [esp]
add eax, 0xfffffffe
mov edx, dword [esp + 4]
movzx esi, byte [edx + 1]
shl esi, cl
add edx, 2
add ebx, esi
lea ecx, [edi + 0x10]
cmp edi, 0xf
ja 0x7d4c36
test eax, eax
je 0x7d5e19
mov eax, dword [esp]
add eax, 0xfffffffd
mov edx, dword [esp + 4]
movzx esi, byte [edx + 2]
shl esi, cl
add edx, 3
add ebx, esi
lea ecx, [edi + 0x18]
cmp edi, 7
ja 0x7d4c36
test eax, eax
je 0x7d5e19
mov edx, dword [esp + 4]
movzx eax, byte [edx + 3]
shl eax, cl
add dword [esp], 0xfffffffc
add edx, 4
mov dword [esp + 4], edx
add ebx, eax
mov esi, edi
or esi, 0x20
jmp 0x7d4c3f
mov edx, eax
jmp 0x7d43d1
mov ecx, esi
jmp 0x7d44ef
mov edi, edx
jmp 0x7d4540
mov esi, ebx
cmp edx, 0xf
mov ebp, dword [esp]
ja 0x7d4f85
jmp 0x7d4f32
mov dword [edi + 4], 0x3f40
jmp 0x7d3f04
mov dword [esp], edx
mov edx, ecx
mov edi, dword [esp + 8]
mov ebp, dword [esp + 0x1c]
movzx eax, bx
mov ecx, ebx
not ecx
shr ecx, 0x10
cmp eax, ecx
jne 0x7d4483
mov dword [esp + 4], esi
xor esi, esi
mov dword [edi + 0x44], eax
mov ecx, edi
mov dword [edi + 4], 0x3f42
mov edx, 0
cmp dword [esp + 0x74], 6
je 0x7d60c3
mov ebx, dword [esp]
mov eax, ecx
mov dword [ecx + 4], 0x3f43
mov edi, dword [eax + 0x44]
test edi, edi
je 0x7d4472
cmp edi, ebx
cmovae edi, ebx
cmp edi, ebp
cmovae edi, ebp
test edi, edi
je 0x7d5d80
push edi
mov ebp, dword [esp + 8]
push ebp
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x14]
push esi
mov dword [esp + 0x24], edx
call fcn.00935430
mov edx, dword [esp + 0x24]
add esp, 0xc
sub ebx, edi
mov dword [esp], ebx
add ebp, edi
mov ecx, dword [esp + 0x1c]
sub ecx, edi
add esi, edi
mov dword [esp + 0xc], esi
mov esi, ebp
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 8]
sub dword [eax + 0x44], edi
mov edi, eax
mov ebp, ecx
jmp 0x7d3f04
mov dword [eax + 4], 0x3f3f
mov edi, eax
mov dword [esp], ebx
jmp 0x7d5303
mov eax, dword [esp + 0x70]
mov dword [eax + 0x18], 0x9e027c
mov dword [edi + 4], 0x3f51
jmp 0x7d3f04
mov ebp, esi
mov ebx, dword [esp]
mov esi, 0xffffffff
mov ecx, eax
shl esi, cl
not esi
and esi, edi
mov eax, dword [esp + 8]
add dword [eax + 0x44], esi
shr edi, cl
add dword [eax + 0x1bc8], ecx
sub edx, ecx
mov dword [esp + 4], ebp
mov dword [esp], ebx
mov esi, eax
mov ebx, edi
jmp 0x7d573b
mov esi, edx
jmp 0x7d4c43
mov dword [esp], esi
mov esi, edx
mov edi, dword [esp + 8]
jmp 0x7d538f
mov ecx, ebp
mov dword [esp], eax
mov edi, ebx
mov ebx, esi
mov ebp, dword [esp + 0x1c]
mov dword [edi + 0x14], ebx
cmp bl, 8
jne 0x7d451c
test ebx, 0xe000
mov esi, ecx
je 0x7d4a3e
mov eax, dword [esp + 0x70]
mov dword [eax + 0x18], 0x9e023c
mov dword [edi + 4], 0x3f51
jmp 0x7d3f04
mov eax, dword [esp + 0x70]
mov dword [eax + 0x18], 0x9e020d
mov dword [edi + 4], 0x3f51
mov esi, ecx
jmp 0x7d3f04
mov esi, ebp
mov dword [esp], eax
mov edi, edx
mov ebp, dword [esp + 0x10]
mov eax, ebp
and eax, 0x1f
lea ecx, [eax + 0x101]
mov dword [ebx + 0x64], ecx
mov ecx, ebp
shr ecx, 5
and ecx, 0x1f
lea edx, [ecx + 1]
mov dword [ebx + 0x68], edx
mov edx, ebp
shr edx, 0xa
and edx, 0xf
add edx, 4
mov dword [ebx + 0x60], edx
shr ebp, 0xe
add edi, 0xfffffff2
cmp eax, 0x1e
setb al
cmp ecx, 0x1e
setb cl
test al, cl
mov edx, edi
jne 0x7d4599
mov eax, dword [esp + 0x70]
mov dword [eax + 0x18], 0x9e0299
mov dword [ebx + 4], 0x3f51
jmp 0x7d52de
mov edi, ebp
mov dword [ebx + 0x6c], 0
mov dword [ebx + 4], 0x3f45
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 8]
mov eax, dword [ecx + 0x6c]
cmp eax, dword [ecx + 0x60]
jb 0x7d46da
mov dword [esp + 0x18], edx
cmp eax, 0x12
mov ebx, edi
mov edi, dword [esp + 8]
ja 0x7d4654
mov dword [esp + 4], esi
mov edx, 3
sub edx, eax
mov ecx, eax
and edx, 3
je 0x7d45f8
mov edi, dword [esp + 0x30]
movzx esi, word [ecx + ecx + 0x9df950]
inc ecx
mov word [edi + esi*2], 0
dec edx
jne 0x7d45e6
add eax, 0xfffffff0
cmp eax, 3
mov esi, dword [esp + 4]
mov edi, dword [esp + 8]
jb 0x7d4651
add ecx, 0xffffffed
mov edx, dword [esp + 0x30]
movzx eax, word [ecx + ecx + 0x9df976]
mov word [edx + eax*2], 0
movzx eax, word [ecx + ecx + 0x9df978]
mov word [edx + eax*2], 0
movzx eax, word [ecx + ecx + 0x9df97a]
mov word [edx + eax*2], 0
movzx eax, word [ecx + ecx + 0x9df97c]
mov word [edx + eax*2], 0
add ecx, 4
jne 0x7d460f
mov ecx, 0x13
mov dword [edi + 0x6c], ecx
mov eax, dword [esp + 0x44]
mov dword [edi + 0x70], eax
mov dword [edi + 0x50], eax
mov dword [edi + 0x58], 7
push dword [esp + 0x34]
push dword [esp + 0x44]
push dword [esp + 0x40]
push 0x13
push dword [esp + 0x40]
push 0
call fcn.007d8a70
add esp, 0x18
test eax, eax
je 0x7d470d
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x70]
mov dword [eax + 0x18], 0x9e02bd
jmp 0x7d59c1
mov ebx, ebp
mov dword [esp + 4], esi
mov esi, edx
mov ebp, dword [esp + 8]
mov ecx, edi
and ecx, 7
lea edx, [eax + 1]
mov dword [ebp + 0x6c], edx
movzx eax, word [eax + eax + 0x9df950]
mov word [ebp + eax*2 + 0x74], cx
shr edi, 3
add esi, 0xfffffffd
mov eax, edx
cmp edx, dword [ebp + 0x60]
mov edx, esi
mov esi, dword [esp + 4]
mov ebp, ebx
jae 0x7d45bd
cmp edx, 2
ja 0x7d469d
mov ebp, dword [esp]
test ebp, ebp
je 0x7d5ccc
mov ecx, edx
or edx, 8
mov ebx, esi
movzx esi, byte [esi]
shl esi, cl
dec ebp
mov dword [esp], ebp
inc ebx
mov dword [esp + 4], ebx
add edi, esi
mov ebp, dword [esp + 8]
mov esi, edx
mov ebx, dword [esp + 0x1c]
jmp 0x7d46a9
mov dword [edi + 0x6c], 0
mov dword [edi + 4], 0x3f46
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x18]
mov eax, dword [edi + 0x68]
mov ecx, dword [edi + 0x6c]
add eax, dword [edi + 0x64]
mov dword [esp + 0x3c], eax
cmp ecx, eax
jae 0x7d49d3
mov eax, dword [esp]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], ecx
mov ebp, dword [edi + 0x50]
movzx ecx, byte [edi + 0x58]
mov eax, ebx
mov ebx, 0xffffffff
shl ebx, cl
not ebx
mov esi, eax
mov ecx, eax
and ecx, ebx
mov eax, edx
mov dword [esp + 0x10], ebp
movzx edx, byte [ebp + ecx*4 + 1]
cmp eax, edx
jae 0x7d47b6
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], ecx
sub edi, 1
jb 0x7d5c4b
mov ebp, dword [esp + 4]
movzx edx, byte [ebp]
mov ecx, eax
shl edx, cl
inc ebp
mov dword [esp + 4], ebp
mov ecx, esi
add ecx, edx
add eax, 8
mov esi, ecx
and ecx, ebx
mov edx, dword [esp + 0x10]
movzx edx, byte [edx + ecx*4 + 1]
cmp eax, edx
jb 0x7d4782
jmp 0x7d47c2
mov edi, dword [esp + 0x24]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x20]
mov dword [esp], edi
mov edi, dword [esp + 0x10]
movzx edi, word [edi + ecx*4 + 2]
cmp edi, 0xf
ja 0x7d4804
mov ecx, edx
shr esi, cl
mov dword [esp + 0x10], esi
sub eax, edx
mov esi, dword [esp + 0x2c]
lea ecx, [esi + 1]
mov edx, dword [esp + 8]
mov dword [edx + 0x6c], ecx
mov word [edx + esi*2 + 0x74], di
mov edi, edx
mov edx, eax
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp]
mov esi, dword [esp + 4]
jmp 0x7d49af
cmp edi, 0x10
je 0x7d4862
cmp edi, 0x11
jne 0x7d48c0
lea edi, [edx + 3]
mov dword [esp + 0x10], edi
cmp eax, edi
mov ebp, dword [esp]
jae 0x7d4844
sub ebp, 1
jb 0x7d5ce6
mov ebx, dword [esp + 4]
movzx edi, byte [ebx]
mov ecx, eax
shl edi, cl
inc ebx
mov dword [esp + 4], ebx
add esi, edi
add eax, 8
cmp eax, dword [esp + 0x10]
jb 0x7d4820
mov dword [esp], ebp
mov ecx, edx
mov ebx, esi
shr ebx, cl
mov ebp, ebx
and ebp, 7
add ebp, 3
shr ebx, 3
sub eax, edx
add eax, 0xfffffffd
jmp 0x7d490b
lea ecx, [edx + 2]
mov ebp, ecx
cmp eax, ecx
jae 0x7d4893
mov ecx, dword [esp]
sub ecx, 1
jb 0x7d5ce6
mov dword [esp], ecx
mov ebx, dword [esp + 4]
movzx edi, byte [ebx]
mov ecx, eax
shl edi, cl
inc ebx
mov dword [esp + 4], ebx
add esi, edi
add eax, 8
cmp eax, ebp
jb 0x7d486b
mov ecx, edx
mov ebx, esi
shr ebx, cl
sub eax, edx
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x7d5bdf
mov ecx, dword [esp + 0x30]
movzx ecx, word [ecx + edx*2 - 2]
mov ebp, ebx
and ebp, 3
add ebp, 3
shr ebx, 2
add eax, 0xfffffffe
jmp 0x7d490d
lea edi, [edx + 7]
mov dword [esp + 0x10], edi
cmp eax, edi
mov ebp, dword [esp]
jae 0x7d48f2
sub ebp, 1
jb 0x7d5ce6
mov ebx, dword [esp + 4]
movzx edi, byte [ebx]
mov ecx, eax
shl edi, cl
inc ebx
mov dword [esp + 4], ebx
add esi, edi
add eax, 8
cmp eax, dword [esp + 0x10]
jb 0x7d48ce
mov dword [esp], ebp
mov ecx, edx
mov ebx, esi
shr ebx, cl
mov ebp, ebx
and ebp, 0x7f
add ebp, 0xb
shr ebx, 7
sub eax, edx
add eax, 0xfffffff9
xor ecx, ecx
mov edi, dword [esp + 8]
mov esi, dword [esp + 4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x2c]
add eax, ebp
cmp eax, dword [esp + 0x3c]
ja 0x7d5b6f
mov dword [esp + 4], esi
mov edx, ebp
mov eax, ebp
and edx, 3
mov esi, ebp
mov dword [esp + 0x10], ebx
je 0x7d495e
mov ebp, esi
mov eax, esi
and eax, 0xfffffffc
mov esi, dword [edi + 0x6c]
lea edi, [esi + 1]
mov ebx, dword [esp + 8]
mov dword [ebx + 0x6c], edi
mov edi, dword [esp + 8]
mov word [edi + esi*2 + 0x74], cx
dec edx
jne 0x7d4943
mov esi, ebp
cmp esi, 4
jb 0x7d49a0
mov edx, dword [edi + 0x6c]
lea esi, [edx + 1]
mov dword [edi + 0x6c], esi
mov word [edi + edx*2 + 0x74], cx
mov edx, dword [edi + 0x6c]
lea esi, [edx + 1]
mov dword [edi + 0x6c], esi
mov word [edi + edx*2 + 0x74], cx
mov edx, dword [edi + 0x6c]
lea esi, [edx + 1]
mov dword [edi + 0x6c], esi
mov word [edi + edx*2 + 0x74], cx
mov edx, dword [edi + 0x6c]
lea esi, [edx + 1]
mov dword [edi + 0x6c], esi
mov word [edi + edx*2 + 0x74], cx
add eax, 0xfffffffc
jne 0x7d4963
mov esi, dword [esp + 4]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp]
mov ebx, dword [edi + 0x68]
add ebx, dword [edi + 0x64]
mov ecx, dword [edi + 0x6c]
mov dword [esp], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x3c], ebx
cmp ecx, ebx
mov ebx, dword [esp + 0x10]
jb 0x7d4747
cmp dword [edi + 4], 0x3f51
je 0x7d3f04
cmp word [edi + 0x274], 0
je 0x7d4c0d
mov dword [esp + 4], esi
mov esi, edx
mov eax, dword [esp + 0x44]
mov dword [edi + 0x70], eax
mov dword [edi + 0x50], eax
mov dword [edi + 0x58], 9
push dword [esp + 0x34]
push dword [esp + 0x44]
push dword [esp + 0x40]
push dword [edi + 0x64]
push dword [esp + 0x40]
push 1
call fcn.007d8a70
add esp, 0x18
test eax, eax
je 0x7d4dda
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x70]
mov dword [eax + 0x18], 0x9e0315
jmp 0x7d4e22
mov eax, dword [edi + 0x24]
test eax, eax
je 0x7d4a4f
mov ecx, ebx
shr ecx, 8
and ecx, 1
mov dword [eax], ecx
test byte [edi + 0x15], 2
je 0x7d4a79
test byte [edi + 0xc], 4
je 0x7d4a79
mov byte [esp + 0x54], 8
mov byte [esp + 0x55], bh
lea eax, [esp + 0x54]
push 2
push eax
push dword [edi + 0x1c]
call fcn.007d6b50
add esp, 0xc
mov dword [edi + 0x1c], eax
mov dword [edi + 4], 0x3f36
xor edx, edx
xor ebx, ebx
mov edi, dword [esp]
test edi, edi
je 0x7d5e4c
mov eax, edx
movzx edx, byte [esi]
mov ecx, eax
shl edx, cl
mov ecx, esi
lea esi, [edi - 1]
add ebx, edx
mov dword [esp + 4], ecx
lea edx, [ecx + 1]
cmp eax, 0x17
ja 0x7d4b32
lea ecx, [eax + 8]
test esi, esi
je 0x7d5e19
mov edi, dword [esp + 4]
movzx edx, byte [edi + 1]
shl edx, cl
mov ecx, dword [esp]
lea esi, [ecx - 2]
add ebx, edx
mov dword [esp + 0x10], ebx
lea edx, [edi + 2]
cmp eax, 0xf
ja 0x7d4b40
lea ecx, [eax + 0x10]
test esi, esi
mov edi, dword [esp + 8]
je 0x7d618c
mov ebx, dword [esp + 4]
movzx edx, byte [ebx + 2]
shl edx, cl
mov ecx, dword [esp]
lea esi, [ecx - 3]
add dword [esp + 0x10], edx
lea ecx, [ebx + 3]
cmp eax, 7
ja 0x7d4e34
mov edx, eax
add edx, 0x18
test esi, esi
je 0x7d6199
add dword [esp], 0xfffffffc
mov esi, dword [esp + 4]
movzx eax, byte [esi + 3]
add esi, 4
mov ecx, edx
shl eax, cl
mov ebx, dword [esp + 0x10]
add ebx, eax
jmp 0x7d4e3d
mov dword [esp], esi
mov esi, edx
mov edi, dword [esp + 8]
jmp 0x7d4e3d
mov dword [esp], esi
mov esi, edx
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 8]
jmp 0x7d4e3d
mov dword [esp], ebp
mov ecx, ebx
mov edx, dword [esp + 8]
mov ebx, edi
mov edi, edx
mov edx, ecx
mov ebp, dword [esp + 0x1c]
test al, 2
je 0x7d4bb9
cmp ebx, 0x8b1f
jne 0x7d4bb9
cmp dword [edi + 0x28], 0
jne 0x7d4b7e
mov dword [edi + 0x28], 0xf
push 0
push 0
push 0
call fcn.007d6b50
add esp, 0xc
mov dword [edi + 0x1c], eax
mov word [esp + 0x54], 0x8b1f
lea ecx, [esp + 0x54]
push 2
push ecx
push eax
call fcn.007d6b50
add esp, 0xc
mov dword [edi + 0x1c], eax
mov dword [edi + 4], 0x3f35
xor ebx, ebx
xor edx, edx
jmp 0x7d3f04
mov eax, dword [edi + 0x24]
test eax, eax
je 0x7d4bc7
mov dword [eax + 0x30], 0xffffffff
test byte [edi + 0xc], 1
je 0x7d4bed
mov eax, ebx
shl eax, 8
movzx eax, ax
mov ecx, ebx
shr ecx, 8
add ecx, eax
imul eax, ecx, 0xbdef7bdf
cmp eax, 0x8421085
jb 0x7d530e
mov eax, dword [esp + 0x70]
mov dword [eax + 0x18], 0x9e01f6
mov dword [edi + 4], 0x3f51
jmp 0x7d3f04
mov dword [esp + 4], edx
mov dword [esp], eax
jmp 0x7d4c3f
mov eax, dword [esp + 0x70]
mov dword [eax + 0x18], 0x9e02f0
mov dword [edi + 4], 0x3f51
jmp 0x7d3f04
mov dword [esp], esi
mov esi, edx
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 8]
jmp 0x7d538f
mov dword [esp + 4], edx
mov dword [esp], eax
mov esi, ecx
mov edi, dword [esp + 8]
mov ecx, dword [esp + 0x28]
mov eax, ecx
sub eax, ebp
mov edx, dword [esp + 0x70]
add dword [edx + 0x14], eax
add dword [edi + 0x20], eax
test byte [edi + 0xc], 4
je 0x7d4c8d
cmp ecx, ebp
je 0x7d4c8d
mov edx, dword [esp + 0xc]
sub edx, eax
cmp dword [edi + 0x14], 0
mov ecx, dword [edi + 0x1c]
je 0x7d4c78
push eax
push edx
push ecx
call fcn.007d6b50
jmp 0x7d4c80
push eax
push edx
push ecx
call fcn.007d6620
add esp, 0xc
mov dword [edi + 0x1c], eax
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x30], eax
test byte [edi + 0xc], 4
je 0x7d4ca7
cmp dword [edi + 0x14], 0
mov eax, ebx
bswap eax
cmovne eax, ebx
cmp eax, dword [edi + 0x1c]
jne 0x7d4dc2
xor ebx, ebx
xor edx, edx
mov dword [esp + 0x28], ebp
mov esi, dword [esp + 4]
mov dword [edi + 4], 0x3f4f
mov eax, dword [edi + 0xc]
test eax, eax
je 0x7d5d2c
cmp dword [edi + 0x14], 0
je 0x7d5d2c
cmp edx, 0x1f
ja 0x7d4d9a
mov ecx, dword [esp]
test ecx, ecx
je 0x7d5e28
mov ebp, ebx
mov ebx, edx
lea edx, [ecx - 1]
movzx edi, byte [esi]
mov ecx, ebx
shl edi, cl
mov dword [esp + 4], esi
inc esi
add ebp, edi
mov dword [esp + 0x10], ebp
lea ecx, [ebx + 8]
cmp ebx, 0x17
ja 0x7d4d7a
test edx, edx
je 0x7d60eb
mov ebp, ebx
mov edx, dword [esp]
add edx, 0xfffffffe
mov esi, dword [esp + 4]
movzx edi, byte [esi + 1]
shl edi, cl
add esi, 2
mov ebx, dword [esp + 0x10]
add ebx, edi
lea ecx, [ebp + 0x10]
cmp ebp, 0xf
ja 0x7d4d8d
test edx, edx
je 0x7d60e0
mov edx, dword [esp]
add edx, 0xfffffffd
mov esi, dword [esp + 4]
movzx edi, byte [esi + 2]
shl edi, cl
add esi, 3
add ebx, edi
lea ecx, [ebp + 0x18]
cmp ebp, 7
ja 0x7d4d8d
test edx, edx
mov edi, dword [esp + 8]
je 0x7d61d7
mov esi, dword [esp + 4]
movzx edx, byte [esi + 3]
shl edx, cl
add dword [esp], 0xfffffffc
add esi, 4
add ebx, edx
mov edx, ebp
or edx, 0x20
jmp 0x7d4d96
mov dword [esp], edx
mov edx, ecx
mov edi, dword [esp + 8]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
jmp 0x7d4d9a
mov dword [esp], edx
mov edx, ecx
mov edi, dword [esp + 8]
mov ebp, dword [esp + 0x1c]
test al, 4
je 0x7d5d28
cmp ebx, dword [edi + 0x20]
je 0x7d5d28
mov eax, dword [esp + 0x70]
mov dword [eax + 0x18], 0x9e03ac
mov dword [edi + 4], 0x3f51
jmp 0x7d3f04
mov eax, dword [esp + 0x70]
mov dword [eax + 0x18], 0x9e0397
mov dword [edi + 4], 0x3f51
mov dword [esp + 0x28], ebp
jmp 0x7d4e29
mov eax, dword [edi + 0x70]
mov dword [edi + 0x54], eax
mov dword [edi + 0x5c], 6
mov eax, dword [edi + 0x64]
mov ecx, dword [esp + 0x30]
lea eax, [ecx + eax*2]
push dword [esp + 0x34]
push dword [esp + 0x50]
push dword [esp + 0x40]
push dword [edi + 0x68]
push eax
push 2
call fcn.007d8a70
add esp, 0x18
mov dword [esp + 0x14], eax
test eax, eax
je 0x7d54ae
mov eax, dword [esp + 0x70]
mov dword [eax + 0x18], 0x9e0331
mov dword [edi + 4], 0x3f51
mov edx, esi
mov esi, dword [esp + 4]
jmp 0x7d3f04
mov dword [esp], esi
mov esi, ecx
mov ebx, dword [esp + 0x10]
mov eax, dword [edi + 0x24]
test eax, eax
je 0x7d4e47
mov dword [eax + 4], ebx
test byte [edi + 0x15], 2
je 0x7d4e6c
test byte [edi + 0xc], 4
je 0x7d4e6c
mov dword [esp + 0x54], ebx
lea eax, [esp + 0x54]
push 4
push eax
push dword [edi + 0x1c]
call fcn.007d6b50
add esp, 0xc
mov dword [edi + 0x1c], eax
mov dword [edi + 4], 0x3f37
xor edx, edx
xor ebx, ebx
mov eax, dword [esp]
test eax, eax
je 0x7d5e28
mov ecx, edx
movzx edx, byte [esi]
shl edx, cl
dec eax
add ebx, edx
mov edx, ecx
lea ecx, [esi + 1]
cmp edx, 7
ja 0x7d4eb4
add edx, 8
test eax, eax
je 0x7d5e26
add dword [esp], 0xfffffffe
movzx eax, byte [esi + 1]
add esi, 2
mov ecx, edx
shl eax, cl
add ebx, eax
jmp 0x7d4eb9
mov esi, ecx
mov dword [esp], eax
mov eax, dword [edi + 0x24]
test eax, eax
je 0x7d4ed1
movzx ecx, bl
mov dword [eax + 8], ecx
mov eax, ebx
shr eax, 8
mov ecx, dword [edi + 0x24]
mov dword [ecx + 0xc], eax
mov dword [esp + 4], esi
test byte [edi + 0x15], 2
je 0x7d4efb
test byte [edi + 0xc], 4
je 0x7d4efb
mov word [esp + 0x54], bx
lea eax, [esp + 0x54]
push 2
push eax
push dword [edi + 0x1c]
call fcn.007d6b50
add esp, 0xc
mov dword [edi + 0x1c], eax
mov dword [edi + 4], 0x3f38
xor edx, edx
test byte [edi + 0x15], 4
mov esi, 0
mov ebx, 0
mov ebp, dword [esp]
jne 0x7d4f32
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x7d4fc4
mov dword [eax + 0x10], 0
jmp 0x7d4fc4
test ebp, ebp
je 0x7d5dc8
mov ecx, edx
mov ebx, dword [esp + 4]
movzx edx, byte [ebx]
shl edx, cl
lea eax, [ebp - 1]
mov edi, esi
mov esi, ebx
mov ebx, edi
add ebx, edx
mov edx, ecx
lea ecx, [esi + 1]
cmp edx, 7
ja 0x7d4f7d
add edx, 8
test eax, eax
je 0x7d5e4a
add ebp, 0xfffffffe
movzx eax, byte [esi + 1]
add esi, 2
mov dword [esp + 4], esi
mov ecx, edx
shl eax, cl
add ebx, eax
mov esi, ebx
jmp 0x7d4f85
mov esi, ebx
mov dword [esp + 4], ecx
mov ebp, eax
mov eax, dword [esp + 8]
mov dword [eax + 0x44], esi
mov eax, dword [eax + 0x24]
test eax, eax
je 0x7d4f96
mov dword [eax + 0x14], esi
xor ebx, ebx
mov edi, dword [esp + 8]
test byte [edi + 0x15], 2
je 0x7d4fc2
test byte [edi + 0xc], 4
je 0x7d4fc2
mov word [esp + 0x54], si
lea eax, [esp + 0x54]
push 2
push eax
push dword [edi + 0x1c]
call fcn.007d6b50
add esp, 0xc
mov dword [edi + 0x1c], eax
xor edx, edx
mov esi, dword [esp + 4]
mov edi, dword [esp + 8]
mov dword [edi + 4], 0x3f39
test byte [edi + 0x15], 4
mov dword [esp], ebp
je 0x7d506e
mov dword [esp + 0x10], ebx
mov eax, dword [edi + 0x44]
cmp eax, ebp
mov ecx, edi
mov ebx, ebp
cmovb ebx, eax
test ebx, ebx
je 0x7d5060
mov ebp, edx
mov dword [esp + 4], esi
mov edi, ecx
mov esi, dword [ecx + 0x24]
test esi, esi
je 0x7d502f
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x7d502f
mov edx, dword [esi + 0x14]
mov esi, dword [esi + 0x18]
sub edx, eax
mov eax, esi
sub eax, edx
jbe 0x7d502f
add ecx, edx
add edx, ebx
cmp edx, esi
cmovbe eax, ebx
push eax
push dword [esp + 8]
push ecx
call fcn.00935430
add esp, 0xc
test byte [edi + 0x15], 2
mov esi, dword [esp + 4]
je 0x7d504f
test byte [edi + 0xc], 4
je 0x7d504f
push ebx
push esi
push dword [edi + 0x1c]
call fcn.007d6b50
add esp, 0xc
mov dword [edi + 0x1c], eax
sub dword [esp], ebx
add esi, ebx
mov eax, dword [edi + 0x44]
sub eax, ebx
mov dword [edi + 0x44], eax
mov edx, ebp
jmp 0x7d5062
mov edi, ecx
test eax, eax
mov ebx, dword [esp + 0x10]
jne 0x7d5e2f
mov dword [edi + 0x44], 0
mov dword [edi + 4], 0x3f3a
mov eax, dword [esp + 0xc]
test byte [edi + 0x15], 8
jne 0x7d509d
mov eax, dword [edi + 0x24]
test eax, eax
je 0x7d5132
mov dword [eax + 0x1c], 0
jmp 0x7d5132
cmp dword [esp], 0
je 0x7d5d4e
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], ebx
xor ebx, ebx
mov ebp, dword [esp]
nop word cs:[eax + eax]
movzx eax, byte [esi + ebx]
mov byte [esp + 4], al
mov ecx, dword [edi + 0x24]
test ecx, ecx
je 0x7d50f0
mov eax, dword [ecx + 0x1c]
test eax, eax
je 0x7d50f0
mov edx, dword [edi + 0x44]
cmp edx, dword [ecx + 0x20]
jae 0x7d50f0
lea ecx, [edx + 1]
mov dword [edi + 0x44], ecx
movzx ecx, byte [esp + 4]
mov byte [eax + edx], cl
nop dword [eax]
inc ebx
cmp byte [esp + 4], 0
je 0x7d50fc
cmp ebx, ebp
jb 0x7d50c0
test byte [edi + 0x15], 2
je 0x7d511a
mov ebp, edi
test byte [edi + 0xc], 4
je 0x7d511a
push ebx
push esi
push dword [ebp + 0x1c]
call fcn.007d6b50
add esp, 0xc
mov dword [ebp + 0x1c], eax
cmp byte [esp + 4], 0
jne 0x7d5d0a
sub dword [esp], ebx
add esi, ebx
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov dword [edi + 0x44], 0
mov dword [edi + 4], 0x3f3b
test byte [edi + 0x15], 0x10
jne 0x7d515d
mov eax, dword [edi + 0x24]
test eax, eax
je 0x7d51f2
mov dword [eax + 0x24], 0
jmp 0x7d51f2
cmp dword [esp], 0
je 0x7d5e28
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], ebx
xor ebx, ebx
mov ebp, dword [esp]
nop word cs:[eax + eax]
movzx eax, byte [esi + ebx]
mov byte [esp + 4], al
mov ecx, dword [edi + 0x24]
test ecx, ecx
je 0x7d51b0
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x7d51b0
mov edx, dword [edi + 0x44]
cmp edx, dword [ecx + 0x28]
jae 0x7d51b0
lea ecx, [edx + 1]
mov dword [edi + 0x44], ecx
movzx ecx, byte [esp + 4]
mov byte [eax + edx], cl
nop dword [eax]
inc ebx
cmp byte [esp + 4], 0
je 0x7d51bc
cmp ebx, ebp
jb 0x7d5180
test byte [edi + 0x15], 2
je 0x7d51da
mov ebp, edi
test byte [edi + 0xc], 4
je 0x7d51da
push ebx
push esi
push dword [ebp + 0x1c]
call fcn.007d6b50
add esp, 0xc
mov dword [ebp + 0x1c], eax
cmp byte [esp + 4], 0
jne 0x7d5d0a
sub dword [esp], ebx
add esi, ebx
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov dword [edi + 4], 0x3f3c
mov eax, dword [edi + 0x14]
test eax, 0x200
jne 0x7d520e
mov ebp, ebx
mov ebx, edi
mov edi, esi
jmp 0x7d529f
cmp edx, 0xf
mov dword [esp + 4], esi
ja 0x7d5272
mov ecx, dword [esp]
test ecx, ecx
je 0x7d5e28
mov dword [esp], ecx
mov ebp, ebx
mov ebx, edx
lea edx, [ecx - 1]
movzx edi, byte [esi]
mov ecx, ebx
shl edi, cl
inc esi
add ebp, edi
mov dword [esp + 0x10], ebp
lea ecx, [ebx + 8]
cmp ebx, 7
ja 0x7d5278
mov edi, ebx
test edx, edx
mov ebx, dword [esp + 8]
je 0x7d5d9e
mov esi, dword [esp + 4]
movzx edx, byte [esi + 1]
shl edx, cl
add dword [esp], 0xfffffffe
add esi, 2
mov dword [esp + 4], esi
mov esi, dword [esp + 0x10]
add esi, edx
mov edx, edi
or edx, 0x10
jmp 0x7d5289
mov esi, ebx
mov ebx, edi
jmp 0x7d5289
mov dword [esp + 4], esi
mov dword [esp], edx
mov edx, ecx
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0x10]
test byte [ebx + 0xc], 4
je 0x7d5297
movzx ecx, word [ebx + 0x1c]
cmp esi, ecx
jne 0x7d52eb
mov edi, dword [esp + 4]
xor edx, edx
xor ebp, ebp
mov esi, edx
mov ecx, dword [ebx + 0x24]
test ecx, ecx
je 0x7d52bb
shr eax, 9
and eax, 1
mov dword [ecx + 0x2c], eax
mov eax, dword [ebx + 0x24]
mov dword [eax + 0x30], 1
push 0
push 0
push 0
call fcn.007d6b50
add esp, 0xc
mov dword [ebx + 0x1c], eax
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x30], eax
mov dword [ebx + 4], 0x3f3f
mov edx, esi
mov esi, edi
mov edi, ebx
mov ebx, ebp
mov ebp, dword [esp + 0x1c]
jmp 0x7d3f04
mov eax, dword [esp + 0x70]
mov dword [eax + 0x18], 0x9e0255
mov dword [ebx + 4], 0x3f51
mov edi, ebx
mov ebp, dword [esp + 0x1c]
mov ebx, esi
mov esi, dword [esp + 4]
jmp 0x7d3f04
mov eax, ebx
and eax, 0xf
cmp eax, 8
jne 0x7d5b58
mov ecx, edi
mov edi, edx
mov dword [esp + 4], esi
mov esi, ebp
mov ebp, ecx
mov dword [esp + 0x10], ebx
mov eax, ebx
shr eax, 4
mov ecx, eax
and ecx, 0xf
lea edx, [ecx + 8]
mov ebx, ebp
cmp dword [ebp + 0x28], 0
jne 0x7d5344
mov dword [ebx + 0x28], edx
cmp ecx, 7
ja 0x7d5352
cmp edx, dword [ebx + 0x28]
jbe 0x7d5b8e
mov edx, edi
add edx, 0xfffffffc
mov ebp, dword [esp + 0x70]
mov dword [ebp + 0x18], 0x9e0228
mov edi, ebx
mov dword [ebx + 4], 0x3f51
mov ebx, eax
mov ebp, esi
mov esi, dword [esp + 4]
jmp 0x7d3f04
mov dword [esp], edx
mov edx, eax
mov ebx, esi
mov esi, ecx
jmp 0x7d43c9
mov dword [esp], esi
mov esi, ecx
mov ebx, dword [esp + 0x10]
bswap ebx
mov dword [edi + 0x1c], ebx
mov eax, dword [esp + 0x70]
mov dword [eax + 0x30], ebx
mov dword [edi + 4], 0x3f3e
xor ebx, ebx
xor edx, edx
mov eax, dword [esp + 0xc]
cmp dword [edi + 0x10], 0
je 0x7d5d5e
push 0
push 0
push 0
mov ebp, ebx
mov ebx, edi
mov edi, esi
mov esi, edx
call fcn.007d6620
mov edx, esi
mov esi, edi
mov edi, ebx
mov ebx, ebp
mov ebp, dword [esp + 0x28]
add esp, 0xc
mov dword [edi + 0x1c], eax
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x30], eax
mov dword [edi + 4], 0x3f3f
cmp dword [esp + 0x50], 2
mov eax, dword [esp + 0xc]
jb 0x7d5d45
cmp dword [edi + 8], 0
je 0x7d5412
mov ecx, edx
and cl, 7
shr ebx, cl
and edx, 0xfffffff8
mov dword [edi + 4], 0x3f4e
jmp 0x7d3f04
cmp edx, 2
ja 0x7d543b
mov edi, dword [esp]
test edi, edi
je 0x7d5e3d
mov eax, edx
or eax, 8
mov ecx, edx
movzx edx, byte [esi]
shl edx, cl
dec edi
mov dword [esp], edi
inc esi
add ebx, edx
mov edx, eax
mov edi, dword [esp + 8]
mov eax, ebx
and eax, 1
mov dword [edi + 8], eax
mov ecx, ebx
shr ecx, 1
and ecx, 3
mov eax, 0x3f41
jmp dword [ecx*4 + 0x9e0440]
mov dword [edi + 0x50], 0x9df976
mov dword [edi + 0x58], 9
mov dword [edi + 0x54], 0x9e0176
mov dword [edi + 0x5c], 5
mov dword [edi + 4], 0x3f47
cmp dword [esp + 0x74], 6
jne 0x7d549f
jmp 0x7d6101
mov eax, 0x3f44
jmp case.0x7d544f.0
mov dword [edi + 4], eax
shr ebx, 3
add edx, 0xfffffffd
mov ebp, dword [esp + 0x1c]
jmp 0x7d3f04
mov dword [esp + 0x14], 0
mov dword [edi + 4], 0x3f47
cmp dword [esp + 0x74], 6
mov edx, esi
mov esi, dword [esp + 4]
je 0x7d6201
mov dword [edi + 4], 0x3f48
mov eax, dword [esp + 0x28]
cmp dword [esp], 6
jb 0x7d5549
cmp ebp, 0x102
jb 0x7d5549
mov ecx, dword [esp + 0xc]
mov edi, esi
mov esi, dword [esp + 0x70]
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], ebp
mov dword [esi], edi
mov ecx, dword [esp]
mov dword [esi + 4], ecx
mov edi, dword [esp + 8]
mov dword [edi + 0x3c], ebx
mov dword [edi + 0x40], edx
push eax
push esi
call fcn.007d92d0
add esp, 8
mov eax, dword [esi + 0xc]
mov dword [esp + 0xc], eax
mov ebp, dword [esi + 0x10]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [esp], ecx
mov esi, eax
mov ebx, dword [edi + 0x3c]
mov edx, dword [edi + 0x40]
cmp dword [edi + 4], 0x3f3f
jne 0x7d3f04
mov dword [edi + 0x1bc8], 0xffffffff
jmp 0x7d3f04
mov eax, dword [esp + 8]
mov dword [eax + 0x1bc8], 0
movzx ecx, byte [eax + 0x58]
mov ebp, 0xffffffff
shl ebp, cl
mov edi, dword [eax + 0x50]
not ebp
mov ecx, ebx
mov dword [esp + 0x20], ebp
and ecx, ebp
movzx eax, byte [edi + ecx*4 + 1]
movzx ebp, al
mov dword [esp + 0x24], ebp
cmp edx, ebp
mov dword [esp + 0x10], edi
jae 0x7d55d7
mov ecx, edx
mov edx, ebx
mov dword [esp + 0x18], ecx
mov edi, dword [esp]
mov dword [esp + 4], esi
mov ebx, esi
sub edi, 1
jb 0x7d5c13
movzx eax, byte [ebx]
shl eax, cl
inc ebx
mov esi, edx
add esi, eax
add ecx, 8
mov edx, esi
and esi, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + esi*4 + 1]
movzx ebp, al
cmp ecx, ebp
jb 0x7d5594
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x10]
lea ebp, [ebp + esi*4]
mov esi, ebx
mov dword [esp], edi
mov ebx, edx
mov edx, ecx
jmp 0x7d55da
lea ebp, [edi + ecx*4]
movzx edi, word [ebp + 2]
mov ch, byte [ebp]
mov cl, ch
dec cl
cmp cl, 0xe
ja 0x7d56a0
mov dword [esp + 4], esi
movzx ecx, ch
mov eax, dword [esp + 0x24]
add ecx, eax
mov ebp, eax
mov eax, 0xffffffff
shl eax, cl
mov dword [esp + 0x18], edx
movzx edx, di
not eax
mov esi, ebx
mov dword [esp + 0x20], eax
and esi, eax
mov ecx, ebp
shr esi, cl
mov eax, dword [esp + 0x10]
lea edi, [eax + edx*4]
mov edx, dword [esp + 0x18]
movzx eax, byte [edi + esi*4 + 1]
lea ecx, [eax + ebp]
cmp ecx, edx
mov ebp, dword [esp + 0x1c]
jbe 0x7d56af
mov dword [esp + 0x2c], edi
mov dword [esp + 0x10], ebx
mov ebx, edx
mov ebp, dword [esp]
mov edi, dword [esp + 4]
sub ebp, 1
jb 0x7d5ca0
movzx edx, byte [edi]
mov ecx, ebx
shl edx, cl
inc edi
mov esi, dword [esp + 0x10]
add esi, edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x10], esi
and esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
shr esi, cl
add ebx, 8
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax + esi*4 + 1]
add ecx, eax
cmp ecx, ebx
ja 0x7d5645
mov ecx, dword [esp + 0x2c]
lea ecx, [ecx + esi*4]
mov dword [esp + 0x20], ecx
mov esi, edi
mov dword [esp], ebp
mov edx, ebx
mov edi, dword [esp + 8]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
jmp 0x7d56be
mov ebp, dword [esp + 0x1c]
mov word [esp + 4], di
mov edi, dword [esp + 8]
jmp 0x7d56ee
lea ecx, [edi + esi*4]
mov dword [esp + 0x20], ecx
mov esi, dword [esp + 4]
mov edi, dword [esp + 8]
mov ecx, dword [esp + 0x24]
shr ebx, cl
mov ecx, dword [esp + 0x20]
movzx ecx, word [ecx + 2]
mov word [esp + 4], cx
mov ecx, dword [esp + 0x20]
movzx ecx, byte [ecx]
mov byte [esp + 0x10], cl
sub edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
mov dword [edi + 0x1bc8], ecx
mov ch, byte [esp + 0x10]
mov cl, al
shr ebx, cl
movzx eax, al
add dword [edi + 0x1bc8], eax
sub edx, eax
movzx eax, word [esp + 4]
mov dword [edi + 0x44], eax
test ch, ch
je 0x7d5b1f
movzx eax, ch
test al, 0x20
jne 0x7d5b2b
test al, 0x40
jne 0x7d5b41
and eax, 0xf
mov dword [edi + 0x4c], eax
mov dword [edi + 4], 0x3f49
test eax, eax
jne 0x7d3fd0
mov dword [esp + 4], esi
mov esi, edi
mov eax, dword [esi + 0x44]
mov dword [esi + 0x1bcc], eax
mov dword [esi + 4], 0x3f4a
movzx ecx, byte [esi + 0x5c]
mov eax, 0xffffffff
shl eax, cl
mov ebp, dword [esi + 0x54]
not eax
mov ecx, ebx
mov dword [esp + 0x10], eax
and ecx, eax
movzx eax, byte [ebp + ecx*4 + 1]
movzx esi, al
mov dword [esp + 0x24], esi
cmp edx, esi
mov dword [esp + 0x20], ebp
jae 0x7d57cb
mov ecx, edx
mov edx, ebx
mov dword [esp + 0x18], ecx
mov edi, dword [esp]
mov ebx, dword [esp + 4]
sub edi, 1
jb 0x7d5c13
movzx eax, byte [ebx]
shl eax, cl
inc ebx
mov esi, edx
add esi, eax
add ecx, 8
mov edx, esi
and esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
movzx eax, byte [eax + esi*4 + 1]
movzx ebp, al
cmp ecx, ebp
jb 0x7d5786
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x20]
lea ebp, [ebp + esi*4]
mov esi, ebx
mov dword [esp], edi
mov dword [esp + 0x10], edx
mov edx, ecx
jmp 0x7d57d7
mov dword [esp + 0x10], ebx
lea ebp, [ebp + ecx*4]
mov esi, dword [esp + 4]
movzx edi, word [ebp + 2]
movzx ebx, byte [ebp]
cmp ebx, 0xf
mov ecx, dword [esp + 0x24]
ja 0x7d5885
mov dword [esp + 4], esi
add ebx, ecx
mov eax, 0xffffffff
mov ebp, ecx
mov ecx, ebx
shl eax, cl
mov dword [esp + 0x18], edx
movzx edx, di
not eax
mov esi, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
and esi, eax
mov ecx, ebp
shr esi, cl
mov eax, dword [esp + 0x20]
lea edi, [eax + edx*4]
mov edx, dword [esp + 0x18]
movzx eax, byte [edi + esi*4 + 1]
lea ecx, [eax + ebp]
cmp ecx, edx
jbe 0x7d5894
mov dword [esp + 0x20], edi
mov ebx, edx
mov ebp, dword [esp]
mov edi, dword [esp + 4]
sub ebp, 1
jb 0x7d5ca0
movzx edx, byte [edi]
mov ecx, ebx
shl edx, cl
inc edi
mov esi, dword [esp + 0x10]
add esi, edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x10], esi
and esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
shr esi, cl
add ebx, 8
mov eax, dword [esp + 0x20]
movzx eax, byte [eax + esi*4 + 1]
add ecx, eax
cmp ecx, ebx
ja 0x7d5838
mov ecx, dword [esp + 0x20]
lea ecx, [ecx + esi*4]
mov esi, edi
mov dword [esp], ebp
mov edx, ebx
mov ebx, ecx
jmp 0x7d589b
mov word [esp + 4], di
mov edi, dword [esp + 8]
mov ebp, dword [esp + 0x10]
jmp 0x7d58bd
lea ebx, [edi + esi*4]
mov esi, dword [esp + 4]
mov edi, dword [esp + 8]
movzx ecx, word [ebx + 2]
mov word [esp + 4], cx
movzx ebx, byte [ebx]
mov ecx, dword [esp + 0x24]
sub edx, ecx
add dword [edi + 0x1bc8], ecx
mov ebp, dword [esp + 0x10]
shr ebp, cl
mov ecx, eax
shr ebp, cl
mov dword [esp + 0x10], ebp
movzx eax, al
add dword [edi + 0x1bc8], eax
sub edx, eax
movzx ecx, bl
test cl, 0x40
jne 0x7d5935
movzx eax, word [esp + 4]
mov dword [edi + 0x48], eax
and ecx, 0xf
mov dword [edi + 0x4c], ecx
mov dword [edi + 4], 0x3f4b
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
test ecx, ecx
je 0x7d5982
mov edi, ebx
cmp edx, ecx
jae 0x7d5954
mov dword [esp + 0x18], edx
mov ebx, dword [esp]
mov ebp, esi
mov dword [esp + 4], ecx
sub ebx, 1
jb 0x7d5c7a
mov eax, esi
movzx esi, byte [ebp]
mov ecx, edx
shl esi, cl
inc ebp
add edi, esi
mov esi, eax
mov ecx, dword [esp + 4]
add edx, 8
cmp edx, ecx
jb 0x7d5910
jmp 0x7d5959
mov eax, dword [esp + 0x70]
mov dword [eax + 0x18], 0x9e0363
mov dword [edi + 4], 0x3f51
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
jmp 0x7d3f04
mov ebp, esi
mov ebx, dword [esp]
mov esi, 0xffffffff
shl esi, cl
not esi
and esi, edi
mov eax, dword [esp + 8]
add dword [eax + 0x48], esi
shr edi, cl
add dword [eax + 0x1bc8], ecx
sub edx, ecx
mov esi, ebp
mov dword [esp], ebx
mov ebx, edi
mov edi, eax
mov ebp, dword [esp + 0x1c]
mov dword [edi + 4], 0x3f4c
mov eax, dword [esp + 0x28]
test ebp, ebp
je 0x7d5e2f
mov dword [esp + 0x18], edx
sub eax, ebp
mov edx, dword [edi + 0x48]
mov ecx, edx
sub ecx, eax
mov dword [esp + 0x10], ebx
jbe 0x7d59d1
cmp ecx, dword [edi + 0x30]
jbe 0x7d59e2
cmp dword [edi + 0x1bc4], 0
je 0x7d59e2
mov eax, dword [esp + 0x70]
mov dword [eax + 0x18], 0x9e0379
mov dword [edi + 4], 0x3f51
mov edx, dword [esp + 0x18]
jmp 0x7d3f04
mov ebx, edi
mov edi, esi
mov esi, ebp
mov eax, dword [esp + 0xc]
sub eax, edx
mov ebp, dword [ebx + 0x44]
jmp 0x7d5a0a
mov ebx, edi
mov edi, esi
mov eax, dword [ebx + 0x34]
mov edx, ecx
mov esi, ebp
sub edx, eax
jbe 0x7d59fb
mov eax, dword [ebx + 0x2c]
sub eax, edx
add eax, dword [ebx + 0x38]
jmp 0x7d5a02
sub eax, ecx
add eax, dword [ebx + 0x38]
mov edx, ecx
mov ebp, dword [ebx + 0x44]
cmp edx, ebp
cmovb ebp, edx
cmp ebp, esi
cmovae ebp, esi
sub dword [ebx + 0x44], ebp
cmp ebp, 0x10
mov dword [esp + 4], edi
jb 0x7d5a5c
mov edx, dword [esp + 0xc]
sub edx, eax
cmp edx, 0x10
jb 0x7d5a5c
mov ebx, edi
mov edi, ebp
and edi, 0xfffffff0
mov ecx, ebp
and ecx, 0xf
xor esi, esi
mov edx, dword [esp + 0xc]
movups xmm0, xmmword [eax + esi]
movups xmmword [edx + esi], xmm0
add esi, 0x10
cmp edi, esi
jne 0x7d5a38
add edx, edi
mov dword [esp + 0xc], edx
cmp ebp, edi
jne 0x7d5a60
mov edi, dword [esp + 8]
mov esi, ebx
jmp 0x7d5af9
mov ecx, ebp
jmp 0x7d5a62
add eax, edi
mov edx, dword [esp + 0x18]
mov edi, ecx
mov ebx, ecx
and edi, 7
je 0x7d5a8e
and ebx, 0xfffffff8
mov esi, dword [esp + 0xc]
movzx edx, byte [eax]
inc eax
mov byte [esi], dl
inc esi
dec edi
jne 0x7d5a76
mov dword [esp + 0xc], esi
mov esi, dword [esp + 4]
mov edx, dword [esp + 0x18]
jmp 0x7d5a92
mov esi, dword [esp + 4]
dec ecx
cmp ecx, 7
mov edi, dword [esp + 8]
jb 0x7d5afd
xor edx, edx
mov esi, dword [esp + 0xc]
movzx ecx, byte [eax + edx]
mov byte [esi + edx], cl
movzx ecx, byte [eax + edx + 1]
mov byte [esi + edx + 1], cl
movzx ecx, byte [eax + edx + 2]
mov byte [esi + edx + 2], cl
movzx ecx, byte [eax + edx + 3]
mov byte [esi + edx + 3], cl
movzx ecx, byte [eax + edx + 4]
mov byte [esi + edx + 4], cl
movzx ecx, byte [eax + edx + 5]
mov byte [esi + edx + 5], cl
movzx ecx, byte [eax + edx + 6]
mov byte [esi + edx + 6], cl
movzx ecx, byte [eax + edx + 7]
mov byte [esi + edx + 7], cl
add edx, 8
cmp ebx, edx
jne 0x7d5aa2
add esi, edx
mov dword [esp + 0xc], esi
mov esi, dword [esp + 4]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
sub eax, ebp
mov ebp, eax
cmp dword [edi + 0x44], 0
mov ebx, dword [esp + 0x10]
jne 0x7d3f04
mov dword [edi + 4], 0x3f48
jmp 0x7d3f04
mov dword [edi + 4], 0x3f4d
jmp 0x7d3f04
mov dword [edi + 0x1bc8], 0xffffffff
mov dword [edi + 4], 0x3f3f
jmp 0x7d3f04
mov eax, dword [esp + 0x70]
mov dword [eax + 0x18], 0x9e0347
mov dword [edi + 4], 0x3f51
jmp 0x7d3f04
mov eax, dword [esp + 0x70]
mov dword [eax + 0x18], 0x9e020d
mov dword [edi + 4], 0x3f51
jmp 0x7d3f04
mov eax, dword [esp + 0x70]
mov dword [eax + 0x18], 0x9e02d6
mov dword [edi + 4], 0x3f51
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
jmp 0x7d3f04
mov eax, pe_nt_image_headers32
shl eax, cl
mov edi, ebx
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x14], 0
push 0
push 0
push 0
call fcn.007d6620
add esp, 0xc
mov dword [ebx + 0x1c], eax
mov ebp, dword [esp + 0x70]
mov dword [ebp + 0x30], eax
xor eax, eax
test dword [esp + 0x10], 0x2000
sete al
lea eax, [eax*2 + 0x3f3d]
mov dword [ebx + 4], eax
xor edx, edx
mov ebp, esi
xor ebx, ebx
mov esi, dword [esp + 4]
jmp 0x7d3f04
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x18], 0x9e02d6
mov edi, dword [esp + 8]
mov dword [edi + 4], 0x3f51
mov edx, eax
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 4]
jmp 0x7d3f04
cmp dword [edx + 4], 0
jne 0x7d6049
jmp 0x7d3e8f
mov eax, dword [esp]
mov ecx, dword [esp + 0x18]
lea ecx, [ecx + eax*8]
mov esi, dword [esp + 4]
add esi, eax
mov dword [esp], 0
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
mov ebp, dword [esp + 0x70]
mov edi, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ebx, edx
mov edx, ecx
mov ecx, dword [esp + 4]
jmp 0x7d5e63
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
lea edx, [edx + eax*8]
mov ecx, dword [esp + 0x24]
add ecx, eax
mov dword [esp], 0
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x70]
mov eax, dword [esp + 0xc]
mov ebx, esi
mov esi, ecx
mov ecx, edi
jmp 0x7d5e5f
mov eax, dword [esp]
mov edx, dword [esp + 0x18]
lea edx, [edx + eax*8]
add esi, eax
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x70]
mov eax, dword [esp + 0xc]
mov ebx, edi
mov dword [esp], 0
jmp 0x7d5e5f
mov eax, dword [esp]
lea edx, [edx + eax*8]
mov esi, dword [esp + 4]
add esi, eax
mov dword [esp], 0
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x70]
mov edi, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
jmp 0x7d5e63
mov dword [esp], 0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov ebp, dword [esp + 0x70]
mov ebx, edi
jmp 0x7d5e5f
mov dword [esp], 0
mov edx, eax
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ebx, esi
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 4]
jmp 0x7d5e63
add esi, ebx
sub dword [esp], ebx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x70]
mov edx, dword [esp + 0x18]
jmp 0x7d5e63
xor ebx, ebx
xor edx, edx
mov dword [edi + 4], 0x3f50
mov eax, dword [esp + 0xc]
mov ebp, dword [esp + 0x70]
mov ecx, 1
jmp 0x7d5e63
mov ecx, dword [esp + 0x14]
jmp 0x7d5e37
mov dword [esp], 0
mov ecx, dword [esp + 0x14]
jmp 0x7d5e37
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], ebp
mov dword [ecx], esi
mov eax, dword [esp]
mov dword [ecx + 4], eax
mov dword [edi + 0x3c], ebx
mov dword [edi + 0x40], edx
mov esi, 2
jmp 0x7d6049
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov dword [esp], ebx
mov ebp, dword [esp + 0x70]
mov ebx, esi
mov esi, dword [esp + 4]
jmp 0x7d5e63
mov edx, ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], 0
mov ebp, dword [esp + 0x70]
mov edi, ebx
mov ebx, ecx
mov ecx, dword [esp + 4]
jmp 0x7d5e63
mov dword [esp], 0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov ebx, esi
mov ebp, dword [esp + 0x70]
mov edi, dword [esp + 8]
mov esi, dword [esp + 4]
jmp 0x7d5e63
mov ecx, 0xfffffffd
jmp case.0x7d3f20.28
mov esi, 0xfffffffe
jmp 0x7d6049
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov dword [esp], 0
mov ebp, dword [esp + 0x70]
mov ecx, ebx
mov ebx, edi
mov edi, ecx
mov ecx, edx
mov edx, dword [esp + 0x18]
jmp 0x7d5e63
mov esi, edx
mov dword [esp], 0
mov edx, ecx
jmp 0x7d5e53
mov esi, ecx
mov dword [esp], 0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov ebp, dword [esp + 0x70]
jmp 0x7d5e63
mov dword [esp], 0
mov ecx, dword [esp + 0x14]
jmp 0x7d5e5b
mov esi, ecx
mov dword [esp], 0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov ebp, dword [esp + 0x70]
mov edi, dword [esp + 8]
mov dword [esp + 4], ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esp + 0x1c]
mov dword [ebp + 0x10], eax
mov dword [ebp], esi
mov eax, dword [esp]
mov dword [ebp + 4], eax
mov dword [edi + 0x3c], ebx
mov dword [edi + 0x40], edx
cmp dword [edi + 0x2c], 0
je 0x7d5f2a
mov edx, ebp
mov ebp, dword [esp + 0x28]
mov esi, dword [edx + 0xc]
mov edi, dword [edx + 0x1c]
sub ebp, dword [edx + 0x10]
cmp dword [edi + 0x38], 0
jne 0x7d5ec1
movzx ecx, byte [edi + 0x28]
mov eax, 1
shl eax, cl
push 1
push eax
push dword [edx + 0x28]
call dword [edx + 0x20]
add esp, 0xc
mov dword [edi + 0x38], eax
test eax, eax
je 0x7d608c
cmp dword [edi + 0x2c], 0
jne 0x7d5ee3
movzx ecx, byte [edi + 0x28]
mov eax, 1
shl eax, cl
mov dword [edi + 0x2c], eax
mov dword [edi + 0x34], 0
mov dword [edi + 0x30], 0
mov ebx, dword [edi + 0x2c]
cmp ebx, ebp
jbe 0x7d5f5b
mov eax, dword [edi + 0x34]
sub ebx, eax
cmp ebx, ebp
mov edx, ebp
cmovb edx, ebx
add eax, dword [edi + 0x38]
mov ecx, esi
sub ecx, ebp
mov dword [esp], edx
push edx
push ecx
push eax
call fcn.00935430
add esp, 0xc
cmp ebx, ebp
jae 0x7d605e
sub ebp, dword [esp]
sub esi, ebp
push ebp
push esi
push dword [edi + 0x38]
call fcn.00935430
add esp, 0xc
mov dword [edi + 0x34], ebp
jmp 0x7d5f71
mov eax, dword [esp + 0x28]
cmp eax, dword [ebp + 0x10]
je 0x7d5f7b
mov eax, dword [esp + 8]
mov eax, dword [eax + 4]
cmp eax, 0x3f50
jg 0x7d5f7b
cmp eax, 0x3f4e
setge al
cmp dword [esp + 0x74], 4
sete cl
test cl, al
je 0x7d5e8a
jmp 0x7d5f7b
sub esi, ebx
push ebx
push esi
push dword [edi + 0x38]
call fcn.00935430
add esp, 0xc
mov dword [edi + 0x34], 0
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x30], eax
mov ebp, dword [esp + 0x70]
mov ecx, dword [ebp + 4]
mov edi, dword [ebp + 0x10]
mov eax, dword [esp + 0x48]
mov dword [esp], ecx
sub eax, ecx
add dword [ebp + 8], eax
mov esi, dword [esp + 0x28]
mov eax, esi
sub eax, edi
add dword [ebp + 0x14], eax
mov ecx, dword [esp + 8]
add dword [ecx + 0x20], eax
test byte [ecx + 0xc], 4
je 0x7d5fde
cmp esi, edi
je 0x7d5fde
mov ecx, dword [ebp + 0xc]
sub ecx, eax
mov edx, dword [esp + 8]
cmp dword [edx + 0x14], 0
mov edx, dword [edx + 0x1c]
je 0x7d5fc5
push eax
push ecx
push edx
call fcn.007d6b50
jmp 0x7d5fcd
push eax
push ecx
push edx
call fcn.007d6620
add esp, 0xc
mov ecx, dword [esp + 8]
mov dword [ecx + 0x1c], eax
mov dword [ebp + 0x30], eax
mov esi, dword [esp + 0x28]
xor eax, eax
mov ecx, dword [esp + 8]
cmp dword [ecx + 8], 0
setne al
shl eax, 6
add eax, dword [ecx + 0x40]
mov edx, dword [ecx + 4]
xor ecx, ecx
cmp edx, 0x3f3f
sete cl
shl ecx, 7
cmp edx, 0x3f47
sete bl
cmp edx, 0x3f42
sete dl
or dl, bl
movzx edx, dl
shl edx, 8
add edx, ecx
add edx, eax
mov ecx, dword [esp + 0x48]
xor ecx, dword [esp]
xor esi, edi
mov edi, dword [esp + 4]
test edi, edi
mov eax, 0xfffffffb
cmovne eax, edi
mov dword [ebp + 0x2c], edx
or esi, ecx
cmove edi, eax
cmp dword [esp + 0x74], 4
cmove edi, eax
mov esi, edi
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.0091d849
mov eax, esi
add esp, 0x5c
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [edi + 0x34]
mov ebx, dword [esp]
add ecx, ebx
mov edx, dword [edi + 0x2c]
mov eax, dword [edi + 0x30]
xor esi, esi
cmp ecx, edx
cmovne esi, ecx
mov dword [edi + 0x34], esi
cmp eax, edx
mov ebp, dword [esp + 0x70]
jae 0x7d5f7b
add eax, ebx
mov dword [edi + 0x30], eax
jmp 0x7d5f7b
mov eax, dword [esp + 8]
mov dword [eax + 4], 0x3f52
mov esi, 0xfffffffc
jmp 0x7d6049
mov dword [esp], 0
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov ebp, dword [esp + 0x70]
mov edx, ecx
jmp 0x7d5c73
mov dword [esp], 0
mov edx, eax
jmp 0x7d6113
xor edx, edx
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov ebp, dword [esp + 0x70]
mov edi, ecx
mov ecx, esi
xor ebx, ebx
mov esi, dword [esp + 4]
jmp 0x7d5e63
mov dword [esp], 0
mov edx, ecx
jmp 0x7d6113
mov dword [esp], 0
mov edx, ecx
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 8]
jmp 0x7d61a6
shr ebx, 3
add edx, 0xfffffffd
jmp 0x7d5e2f
mov dword [esp], 0
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 8]
jmp case.0x7d3f20.28
mov dword [esp], 0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov ebp, dword [esp + 0x70]
mov edx, edi
jmp 0x7d5e5f
mov edx, ecx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov ebx, edi
mov dword [esp], 0
jmp 0x7d5e5b
mov esi, ebp
mov dword [esp], 0
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
jmp 0x7d5db7
mov dword [esp], 0
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc]
mov ecx, esi
mov esi, ebp
jmp 0x7d5db7
mov esi, edx
mov dword [esp], 0
mov edx, ecx
jmp 0x7d61a2
mov esi, ecx
mov dword [esp], 0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov ebp, dword [esp + 0x70]
mov ebx, dword [esp + 0x10]
jmp 0x7d5e63
mov esi, edx
mov dword [esp], 0
mov edx, ecx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov ebp, dword [esp + 0x70]
mov ebx, dword [esp + 0x10]
jmp 0x7d5e5f
mov dword [esp], 0
mov edx, ecx
jmp 0x7d5e2f
mov dword [esp], 0
mov edx, eax
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov ebx, esi
mov esi, ecx
mov ecx, edi
jmp 0x7d5e5b
xor ecx, ecx
jmp case.0x7d3f20.28