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

Disassembly:
test dl, dl
je 0x7ddabf2e
cmp dl, 1
je 0x7ddabf1f
cmp dl, 2
je 0x7ddabec0
cmp dl, 4
je 0x7dd970b6
cmp dl, 6
je 0x7dd75abc
jbe 0x7dd73afc
mov eax, dword [esi + 0x10]
test eax, eax
je 0x7dd73afc
jmp 0x7ddabf47
add eax, 0xc
add ecx, 0xc
jmp 0x7dd738e0
add eax, 4
add ecx, 4
jmp 0x7dd738e0
add eax, 0xe
add ecx, 0xe
jmp 0x7dd738e0
add eax, 6
add ecx, 6
jmp 0x7dd738e0
add eax, 8
add ecx, 8
jmp 0x7dd738e0
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x28
push ebx
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi]
xor ebx, ebx
push edi
cmp dword [eax + 0xe8], ebx
jne 0x7dd73900
cmp dword [esi + 0x1c], ebx
jne 0x7dd73900
cmp dword [esi + 0x20], ebx
jne 0x7dd73900
cmp dword [esi + 0x28], ebx
jne 0x7dd73d06
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x68]
movzx edx, word [eax]
cmp dx, bx
je 0x7dd738e0
cmp dx, word [ecx]
je 0x7dd73c40
mov dword [esi + 0x44], eax
mov dword [esi + 0x68], ecx
mov ax, word [eax]
cmp ax, word [ecx]
je 0x7dd73b9f
mov eax, dword [esi + 0x44]
mov edi, dword [esi + 0x34]
cmp eax, edi
ja 0x7dd73bbb
or dword [esi + 0x4c], 0xffffffff
or dword [esi + 0x70], 0xffffffff
lea edi, [esi + 0x34]
mov dword [esi + 0x48], ebx
mov dword [esi + 0x6c], ebx
cmp dword [edi + 0x14], ebx
jne 0x7dd7392b
cmp dword [edi + 8], ebx
je 0x7dd73923
mov eax, dword [edi + 0x10]
cmp word [eax], bx
je 0x7dd73935
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 4]
jae 0x7dd73935
mov eax, dword [esi + 0x44]
mov ax, word [eax]
mov word [esi + 0x52], ax
lea ebx, [esi + 0x58]
xor eax, eax
cmp dword [ebx + 0x14], eax
jne 0x7dd73954
cmp dword [ebx + 8], eax
je 0x7dd7394c
mov ecx, dword [ebx + 0x10]
cmp word [ecx], ax
je 0x7dd7395e
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x7dd7395e
mov eax, dword [esi + 0x68]
mov ax, word [eax]
mov word [esi + 0x76], ax
xor ecx, ecx
cmp dword [edi + 0x14], ecx
jne 0x7dd73982
cmp dword [edi + 8], ecx
je 0x7dd73976
mov eax, dword [edi + 0x10]
cmp word [eax], cx
je 0x7dd75802
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 4]
jae 0x7dd75802
cmp dword [ebx + 0x14], ecx
jne 0x7dd739a4
cmp dword [ebx + 8], ecx
je 0x7dd73998
mov eax, dword [ebx + 0x10]
cmp word [eax], cx
je 0x7dd75802
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x7dd75802
cmp dword [esi + 0x4c], 0xffffffff
jne 0x7dd739cd
mov eax, dword [esi]
mov edx, dword [eax + 0xe0]
movzx eax, word [esi + 0x52]
cmp edx, ecx
jne 0x7dd99cb3
mov edx, dword [0x7dd71478]
mov edx, dword [edx + 0x2c]
mov eax, dword [edx + eax*4]
mov dword [esi + 0x4c], eax
cmp dword [esi + 0x70], 0xffffffff
jne 0x7dd739f6
mov eax, dword [esi]
mov edx, dword [eax + 0xe0]
movzx eax, word [esi + 0x76]
cmp edx, ecx
jne 0x7dd99cd3
mov edx, dword [0x7dd71478]
mov edx, dword [edx + 0x2c]
mov eax, dword [edx + eax*4]
mov dword [esi + 0x70], eax
mov edx, dword [esi]
cmp dword [edx + 0xe8], ecx
je 0x7ddabce8
mov al, byte [edi + 0x19]
sub al, 3
movzx eax, al
neg eax
sbb eax, eax
mov dword [ebp - 8], ecx
movzx ecx, byte [edi + 0x1b]
and eax, 0xff
and eax, ecx
and eax, 0xc0
sub eax, 0x40
je 0x7ddaaff2
sub eax, 0x40
je 0x7ddaad18
sub eax, 0x40
je 0x7ddaa8f6
and dword [esi + 0x4c], 0x3fffffff
mov al, byte [ebx + 0x19]
and dword [ebp - 8], 0
movzx ecx, byte [ebx + 0x1b]
sub al, 3
movzx eax, al
neg eax
sbb eax, eax
and eax, 0xff
and eax, ecx
and eax, 0xc0
sub eax, 0x40
je 0x7ddab9eb
sub eax, 0x40
je 0x7ddab711
sub eax, 0x40
je 0x7ddab2ef
and dword [esi + 0x70], 0x3fffffff
xor ecx, ecx
jmp 0x7ddabce8
mov edx, dword [esi + 0x70]
mov eax, edx
shr eax, 8
mov byte [ebp - 1], al
cmp al, 5
je 0x7dd9b786
mov cl, al
add cl, 0x57
cmp cl, 6
jbe 0x7dd9b784
cmp dword [esi + 0x2c], 0
jne 0x7dd9b776
mov eax, dword [esi + 0x30]
and eax, edx
mov dword [esi + 0x70], eax
cmp byte [ebp + 0xb], 0xd
je 0x7dd75564
mov eax, dword [esi + 0x4c]
mov dl, byte [ebp + 0xb]
cmp eax, dword [esi + 0x70]
je 0x7dd758c3
movzx eax, word [esi + 0x4c]
movzx ecx, word [esi + 0x70]
mov word [esi + 0x50], ax
mov word [esi + 0x74], cx
cmp ax, cx
je 0x7dd8ea51
cmp dl, 0xc
jbe 0x7dd71a1d
mov al, byte [ebp - 1]
cmp al, 0xc
jbe 0x7dd742fe
mov edx, dword [esi + 0x4c]
cmp edx, 0xffffffff
je 0x7dd7395e
mov ecx, dword [esi + 0x70]
cmp ecx, 0xffffffff
je 0x7dd7395e
movzx eax, byte [ebp + 0xb]
dec eax
je 0x7ddac167
dec eax
dec eax
je 0x7dd99cf3
dec eax
dec eax
je 0x7dd9b793
dec eax
je 0x7dd75ac4
movzx eax, byte [ebp - 1]
dec eax
je 0x7ddac430
dec eax
dec eax
je 0x7dd9a0b2
dec eax
dec eax
je 0x7ddac21f
dec eax
je 0x7dd8e9fe
cmp dword [esi + 0x4c], 0xffffffff
je 0x7dd7395e
cmp dword [esi + 0x70], 0xffffffff
je 0x7dd7395e
mov ax, word [esi + 0x50]
cmp ax, word [esi + 0x74]
je 0x7ddac45a
movzx eax, word [esi + 0x50]
cmp ax, word [esi + 0x74]
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
pop edi
pop esi
pop ebx
leave
ret 4
pop eax
jmp 0x7dd73b95
push 2
jmp 0x7dd73b9c
movzx eax, word [eax - 2]
push eax
call fcn.7dd73bd7
test eax, eax
je 0x7dd73900
jmp 0x7ddaa8e8
movzx edx, word [eax + 2]
cmp dx, bx
je 0x7dd73ce4
cmp dx, word [ecx + 2]
jne 0x7dd73ce4
movzx edx, word [eax + 4]
cmp dx, bx
je 0x7dd71a6a
cmp dx, word [ecx + 4]
jne 0x7dd71a6a
movzx edx, word [eax + 6]
cmp dx, bx
je 0x7dd71a80
cmp dx, word [ecx + 6]
jne 0x7dd71a80
movzx edx, word [eax + 8]
cmp dx, bx
je 0x7dd71a8b
cmp dx, word [ecx + 8]
jne 0x7dd71a8b
movzx edx, word [eax + 0xa]
cmp dx, bx
je 0x7dd73ced
cmp dx, word [ecx + 0xa]
jne 0x7dd73ced
movzx edx, word [eax + 0xc]
cmp dx, bx
je 0x7dd71a5f
cmp dx, word [ecx + 0xc]
jne 0x7dd71a5f
movzx edx, word [eax + 0xe]
cmp dx, bx
je 0x7dd71a75
cmp dx, word [ecx + 0xe]
jne 0x7dd71a75
add eax, 0x10
add ecx, 0x10
jmp 0x7dd738cf
inc eax
inc eax
inc ecx
inc ecx
jmp 0x7dd738e0
add eax, 0xa
add ecx, 0xa
jmp 0x7dd738e0
cmp dword [esi + 0x3c], ebx
jne 0x7dd742dc
mov eax, dword [esi + 0x44]
cmp eax, dword [esi + 0x38]
jae 0x7dd73d41
cmp dword [esi + 0x60], ebx
jne 0x7dd742cb
mov eax, dword [esi + 0x68]
cmp eax, dword [esi + 0x5c]
jae 0x7dd73d41
mov ecx, dword [esi + 0x44]
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x7dd73d41
add ecx, 2
add eax, 2
mov dword [esi + 0x44], ecx
mov dword [esi + 0x68], eax
jmp 0x7dd73d06
cmp dword [esi + 0x3c], ebx
jne 0x7dd742ed
mov eax, dword [esi + 0x44]
cmp eax, dword [esi + 0x38]
jb 0x7dd738f2
cmp dword [esi + 0x60], ebx
jne 0x7dd759d6
mov eax, dword [esi + 0x68]
cmp eax, dword [esi + 0x5c]
jae 0x7dd73b9f
jmp 0x7dd738f2
mov eax, dword [esi + 0x68]
cmp word [eax], bx
jne 0x7dd73d20
jmp 0x7dd73d41
mov eax, dword [esi + 0x44]
cmp word [eax], bx
jne 0x7dd73d0f
jmp 0x7dd73d41
mov eax, dword [esi + 0x44]
cmp word [eax], bx
jne 0x7dd73d4a
jmp 0x7dd73d56
test al, al
je 0x7dd92998
cmp al, 1
je 0x7dd970d0
cmp al, 2
je 0x7dd9701e
cmp al, 4
je 0x7dd970c3
cmp al, 6
je 0x7dd8e9f6
jbe 0x7dd73b07
mov eax, dword [esi + 0x10]
test eax, eax
je 0x7dd73b07
or dword [esi + 0x70], 0xffffffff
mov eax, dword [ebx + 0x14]
test eax, eax
jg 0x7dd97077
add dword [ebx + 0x10], 2
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jb 0x7ddabf94
xor eax, eax
mov word [ebx + 0x1e], ax
jmp 0x7dd73b07
cmp dword [esi + 0x1c], 0
je 0x7dd73acb
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 0x44]
cmp dword [edi], eax
sbb ecx, ecx
neg ecx
push ecx
push eax
call fcn.7dd96bd5
movzx eax, ax
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x68]
cmp dword [ebx], eax
sbb ecx, ecx
neg ecx
push ecx
push eax
call fcn.7dd96bd5
cmp word [ebp - 8], 0
movzx eax, ax
mov dword [ebp - 0x14], eax
je 0x7dd970a1
test ax, ax
je 0x7dd970a1
mov eax, dword [ebp - 8]
lea ecx, [eax + 0x2400]
mov eax, 0x3ff
mov edx, eax
cmp cx, dx
jbe 0x7ddabd30
mov ecx, dword [ebp - 0x14]
add ecx, 0x2400
cmp cx, ax
jbe 0x7ddabd3c
mov ecx, dword [ebp - 0x1c]
mov eax, dword [esi + 0x44]
mov dx, word [ebp - 8]
cmp word [eax], dx
jne 0x7dd75616
inc dword [ebp - 0x10]
add eax, 2
mov dword [esi + 0x44], eax
test cx, cx
jne 0x7ddabd48
mov eax, dword [esi + 0x44]
cmp eax, dword [esi + 0x38]
jae 0x7dd75616
cmp dword [ebp - 0x10], 0x13
jl 0x7dd755ea
mov ecx, dword [ebp - 0x20]
mov eax, dword [esi + 0x68]
mov dx, word [eax]
cmp dx, word [ebp - 0x14]
jne 0x7dd75645
inc dword [ebp - 0x18]
add eax, 2
mov dword [esi + 0x68], eax
test cx, cx
jne 0x7ddabd68
mov eax, dword [esi + 0x68]
cmp eax, dword [esi + 0x5c]
jae 0x7dd75645
cmp dword [ebp - 0x18], 0x13
jl 0x7dd75619
mov eax, dword [esi + 0x44]
and dword [ebp - 0xc], 0
cmp eax, dword [esi + 0x38]
jae 0x7dd75692
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x13
jge 0x7dd75692
mov dword [ebp - 0x24], ecx
movzx ecx, word [eax]
cmp cx, word [ebp - 8]
jb 0x7dd75692
movzx edx, word [ebp - 8]
movzx ecx, cx
sub ecx, 9
cmp ecx, edx
jg 0x7dd75692
inc dword [ebp - 0xc]
inc dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
inc eax
inc eax
test cx, cx
jne 0x7ddabd88
cmp eax, dword [esi + 0x38]
jae 0x7dd75692
cmp dword [ebp - 0x24], 0x13
jl 0x7dd7565c
mov eax, dword [esi + 0x68]
and dword [ebp - 0x24], 0
cmp eax, dword [esi + 0x5c]
jae 0x7dd756df
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x13
jge 0x7dd756df
mov dword [ebp - 0x28], ecx
movzx ecx, word [eax]
cmp cx, word [ebp - 0x14]
jb 0x7dd756df
movzx edx, word [ebp - 0x14]
movzx ecx, cx
sub ecx, 9
cmp ecx, edx
jg 0x7dd756df
inc dword [ebp - 0x24]
inc dword [ebp - 0x28]
mov ecx, dword [ebp - 0x20]
inc eax
inc eax
test cx, cx
jne 0x7ddabda1
cmp eax, dword [esi + 0x5c]
jae 0x7dd756df
cmp dword [ebp - 0x28], 0x13
jl 0x7dd756a9
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x24]
jne 0x7ddabdba
xor edx, edx
cmp eax, edx
jle 0x7dd7573f
mov ecx, dword [esi + 0x68]
mov eax, dword [esi + 0x44]
movzx eax, word [eax]
movzx edx, word [ecx]
sub eax, edx
movzx edx, word [ebp - 8]
sub eax, edx
movzx edx, word [ebp - 0x14]
add eax, edx
jne 0x7ddabded
mov eax, dword [esi + 0x44]
add eax, 2
add ecx, 2
cmp word [ebp - 0x1c], 0
mov dword [esi + 0x44], eax
mov dword [esi + 0x68], ecx
jne 0x7ddabdcd
xor edx, edx
cmp word [ebp - 0x20], dx
jne 0x7ddabdd8
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], edx
jg 0x7dd756f1
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x10], eax
jne 0x7ddabde3
mov ax, word [ebp - 0x14]
cmp word [ebp - 8], ax
jne 0x7ddabdf3
or dword [esi + 0x70], 0xffffffff
or dword [esi + 0x4c], 0xffffffff
cmp word [ebp - 0x1c], dx
jne 0x7ddabe56
cmp word [ebp - 0x20], dx
jne 0x7ddabe5f
add dword [esi + 0x44], 0xfffffffe
add dword [esi + 0x68], 0xfffffffe
cmp dword [edi + 0x14], edx
jne 0x7dd75797
cmp dword [edi + 8], edx
je 0x7dd7578f
mov eax, dword [edi + 0x10]
cmp word [eax], dx
je 0x7dd757b9
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 4]
jae 0x7dd757b9
mov eax, dword [edi + 0x14]
cmp eax, edx
jg 0x7ddabe68
add dword [edi + 0x10], 2
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 4]
jae 0x7dd97093
mov ax, word [eax]
mov word [edi + 0x1e], ax
cmp dword [ebx + 0x14], edx
jne 0x7dd757db
cmp dword [ebx + 8], edx
je 0x7dd757cf
mov eax, dword [ebx + 0x10]
cmp word [eax], dx
je 0x7dd7395e
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x7dd7395e
mov eax, dword [ebx + 0x14]
test eax, eax
jg 0x7ddabe76
add dword [ebx + 0x10], 2
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x7dd9709a
mov ax, word [eax]
mov word [ebx + 0x1e], ax
jmp 0x7dd7395e
cmp dword [edi + 0x14], ecx
jne 0x7dd8d49f
cmp dword [edi + 8], ecx
jne 0x7dd75862
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 4]
jb 0x7dd8d49f
cmp dword [ebx + 0x14], ecx
jne 0x7dd758fb
cmp dword [ebx + 8], ecx
jne 0x7dd7586c
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jb 0x7dd758e1
cmp dword [esi + 0x20], ecx
jne 0x7dd73b9f
mov eax, dword [esi + 0x80]
cmp eax, ecx
jne 0x7dd73b95
mov esi, dword [esi + 0x84]
cmp esi, ecx
je 0x7dd73b9f
mov eax, esi
jmp 0x7dd73b95
mov eax, dword [edi + 0x10]
cmp word [eax], cx
je 0x7dd7581c
jmp 0x7dd75810
mov eax, dword [ebx + 0x10]
cmp word [eax], cx
je 0x7dd75836
jmp 0x7dd7582a
mov eax, dword [edi + 0x14]
test eax, eax
jg 0x7ddac70c
add dword [edi + 0x10], 2
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 4]
jae 0x7dd758dd
mov ax, word [eax]
mov word [edi + 0x1e], ax
mov eax, dword [ebx + 0x14]
test eax, eax
jg 0x7dd970fc
add dword [ebx + 0x10], 2
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x7dd759ea
mov ax, word [eax]
mov word [ebx + 0x1e], ax
or dword [esi + 0x4c], 0xffffffff
or dword [esi + 0x70], 0xffffffff
jmp 0x7dd7395e
cmp dl, 2
jb 0x7dd758d1
cmp dl, 6
jbe 0x7dd73ada
xor ecx, ecx
cmp dword [esi + 0x24], ecx
je 0x7dd75876
jmp 0x7ddabe91
xor eax, eax
jmp 0x7dd75890
cmp dword [ebx + 0x14], ecx
jne 0x7dd758fb
cmp dword [ebx + 8], ecx
jne 0x7dd8d3cd
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x7dd75836
mov eax, dword [esi]
mov edi, dword [eax + 0xe0]
movzx edx, word [ebx + 0x1e]
movzx eax, dx
cmp edi, ecx
jne 0x7dd99dbb
mov edi, dword [0x7dd71478]
mov edi, dword [edi + 0x2c]
mov edi, dword [edi + eax*4]
mov eax, edi
shr eax, 8
test al, al
jne 0x7dd75996
cmp dword [esi + 0x24], ecx
jne 0x7ddac7f1
mov eax, dword [ebx + 0x14]
cmp eax, ecx
jg 0x7ddac7f9
add dword [ebx + 0x10], 2
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jb 0x7ddac807
xor eax, eax
mov word [ebx + 0x1e], ax
jmp 0x7dd758e1
cmp al, 1
je 0x7dd970ee
cmp al, 6
je 0x7dd8d00f
jbe 0x7dd759b6
cmp al, 0xc
ja 0x7dd759b6
cmp dword [esi + 0x10], ecx
je 0x7dd759b6
jmp 0x7dd75930
xor eax, eax
inc eax
jmp 0x7dd73b95
mov eax, dword [esi + 0x68]
cmp word [eax], bx
je 0x7dd73b9f
jmp 0x7dd73d5f
xor eax, eax
jmp 0x7dd758b2
mov eax, dword [esi + 8]
jmp 0x7dd71a52
cmp dword [esi + 4], eax
jne 0x7dd73b41
cmp byte [ebp - 1], 6
je 0x7dd73b41
cmp dword [esi + 0x20], eax
jne 0x7dd8d518
mov dword [esi + 0x84], 3
mov dword [esi + 8], 1
mov eax, dword [edi + 0x14]
test eax, eax
jg 0x7ddabf9c
add dword [edi + 0x10], 2
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 4]
jae 0x7dd9bea0
mov ax, word [eax]
mov word [edi + 0x1e], ax
or dword [esi + 0x4c], 0xffffffff
jmp 0x7dd73b41
xor eax, eax
jmp 0x7dd8ea44
cmp dword [esi + 8], ecx
jmp 0x7dd759af
mov eax, dword [ebx + 0x10]
cmp word [eax], cx
jne 0x7dd758ef
jmp 0x7dd75836
cmp dword [esi + 0x20], ecx
jne 0x7ddac725
cmp dword [edi + 0x14], ecx
jne 0x7dd8d4ca
cmp dword [edi + 8], ecx
je 0x7dd8d4be
mov eax, dword [edi + 0x10]
cmp word [eax], cx
je 0x7dd75836
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 4]
jae 0x7dd75836
mov eax, dword [esi]
mov ebx, dword [eax + 0xe0]
movzx edx, word [edi + 0x1e]
movzx eax, dx
cmp ebx, ecx
jne 0x7dd99d9b
mov ebx, dword [0x7dd71478]
mov ebx, dword [ebx + 0x2c]
mov eax, dword [ebx + eax*4]
shr eax, 8
test al, al
je 0x7ddac79e
cmp al, 1
je 0x7ddac789
cmp al, 6
je 0x7dd9be98
jbe 0x7dd8d518
cmp al, 0xc
ja 0x7dd8d518
cmp dword [esi + 0x10], ecx
je 0x7dd8d518
jmp 0x7ddac7ab
push 3
jmp 0x7dd73b9c
mov eax, dword [esi + 8]
jmp 0x7dd7432f
xor edx, edx
cmp dword [esi + 4], edx
jne 0x7dd73b63
cmp byte [ebp + 0xb], 6
je 0x7dd9b99f
cmp dword [esi + 0x20], edx
jne 0x7dd8d518
inc eax
mov dword [esi + 0x84], eax
mov dword [esi + 8], eax
mov eax, dword [ebx + 0x14]
test eax, eax
jg 0x7ddac211
add dword [ebx + 0x10], 2
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x7dd8d008
mov ax, word [eax]
mov word [ebx + 0x1e], ax
or dword [esi + 0x70], 0xffffffff
jmp 0x7dd73b63
sub dl, 2
cmp dl, 0xa
jbe 0x7dd9b997
mov al, byte [ebp + 0xb]
mov cl, al
add cl, 0x57
cmp cl, 6
jbe 0x7ddac489
cmp dword [esi + 0x2c], 0
jne 0x7ddac47f
test byte [esi + 0x7c], 3
je 0x7dd8eaa9
mov ecx, dword [esi + 0x18]
test ecx, ecx
jne 0x7ddac49c
mov al, byte [esi + 0x4e]
mov byte [ebp + 0xb], al
test ecx, ecx
jne 0x7ddac4b4
mov al, byte [esi + 0x72]
mov byte [ebp - 2], al
mov al, byte [ebp - 2]
cmp byte [ebp + 0xb], al
jne 0x7ddac4cc
test byte [esi + 0x7c], 4
je 0x7dd75876
mov edx, dword [esi + 0x14]
test edx, edx
jne 0x7ddac6e0
mov cl, byte [esi + 0x4f]
and cl, 0x3f
test edx, edx
jne 0x7ddac6f6
movzx eax, byte [esi + 0x73]
and al, 0x3f
cmp cl, al
je 0x7dd75876
cmp dword [esi + 0x20], 0
jne 0x7dd759b6
cmp cl, al
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
mov dword [esi + 0x80], eax
and dword [esi + 0x7c], 0xffffff0b
jmp 0x7dd75876
cmp word [ebx + 0x1e], 0
jne 0x7dd929a9
cmp dword [esi + 0x24], 0
jne 0x7dd73b07
xor eax, eax
inc eax
jmp 0x7dd7432f
mov eax, dword [esi]
mov ecx, dword [eax + 0xe0]
movzx eax, word [ebx + 0x1e]
test ecx, ecx
jne 0x7ddabf79
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov eax, dword [ecx + eax*4]
mov dword [ebx + 0x18], eax
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x38]
movzx eax, word [ebx + 0x1a]
shl eax, 2
mov cx, word [eax + ecx]
mov word [ebx + 0xe], cx
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x38]
mov ax, word [ecx + eax + 2]
mov word [ebx + 0xc], ax
mov dword [ebx + 0x14], 2
jmp 0x7dd74337
dec eax
mov dword [ebx + 0x14], eax
mov ax, word [ebx + eax*2 + 0xc]
jmp 0x7dd74358
cmp dword [esi + 0x18], ecx
jne 0x7dd73ab9
jmp 0x7dd73ac1
xor eax, eax
jmp 0x7dd757b5
xor eax, eax
jmp 0x7dd757f9
xor eax, eax
jmp 0x7ddabe84
cmp eax, 2
jne 0x7dd73b95
jmp 0x7dd7395e
push edi
push dword [esi]
call fcn.7de0c54e
jmp 0x7dd73afc
push ebx
push dword [esi]
call fcn.7de0c54e
jmp 0x7dd73b07
cmp dword [esi + 0xc], 0
je 0x7ddabf8b
jmp 0x7dd74337
cmp dword [esi + 8], 0
je 0x7dd75b13
jmp 0x7dd99d67
cmp dword [esi + 0xc], ecx
je 0x7ddac7d9
jmp 0x7dd75930
dec eax
mov dword [ebx + 0x14], eax
mov ax, word [ebx + eax*2 + 0xc]
jmp 0x7dd758b2
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov eax, dword [ecx + eax*4]
xor ecx, ecx
jmp 0x7dd739ca
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov eax, dword [ecx + eax*4]
xor ecx, ecx
jmp 0x7dd739f3
mov al, byte [edi + 0x18]
mov cl, byte [edi + 0x1b]
and dword [ebp - 8], 0
and dword [edi + 0x20], 0
and cl, 0x3f
mov byte [ebp - 2], al
mov byte [ebp - 3], cl
cmp al, 1
jbe 0x7ddac038
movzx ax, al
mov edx, 0x2200
or ax, dx
mov word [edi + 0x1c], ax
mov al, cl
and al, 0xc6
mov byte [edi + 0x20], al
mov al, cl
and al, 0xe4
mov byte [edi + 0x22], al
mov eax, dword [ebp - 8]
mov byte [edi + 0x21], 3
and cl, 0xc5
mov byte [edi + 0x23], cl
cmp byte [ebp - 2], 1
jbe 0x7ddac13b
mov ax, word [edi + 0x1c]
mov word [edi + 0x18], ax
mov byte [edi + 0x1b], 2
cmp byte [ebp - 1], 6
je 0x7ddac158
cmp byte [ebp - 1], 3
je 0x7dd73b41
cmp dword [esi + 0x54], 0
je 0x7dd73b41
cmp dword [esi + 0x20], 0
jne 0x7dd8d518
test byte [esi + 0x7c], 0xf0
je 0x7dd73b41
mov dword [esi + 0x80], 3
and dword [esi + 0x7c], 0xffffff0f
jmp 0x7dd73b41
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [ebx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov eax, dword [ecx + eax*4]
xor ecx, ecx
jmp 0x7dd8d4ed
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edi + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov edi, dword [ecx + eax*4]
xor ecx, ecx
jmp 0x7dd7591e
mov al, byte [ebx + 0x18]
mov cl, byte [ebx + 0x1b]
and dword [ebp - 8], 0
and dword [ebx + 0x20], 0
and cl, 0x3f
mov byte [ebp - 2], al
mov byte [ebp - 3], cl
cmp al, 1
jbe 0x7ddac237
movzx ax, al
mov edx, 0x2200
or ax, dx
mov word [ebx + 0x1c], ax
mov al, cl
and al, 0xc6
mov byte [ebx + 0x20], al
mov al, cl
and al, 0xe4
mov byte [ebx + 0x22], al
mov eax, dword [ebp - 8]
mov byte [ebx + 0x21], 3
and cl, 0xc5
mov byte [ebx + 0x23], cl
cmp byte [ebp - 2], 1
jbe 0x7ddac33a
mov ax, word [ebx + 0x1c]
mov word [ebx + 0x18], ax
mov byte [ebx + 0x1b], 2
cmp byte [ebp + 0xb], 6
je 0x7ddac357
cmp byte [ebp + 0xb], 3
je 0x7ddac370
cmp dword [esi + 0x78], 0
je 0x7dd73b63
cmp dword [esi + 0x20], 0
jne 0x7dd8d518
test byte [esi + 0x7c], 0xf0
je 0x7dd73b63
mov dword [esi + 0x80], 1
and dword [esi + 0x7c], 0xffffff0f
jmp 0x7dd73b63
mov cl, al
add cl, 0x40
cmp cl, 0x2f
ja 0x7dd73ab9
xor ecx, ecx
cmp al, 1
je 0x7dd97085
jmp 0x7dd73ac1
cmp edx, ecx
je 0x7ddabfaa
cmp byte [ebp - 1], 5
je 0x7ddac009
mov eax, 0xfdff
mov word [esi + 0x50], ax
jmp 0x7dd73b41
mov dl, byte [ebp + 0xb]
jmp 0x7dd73af3
mov al, byte [esi + 0x4c]
mov cl, byte [esi + 0x70]
cmp al, cl
jne 0x7dd9c789
mov edx, dword [esi + 0x18]
test edx, edx
jne 0x7ddac191
movzx eax, byte [esi + 0x4e]
cmp dword [esi + 0x14], 0
jne 0x7ddac1a8
movzx ecx, byte [esi + 0x4f]
and ecx, 0x3f
shl al, 3
add al, cl
mov byte [ebp - 2], al
test edx, edx
jne 0x7ddac1c1
movzx eax, byte [esi + 0x72]
mov ecx, dword [esi + 0x14]
test ecx, ecx
jne 0x7ddac1d8
movzx ecx, byte [esi + 0x73]
and ecx, 0x3f
shl al, 3
add al, cl
cmp byte [ebp - 2], al
jne 0x7ddac1f1
mov eax, dword [edi + 0x14]
test eax, eax
jg 0x7ddac203
add dword [edi + 0x10], 2
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 4]
jae 0x7dd9c7ae
mov ax, word [eax]
mov word [edi + 0x1e], ax
or dword [esi + 0x4c], 0xffffffff
jmp 0x7dd8ea26
cmp dword [esi + 8], ecx
jmp 0x7dd8d511
xor eax, eax
jmp 0x7dd75b0f
cmp dword [esi + 0x20], edx
jne 0x7dd8d518
cmp al, cl
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
mov dword [esi + 8], 1
mov dword [esi + 0x84], eax
jmp 0x7dd9ba01
xor eax, eax
jmp 0x7dd9ba1f
mov eax, dword [esi + 0x58]
mov dword [esi + 0x44], edi
mov dword [esi + 0x68], eax
jmp 0x7dd73900
mov eax, dword [edx + 0x110]
mov dword [ebp - 0x18], eax
mov eax, dword [edx + 0xf4]
cmp word [eax + 0x14], 0
jbe 0x7ddaaa3c
mov eax, dword [edx + 0xec]
xor ecx, ecx
test eax, eax
sete cl
mov dword [ebp + 8], eax
push 8
pop eax
sub eax, ecx
mov ecx, eax
mov eax, dword [edi + 0x10]
lea eax, [eax + ecx*2]
mov ecx, dword [edi + 4]
cmp eax, ecx
ja 0x7ddaaa3c
push dword [edi + 8]
mov eax, dword [edx + 0xf4]
movzx edx, word [eax + 6]
push dword [ebp + 8]
movzx eax, word [eax + 4]
push edx
push eax
mov edx, ecx
mov ecx, dword [edi + 0x10]
push 8
call fcn.7de0f109
cmp eax, 8
mov dword [ebp - 8], eax
jl 0x7ddaaa3c
mov eax, dword [esi]
mov ecx, dword [eax + 0xf4]
movzx ecx, word [ecx + 0x14]
xor edx, edx
dec ecx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x24], edx
mov dword [ebp + 8], ecx
cmp dword [eax + 0xec], edx
je 0x7ddaa9f0
cmp dword [ebp - 8], 9
jl 0x7ddaa9f0
mov edx, dword [eax + 0xe0]
mov eax, dword [edi + 0x10]
movzx eax, word [eax]
test edx, edx
je 0x7ddaa9a9
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x28], eax
mov eax, dword [edi + 0x10]
movzx eax, word [eax + 2]
test edx, edx
je 0x7ddaa9d9
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov eax, dword [ecx + eax*4]
xor eax, dword [ebp - 0x28]
mov ecx, dword [ebp + 8]
test eax, 0xe7ffffff
jne 0x7ddaa9f0
mov dword [ebp - 0x1c], 1
test ecx, ecx
jl 0x7ddaaa3c
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp + 8]
add eax, ecx
mov ecx, dword [edi + 0x10]
cdq
sub eax, edx
sar eax, 1
mov edx, eax
imul edx, edx, 0x14
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
add eax, eax
push 8
add ecx, eax
call fcn.7de0f0de
test eax, eax
mov eax, dword [ebp - 0x20]
je 0x7ddaab7e
jge 0x7ddaaa30
dec eax
mov dword [ebp + 8], eax
jmp 0x7ddaaa34
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
cmp dword [ebp - 0x24], eax
jle 0x7ddaa9f4
mov eax, dword [esi]
mov ecx, dword [eax + 0x10c]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 0xf4]
cmp word [ecx + 0x12], 0
jbe 0x7ddaabaa
mov ecx, dword [eax + 0xec]
xor edx, edx
test ecx, ecx
sete dl
mov dword [ebp + 8], ecx
push 7
pop ecx
sub ecx, edx
mov edx, ecx
mov ecx, dword [edi + 0x10]
lea ecx, [ecx + edx*2]
mov edx, dword [edi + 4]
cmp ecx, edx
ja 0x7ddaabaa
cmp dword [ebp - 8], 0
jne 0x7ddaaaa9
push dword [edi + 8]
mov eax, dword [eax + 0xf4]
movzx ecx, word [eax + 6]
push dword [ebp + 8]
movzx eax, word [eax + 4]
push ecx
mov ecx, dword [edi + 0x10]
push eax
push 7
call fcn.7de0f109
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 7
jl 0x7ddaabaa
mov eax, dword [esi]
mov ecx, dword [eax + 0xf4]
movzx ecx, word [ecx + 0x12]
xor edx, edx
dec ecx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x24], edx
mov dword [ebp + 8], ecx
cmp dword [eax + 0xec], edx
je 0x7ddaab3e
cmp dword [ebp - 8], 8
jl 0x7ddaab3e
mov edx, dword [eax + 0xe0]
mov eax, dword [edi + 0x10]
movzx eax, word [eax]
test edx, edx
je 0x7ddaaaf6
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x28], eax
mov eax, dword [edi + 0x10]
movzx eax, word [eax + 2]
test edx, edx
je 0x7ddaab26
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov ecx, dword [ecx + eax*4]
xor ecx, dword [ebp - 0x28]
test ecx, 0xe7ffffff
mov ecx, dword [ebp + 8]
jne 0x7ddaab3e
mov dword [ebp - 0x1c], 1
test ecx, ecx
jl 0x7ddaabaa
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp + 8]
add eax, ecx
mov ecx, dword [edi + 0x10]
cdq
sub eax, edx
sar eax, 1
mov edx, eax
imul edx, edx, 0x14
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
add eax, eax
push 7
add ecx, eax
call fcn.7de0f0de
test eax, eax
mov eax, dword [ebp - 0x20]
je 0x7ddaacec
jge 0x7ddaab9e
dec eax
mov dword [ebp + 8], eax
jmp 0x7ddaaba2
mov ecx, dword [ebp - 0x18]
imul eax, eax, 0x14
cmp dword [ebp - 0x1c], 0
mov eax, dword [eax + ecx + 0x10]
mov dword [edi + 0x18], eax
jne 0x7dd73a3e
add dword [edi + 0x10], 0xe
jmp 0x7dd73a3e
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
cmp dword [ebp - 0x24], eax
jle 0x7ddaab42
mov eax, dword [esi]
mov ecx, dword [eax + 0x108]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 0xf4]
cmp word [ecx + 0x10], 0
jbe 0x7ddaad18
mov ecx, dword [eax + 0xec]
xor edx, edx
test ecx, ecx
sete dl
mov dword [ebp + 8], ecx
push 6
pop ecx
sub ecx, edx
mov edx, ecx
mov ecx, dword [edi + 0x10]
lea ecx, [ecx + edx*2]
mov edx, dword [edi + 4]
cmp ecx, edx
ja 0x7ddaad18
cmp dword [ebp - 8], 0
jne 0x7ddaac17
push dword [edi + 8]
mov eax, dword [eax + 0xf4]
movzx ecx, word [eax + 6]
push dword [ebp + 8]
movzx eax, word [eax + 4]
push ecx
mov ecx, dword [edi + 0x10]
push eax
push 6
call fcn.7de0f109
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 6
jl 0x7ddaad18
mov eax, dword [esi]
mov ecx, dword [eax + 0xf4]
movzx ecx, word [ecx + 0x10]
xor edx, edx
dec ecx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x24], edx
mov dword [ebp + 8], ecx
cmp dword [eax + 0xec], edx
je 0x7ddaacac
cmp dword [ebp - 8], 7
jl 0x7ddaacac
mov edx, dword [eax + 0xe0]
mov eax, dword [edi + 0x10]
movzx eax, word [eax]
test edx, edx
je 0x7ddaac64
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x28], eax
mov eax, dword [edi + 0x10]
movzx eax, word [eax + 2]
test edx, edx
je 0x7ddaac94
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov ecx, dword [ecx + eax*4]
xor ecx, dword [ebp - 0x28]
test ecx, 0xe7ffffff
mov ecx, dword [ebp + 8]
jne 0x7ddaacac
mov dword [ebp - 0x1c], 1
test ecx, ecx
jl 0x7ddaad18
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp + 8]
add eax, ecx
mov ecx, dword [edi + 0x10]
cdq
sub eax, edx
sar eax, 1
mov edx, eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
shl edx, 4
add edx, dword [ebp - 0x18]
add eax, eax
push 6
add ecx, eax
call fcn.7de0f0de
test eax, eax
mov eax, dword [ebp - 0x20]
je 0x7ddaae59
jge 0x7ddaad0c
dec eax
mov dword [ebp + 8], eax
jmp 0x7ddaad10
mov ecx, dword [ebp - 0x18]
imul eax, eax, 0x14
cmp dword [ebp - 0x1c], 0
mov eax, dword [eax + ecx + 0x10]
mov dword [edi + 0x18], eax
jne 0x7dd73a3e
add dword [edi + 0x10], 0xc
jmp 0x7dd73a3e
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
cmp dword [ebp - 0x24], eax
jle 0x7ddaacb0
mov eax, dword [esi]
mov ecx, dword [eax + 0x104]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 0xf4]
cmp word [ecx + 0xe], 0
jbe 0x7ddaae85
mov ecx, dword [eax + 0xec]
xor edx, edx
test ecx, ecx
sete dl
mov dword [ebp + 8], ecx
push 5
pop ecx
sub ecx, edx
mov edx, ecx
mov ecx, dword [edi + 0x10]
lea ecx, [ecx + edx*2]
mov edx, dword [edi + 4]
cmp ecx, edx
ja 0x7ddaae85
cmp dword [ebp - 8], 0
jne 0x7ddaad85
push dword [edi + 8]
mov eax, dword [eax + 0xf4]
movzx ecx, word [eax + 6]
push dword [ebp + 8]
movzx eax, word [eax + 4]
push ecx
mov ecx, dword [edi + 0x10]
push eax
push 5
call fcn.7de0f109
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 5
jl 0x7ddaae85
mov eax, dword [esi]
mov edx, dword [eax + 0xf4]
movzx edx, word [edx + 0xe]
xor ecx, ecx
dec edx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp + 8], edx
cmp dword [eax + 0xec], ecx
je 0x7ddaae17
cmp dword [ebp - 8], 6
jl 0x7ddaae17
mov edx, dword [eax + 0xe0]
mov eax, dword [edi + 0x10]
movzx eax, word [eax]
cmp edx, ecx
je 0x7ddaadd2
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x28], eax
mov eax, dword [edi + 0x10]
movzx eax, word [eax + 2]
test edx, edx
je 0x7ddaae02
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov ecx, dword [ecx + eax*4]
xor ecx, dword [ebp - 0x28]
test ecx, 0xe7ffffff
jne 0x7ddaae17
mov dword [ebp - 0x1c], 1
cmp dword [ebp + 8], 0
jl 0x7ddaae85
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp + 8]
add eax, ecx
mov ecx, dword [edi + 0x10]
cdq
sub eax, edx
sar eax, 1
mov edx, eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
shl edx, 4
add edx, dword [ebp - 0x18]
add eax, eax
push 5
add ecx, eax
call fcn.7de0f0de
test eax, eax
mov eax, dword [ebp - 0x20]
je 0x7ddaafc6
jge 0x7ddaae79
dec eax
mov dword [ebp + 8], eax
jmp 0x7ddaae7d
mov ecx, dword [ebp - 0x18]
shl eax, 4
cmp dword [ebp - 0x1c], 0
mov eax, dword [eax + ecx + 0xc]
mov dword [edi + 0x18], eax
jne 0x7dd73a3e
add dword [edi + 0x10], 0xa
jmp 0x7dd73a3e
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
cmp dword [ebp - 0x24], eax
jle 0x7ddaae1d
mov eax, dword [esi]
mov ecx, dword [eax + 0x100]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 0xf4]
cmp word [ecx + 0xc], 0
jbe 0x7ddaaff2
mov ecx, dword [eax + 0xec]
xor edx, edx
test ecx, ecx
sete dl
mov dword [ebp + 8], ecx
push 4
pop ecx
sub ecx, edx
mov edx, ecx
mov ecx, dword [edi + 0x10]
lea ecx, [ecx + edx*2]
mov edx, dword [edi + 4]
cmp ecx, edx
ja 0x7ddaaff2
cmp dword [ebp - 8], 0
jne 0x7ddaaef2
push dword [edi + 8]
mov eax, dword [eax + 0xf4]
movzx ecx, word [eax + 6]
push dword [ebp + 8]
movzx eax, word [eax + 4]
push ecx
mov ecx, dword [edi + 0x10]
push eax
push 4
call fcn.7de0f109
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 4
jl 0x7ddaaff2
mov eax, dword [esi]
mov edx, dword [eax + 0xf4]
movzx edx, word [edx + 0xc]
xor ecx, ecx
dec edx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp + 8], edx
cmp dword [eax + 0xec], ecx
je 0x7ddaaf84
cmp dword [ebp - 8], 5
jl 0x7ddaaf84
mov edx, dword [eax + 0xe0]
mov eax, dword [edi + 0x10]
movzx eax, word [eax]
cmp edx, ecx
je 0x7ddaaf3f
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x28], eax
mov eax, dword [edi + 0x10]
movzx eax, word [eax + 2]
test edx, edx
je 0x7ddaaf6f
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov ecx, dword [ecx + eax*4]
xor ecx, dword [ebp - 0x28]
test ecx, 0xe7ffffff
jne 0x7ddaaf84
mov dword [ebp - 0x1c], 1
cmp dword [ebp + 8], 0
jl 0x7ddaaff2
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp + 8]
add eax, ecx
mov ecx, dword [edi + 0x10]
cdq
sub eax, edx
sar eax, 1
mov edx, eax
imul edx, edx, 0xc
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
add eax, eax
push 4
add ecx, eax
call fcn.7de0f0de
test eax, eax
mov eax, dword [ebp - 0x20]
je 0x7ddab133
jge 0x7ddaafe6
dec eax
mov dword [ebp + 8], eax
jmp 0x7ddaafea
mov ecx, dword [ebp - 0x18]
shl eax, 4
cmp dword [ebp - 0x1c], 0
mov eax, dword [eax + ecx + 0xc]
mov dword [edi + 0x18], eax
jne 0x7dd73a3e
add dword [edi + 0x10], 8
jmp 0x7dd73a3e
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
cmp dword [ebp - 0x24], eax
jle 0x7ddaaf8a
mov eax, dword [esi]
mov ecx, dword [eax + 0xfc]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 0xf4]
cmp word [ecx + 0xa], 0
jbe 0x7ddab15f
mov ecx, dword [eax + 0xec]
xor edx, edx
test ecx, ecx
sete dl
mov dword [ebp + 8], ecx
push 3
pop ecx
sub ecx, edx
mov edx, ecx
mov ecx, dword [edi + 0x10]
lea ecx, [ecx + edx*2]
mov edx, dword [edi + 4]
cmp ecx, edx
ja 0x7ddab15f
cmp dword [ebp - 8], 0
jne 0x7ddab05f
push dword [edi + 8]
mov eax, dword [eax + 0xf4]
movzx ecx, word [eax + 6]
push dword [ebp + 8]
movzx eax, word [eax + 4]
push ecx
mov ecx, dword [edi + 0x10]
push eax
push 3
call fcn.7de0f109
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 3
jl 0x7ddab15f
mov eax, dword [esi]
mov edx, dword [eax + 0xf4]
movzx edx, word [edx + 0xa]
xor ecx, ecx
dec edx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp + 8], edx
cmp dword [eax + 0xec], ecx
je 0x7ddab0f1
cmp dword [ebp - 8], 4
jl 0x7ddab0f1
mov edx, dword [eax + 0xe0]
mov eax, dword [edi + 0x10]
movzx eax, word [eax]
cmp edx, ecx
je 0x7ddab0ac
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x28], eax
mov eax, dword [edi + 0x10]
movzx eax, word [eax + 2]
test edx, edx
je 0x7ddab0dc
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov ecx, dword [ecx + eax*4]
xor ecx, dword [ebp - 0x28]
test ecx, 0xe7ffffff
jne 0x7ddab0f1
mov dword [ebp - 0x1c], 1
cmp dword [ebp + 8], 0
jl 0x7ddab15f
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp + 8]
add eax, ecx
mov ecx, dword [edi + 0x10]
cdq
sub eax, edx
sar eax, 1
mov edx, eax
imul edx, edx, 0xc
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
add eax, eax
push 3
add ecx, eax
call fcn.7de0f0de
test eax, eax
mov eax, dword [ebp - 0x20]
je 0x7ddab29d
jge 0x7ddab153
dec eax
mov dword [ebp + 8], eax
jmp 0x7ddab157
mov ecx, dword [ebp - 0x18]
imul eax, eax, 0xc
cmp dword [ebp - 0x1c], 0
mov eax, dword [eax + ecx + 8]
mov dword [edi + 0x18], eax
jne 0x7dd73a3e
add dword [edi + 0x10], 6
jmp 0x7dd73a3e
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
cmp dword [ebp - 0x24], eax
jle 0x7ddab0f7
mov eax, dword [esi]
mov ecx, dword [eax + 0xf8]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 0xf4]
cmp word [ecx + 8], 0
jbe 0x7dd73a3e
mov ecx, dword [eax + 0xec]
xor edx, edx
test ecx, ecx
sete dl
mov dword [ebp + 8], ecx
push 2
pop ecx
sub ecx, edx
mov edx, ecx
mov ecx, dword [edi + 0x10]
lea ecx, [ecx + edx*2]
mov edx, dword [edi + 4]
cmp ecx, edx
ja 0x7dd73a3e
cmp dword [ebp - 8], 0
jne 0x7ddab1cc
push dword [edi + 8]
mov eax, dword [eax + 0xf4]
movzx ecx, word [eax + 6]
push dword [ebp + 8]
movzx eax, word [eax + 4]
push ecx
mov ecx, dword [edi + 0x10]
push eax
push 2
call fcn.7de0f109
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 2
jl 0x7dd73a3e
mov eax, dword [esi]
mov ecx, dword [eax + 0xf4]
movzx ecx, word [ecx + 8]
xor edx, edx
dec ecx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ecx
cmp dword [eax + 0xec], edx
je 0x7ddab25d
cmp dword [ebp - 8], 3
jl 0x7ddab25d
mov edx, dword [eax + 0xe0]
mov ecx, dword [0x7dd71478]
mov eax, dword [edi + 0x10]
mov ecx, dword [ecx + 0x2c]
movzx eax, word [eax]
mov dword [ebp + 8], ecx
test edx, edx
je 0x7ddab228
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x28], eax
mov eax, dword [edi + 0x10]
movzx eax, word [eax + 2]
test edx, edx
je 0x7ddab249
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + eax*4]
xor eax, dword [ebp - 0x28]
test eax, 0xe7ffffff
jne 0x7ddab25d
mov dword [ebp - 0x1c], 1
cmp dword [ebp - 0x20], 0
jl 0x7dd73a3e
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
add eax, ecx
mov ecx, dword [ebp - 0x18]
cdq
sub eax, edx
sar eax, 1
lea edx, [ecx + eax*8]
mov ecx, dword [edi + 0x10]
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x1c]
add eax, eax
push 2
add ecx, eax
call fcn.7de0f0de
test eax, eax
je 0x7ddab2cf
mov eax, dword [ebp + 8]
jge 0x7ddab2bd
dec eax
mov dword [ebp - 0x20], eax
jmp 0x7ddab2c1
mov ecx, dword [ebp - 0x18]
imul eax, eax, 0xc
cmp dword [ebp - 0x1c], 0
mov eax, dword [eax + ecx + 8]
mov dword [edi + 0x18], eax
jne 0x7dd73a3e
add dword [edi + 0x10], 4
jmp 0x7dd73a3e
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x24], eax
jg 0x7dd73a3e
jmp 0x7ddab267
cmp dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + ecx*8 + 4]
mov dword [edi + 0x18], eax
jne 0x7dd73a3e
add dword [edi + 0x10], 2
jmp 0x7dd73a3e
mov eax, dword [esi]
mov ecx, dword [eax + 0x110]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 0xf4]
cmp word [ecx + 0x14], 0
jbe 0x7ddab435
mov ecx, dword [eax + 0xec]
xor edx, edx
test ecx, ecx
sete dl
mov dword [ebp + 8], ecx
push 8
pop ecx
sub ecx, edx
mov edx, ecx
mov ecx, dword [ebx + 0x10]
lea ecx, [ecx + edx*2]
mov edx, dword [ebx + 4]
cmp ecx, edx
ja 0x7ddab435
push dword [ebx + 8]
mov eax, dword [eax + 0xf4]
movzx ecx, word [eax + 6]
push dword [ebp + 8]
movzx eax, word [eax + 4]
push ecx
mov ecx, dword [ebx + 0x10]
push eax
push 8
call fcn.7de0f109
cmp eax, 8
mov dword [ebp - 8], eax
jl 0x7ddab435
mov eax, dword [esi]
mov ecx, dword [eax + 0xf4]
movzx ecx, word [ecx + 0x14]
xor edx, edx
dec ecx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x24], edx
mov dword [ebp + 8], ecx
cmp dword [eax + 0xec], edx
je 0x7ddab3e9
cmp dword [ebp - 8], 9
jl 0x7ddab3e9
mov edx, dword [eax + 0xe0]
mov eax, dword [ebx + 0x10]
movzx eax, word [eax]
test edx, edx
je 0x7ddab3a2
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0x10]
movzx eax, word [eax + 2]
test edx, edx
je 0x7ddab3d2
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov eax, dword [ecx + eax*4]
xor eax, dword [ebp - 0x28]
mov ecx, dword [ebp + 8]
test eax, 0xe7ffffff
jne 0x7ddab3e9
mov dword [ebp - 0x1c], 1
test ecx, ecx
jl 0x7ddab435
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp + 8]
add eax, ecx
mov ecx, dword [ebx + 0x10]
cdq
sub eax, edx
sar eax, 1
mov edx, eax
imul edx, edx, 0x14
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
add eax, eax
push 8
add ecx, eax
call fcn.7de0f0de
test eax, eax
mov eax, dword [ebp - 0x20]
je 0x7ddab577
jge 0x7ddab429
dec eax
mov dword [ebp + 8], eax
jmp 0x7ddab42d
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
cmp dword [ebp - 0x24], eax
jle 0x7ddab3ed
mov eax, dword [esi]
mov ecx, dword [eax + 0x10c]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 0xf4]
cmp word [ecx + 0x12], 0
jbe 0x7ddab5a3
mov ecx, dword [eax + 0xec]
xor edx, edx
test ecx, ecx
sete dl
mov dword [ebp + 8], ecx
push 7
pop ecx
sub ecx, edx
mov edx, ecx
mov ecx, dword [ebx + 0x10]
lea ecx, [ecx + edx*2]
mov edx, dword [ebx + 4]
cmp ecx, edx
ja 0x7ddab5a3
cmp dword [ebp - 8], 0
jne 0x7ddab4a2
push dword [ebx + 8]
mov eax, dword [eax + 0xf4]
movzx ecx, word [eax + 6]
push dword [ebp + 8]
movzx eax, word [eax + 4]
push ecx
mov ecx, dword [ebx + 0x10]
push eax
push 7
call fcn.7de0f109
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 7
jl 0x7ddab5a3
mov eax, dword [esi]
mov ecx, dword [eax + 0xf4]
movzx ecx, word [ecx + 0x12]
xor edx, edx
dec ecx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x24], edx
mov dword [ebp + 8], ecx
cmp dword [eax + 0xec], edx
je 0x7ddab537
cmp dword [ebp - 8], 8
jl 0x7ddab537
mov edx, dword [eax + 0xe0]
mov eax, dword [ebx + 0x10]
movzx eax, word [eax]
test edx, edx
je 0x7ddab4ef
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0x10]
movzx eax, word [eax + 2]
test edx, edx
je 0x7ddab51f
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov ecx, dword [ecx + eax*4]
xor ecx, dword [ebp - 0x28]
test ecx, 0xe7ffffff
mov ecx, dword [ebp + 8]
jne 0x7ddab537
mov dword [ebp - 0x1c], 1
test ecx, ecx
jl 0x7ddab5a3
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp + 8]
add eax, ecx
mov ecx, dword [ebx + 0x10]
cdq
sub eax, edx
sar eax, 1
mov edx, eax
imul edx, edx, 0x14
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
add eax, eax
push 7
add ecx, eax
call fcn.7de0f0de
test eax, eax
mov eax, dword [ebp - 0x20]
je 0x7ddab6e5
jge 0x7ddab597
dec eax
mov dword [ebp + 8], eax
jmp 0x7ddab59b
mov ecx, dword [ebp - 0x18]
imul eax, eax, 0x14
cmp dword [ebp - 0x1c], 0
mov eax, dword [eax + ecx + 0x10]
mov dword [ebx + 0x18], eax
jne 0x7dd73a80
add dword [ebx + 0x10], 0xe
jmp 0x7dd73a80
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
cmp dword [ebp - 0x24], eax
jle 0x7ddab53b
mov eax, dword [esi]
mov ecx, dword [eax + 0x108]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 0xf4]
cmp word [ecx + 0x10], 0
jbe 0x7ddab711
mov ecx, dword [eax + 0xec]
xor edx, edx
test ecx, ecx
sete dl
mov dword [ebp + 8], ecx
push 6
pop ecx
sub ecx, edx
mov edx, ecx
mov ecx, dword [ebx + 0x10]
lea ecx, [ecx + edx*2]
mov edx, dword [ebx + 4]
cmp ecx, edx
ja 0x7ddab711
cmp dword [ebp - 8], 0
jne 0x7ddab610
push dword [ebx + 8]
mov eax, dword [eax + 0xf4]
movzx ecx, word [eax + 6]
push dword [ebp + 8]
movzx eax, word [eax + 4]
push ecx
mov ecx, dword [ebx + 0x10]
push eax
push 6
call fcn.7de0f109
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 6
jl 0x7ddab711
mov eax, dword [esi]
mov ecx, dword [eax + 0xf4]
movzx ecx, word [ecx + 0x10]
xor edx, edx
dec ecx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x24], edx
mov dword [ebp + 8], ecx
cmp dword [eax + 0xec], edx
je 0x7ddab6a5
cmp dword [ebp - 8], 7
jl 0x7ddab6a5
mov edx, dword [eax + 0xe0]
mov eax, dword [ebx + 0x10]
movzx eax, word [eax]
test edx, edx
je 0x7ddab65d
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0x10]
movzx eax, word [eax + 2]
test edx, edx
je 0x7ddab68d
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov ecx, dword [ecx + eax*4]
xor ecx, dword [ebp - 0x28]
test ecx, 0xe7ffffff
mov ecx, dword [ebp + 8]
jne 0x7ddab6a5
mov dword [ebp - 0x1c], 1
test ecx, ecx
jl 0x7ddab711
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp + 8]
add eax, ecx
mov ecx, dword [ebx + 0x10]
cdq
sub eax, edx
sar eax, 1
mov edx, eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
shl edx, 4
add edx, dword [ebp - 0x18]
add eax, eax
push 6
add ecx, eax
call fcn.7de0f0de
test eax, eax
mov eax, dword [ebp - 0x20]
je 0x7ddab852
jge 0x7ddab705
dec eax
mov dword [ebp + 8], eax
jmp 0x7ddab709
mov ecx, dword [ebp - 0x18]
imul eax, eax, 0x14
cmp dword [ebp - 0x1c], 0
mov eax, dword [eax + ecx + 0x10]
mov dword [ebx + 0x18], eax
jne 0x7dd73a80
add dword [ebx + 0x10], 0xc
jmp 0x7dd73a80
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
cmp dword [ebp - 0x24], eax
jle 0x7ddab6a9
mov eax, dword [esi]
mov ecx, dword [eax + 0x104]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 0xf4]
cmp word [ecx + 0xe], 0
jbe 0x7ddab87e
mov ecx, dword [eax + 0xec]
xor edx, edx
test ecx, ecx
sete dl
mov dword [ebp + 8], ecx
push 5
pop ecx
sub ecx, edx
mov edx, ecx
mov ecx, dword [ebx + 0x10]
lea ecx, [ecx + edx*2]
mov edx, dword [ebx + 4]
cmp ecx, edx
ja 0x7ddab87e
cmp dword [ebp - 8], 0
jne 0x7ddab77e
push dword [ebx + 8]
mov eax, dword [eax + 0xf4]
movzx ecx, word [eax + 6]
push dword [ebp + 8]
movzx eax, word [eax + 4]
push ecx
mov ecx, dword [ebx + 0x10]
push eax
push 5
call fcn.7de0f109
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 5
jl 0x7ddab87e
mov eax, dword [esi]
mov edx, dword [eax + 0xf4]
movzx edx, word [edx + 0xe]
xor ecx, ecx
dec edx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp + 8], edx
cmp dword [eax + 0xec], ecx
je 0x7ddab810
cmp dword [ebp - 8], 6
jl 0x7ddab810
mov edx, dword [eax + 0xe0]
mov eax, dword [ebx + 0x10]
movzx eax, word [eax]
cmp edx, ecx
je 0x7ddab7cb
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0x10]
movzx eax, word [eax + 2]
test edx, edx
je 0x7ddab7fb
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov ecx, dword [ecx + eax*4]
xor ecx, dword [ebp - 0x28]
test ecx, 0xe7ffffff
jne 0x7ddab810
mov dword [ebp - 0x1c], 1
cmp dword [ebp + 8], 0
jl 0x7ddab87e
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp + 8]
add eax, ecx
mov ecx, dword [ebx + 0x10]
cdq
sub eax, edx
sar eax, 1
mov edx, eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
shl edx, 4
add edx, dword [ebp - 0x18]
add eax, eax
push 5
add ecx, eax
call fcn.7de0f0de
test eax, eax
mov eax, dword [ebp - 0x20]
je 0x7ddab9bf
jge 0x7ddab872
dec eax
mov dword [ebp + 8], eax
jmp 0x7ddab876
mov ecx, dword [ebp - 0x18]
shl eax, 4
cmp dword [ebp - 0x1c], 0
mov eax, dword [eax + ecx + 0xc]
mov dword [ebx + 0x18], eax
jne 0x7dd73a80
add dword [ebx + 0x10], 0xa
jmp 0x7dd73a80
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
cmp dword [ebp - 0x24], eax
jle 0x7ddab816
mov eax, dword [esi]
mov ecx, dword [eax + 0x100]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 0xf4]
cmp word [ecx + 0xc], 0
jbe 0x7ddab9eb
mov ecx, dword [eax + 0xec]
xor edx, edx
test ecx, ecx
sete dl
mov dword [ebp + 8], ecx
push 4
pop ecx
sub ecx, edx
mov edx, ecx
mov ecx, dword [ebx + 0x10]
lea ecx, [ecx + edx*2]
mov edx, dword [ebx + 4]
cmp ecx, edx
ja 0x7ddab9eb
cmp dword [ebp - 8], 0
jne 0x7ddab8eb
push dword [ebx + 8]
mov eax, dword [eax + 0xf4]
movzx ecx, word [eax + 6]
push dword [ebp + 8]
movzx eax, word [eax + 4]
push ecx
mov ecx, dword [ebx + 0x10]
push eax
push 4
call fcn.7de0f109
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 4
jl 0x7ddab9eb
mov eax, dword [esi]
mov edx, dword [eax + 0xf4]
movzx edx, word [edx + 0xc]
xor ecx, ecx
dec edx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp + 8], edx
cmp dword [eax + 0xec], ecx
je 0x7ddab97d
cmp dword [ebp - 8], 5
jl 0x7ddab97d
mov edx, dword [eax + 0xe0]
mov eax, dword [ebx + 0x10]
movzx eax, word [eax]
cmp edx, ecx
je 0x7ddab938
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0x10]
movzx eax, word [eax + 2]
test edx, edx
je 0x7ddab968
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov ecx, dword [ecx + eax*4]
xor ecx, dword [ebp - 0x28]
test ecx, 0xe7ffffff
jne 0x7ddab97d
mov dword [ebp - 0x1c], 1
cmp dword [ebp + 8], 0
jl 0x7ddab9eb
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp + 8]
add eax, ecx
mov ecx, dword [ebx + 0x10]
cdq
sub eax, edx
sar eax, 1
mov edx, eax
imul edx, edx, 0xc
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
add eax, eax
push 4
add ecx, eax
call fcn.7de0f0de
test eax, eax
mov eax, dword [ebp - 0x20]
je 0x7ddabb2c
jge 0x7ddab9df
dec eax
mov dword [ebp + 8], eax
jmp 0x7ddab9e3
mov ecx, dword [ebp - 0x18]
shl eax, 4
cmp dword [ebp - 0x1c], 0
mov eax, dword [eax + ecx + 0xc]
mov dword [ebx + 0x18], eax
jne 0x7dd73a80
add dword [ebx + 0x10], 8
jmp 0x7dd73a80
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
cmp dword [ebp - 0x24], eax
jle 0x7ddab983
mov eax, dword [esi]
mov ecx, dword [eax + 0xfc]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 0xf4]
cmp word [ecx + 0xa], 0
jbe 0x7ddabb58
mov ecx, dword [eax + 0xec]
xor edx, edx
test ecx, ecx
sete dl
mov dword [ebp + 8], ecx
push 3
pop ecx
sub ecx, edx
mov edx, ecx
mov ecx, dword [ebx + 0x10]
lea ecx, [ecx + edx*2]
mov edx, dword [ebx + 4]
cmp ecx, edx
ja 0x7ddabb58
cmp dword [ebp - 8], 0
jne 0x7ddaba58
push dword [ebx + 8]
mov eax, dword [eax + 0xf4]
movzx ecx, word [eax + 6]
push dword [ebp + 8]
movzx eax, word [eax + 4]
push ecx
mov ecx, dword [ebx + 0x10]
push eax
push 3
call fcn.7de0f109
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 3
jl 0x7ddabb58
mov eax, dword [esi]
mov edx, dword [eax + 0xf4]
movzx edx, word [edx + 0xa]
xor ecx, ecx
dec edx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp + 8], edx
cmp dword [eax + 0xec], ecx
je 0x7ddabaea
cmp dword [ebp - 8], 4
jl 0x7ddabaea
mov edx, dword [eax + 0xe0]
mov eax, dword [ebx + 0x10]
movzx eax, word [eax]
cmp edx, ecx
je 0x7ddabaa5
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0x10]
movzx eax, word [eax + 2]
test edx, edx
je 0x7ddabad5
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov ecx, dword [ecx + eax*4]
xor ecx, dword [ebp - 0x28]
test ecx, 0xe7ffffff
jne 0x7ddabaea
mov dword [ebp - 0x1c], 1
cmp dword [ebp + 8], 0
jl 0x7ddabb58
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp + 8]
add eax, ecx
mov ecx, dword [ebx + 0x10]
cdq
sub eax, edx
sar eax, 1
mov edx, eax
imul edx, edx, 0xc
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
add eax, eax
push 3
add ecx, eax
call fcn.7de0f0de
test eax, eax
mov eax, dword [ebp - 0x20]
je 0x7ddabc96
jge 0x7ddabb4c
dec eax
mov dword [ebp + 8], eax
jmp 0x7ddabb50
mov ecx, dword [ebp - 0x18]
imul eax, eax, 0xc
cmp dword [ebp - 0x1c], 0
mov eax, dword [eax + ecx + 8]
mov dword [ebx + 0x18], eax
jne 0x7dd73a80
add dword [ebx + 0x10], 6
jmp 0x7dd73a80
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
cmp dword [ebp - 0x24], eax
jle 0x7ddabaf0
mov eax, dword [esi]
mov ecx, dword [eax + 0xf8]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 0xf4]
cmp word [ecx + 8], 0
jbe 0x7dd73a80
mov ecx, dword [eax + 0xec]
xor edx, edx
test ecx, ecx
sete dl
mov dword [ebp + 8], ecx
push 2
pop ecx
sub ecx, edx
mov edx, ecx
mov ecx, dword [ebx + 0x10]
lea ecx, [ecx + edx*2]
mov edx, dword [ebx + 4]
cmp ecx, edx
ja 0x7dd73a80
cmp dword [ebp - 8], 0
jne 0x7ddabbc5
push dword [ebx + 8]
mov eax, dword [eax + 0xf4]
movzx ecx, word [eax + 6]
push dword [ebp + 8]
movzx eax, word [eax + 4]
push ecx
mov ecx, dword [ebx + 0x10]
push eax
push 2
call fcn.7de0f109
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 2
jl 0x7dd73a80
mov eax, dword [esi]
mov ecx, dword [eax + 0xf4]
movzx ecx, word [ecx + 8]
xor edx, edx
dec ecx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ecx
cmp dword [eax + 0xec], edx
je 0x7ddabc56
cmp dword [ebp - 8], 3
jl 0x7ddabc56
mov edx, dword [eax + 0xe0]
mov ecx, dword [0x7dd71478]
mov eax, dword [ebx + 0x10]
mov ecx, dword [ecx + 0x2c]
movzx eax, word [eax]
mov dword [ebp + 8], ecx
test edx, edx
je 0x7ddabc21
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0x10]
movzx eax, word [eax + 2]
test edx, edx
je 0x7ddabc42
mov ecx, eax
shr ecx, 8
and eax, 0xff
add eax, dword [edx + ecx*4]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + eax*4]
xor eax, dword [ebp - 0x28]
test eax, 0xe7ffffff
jne 0x7ddabc56
mov dword [ebp - 0x1c], 1
cmp dword [ebp - 0x20], 0
jl 0x7dd73a80
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
add eax, ecx
mov ecx, dword [ebp - 0x18]
cdq
sub eax, edx
sar eax, 1
lea edx, [ecx + eax*8]
mov ecx, dword [ebx + 0x10]
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x1c]
add eax, eax
push 2
add ecx, eax
call fcn.7de0f0de
test eax, eax
je 0x7ddabcc8
mov eax, dword [ebp + 8]
jge 0x7ddabcb6
dec eax
mov dword [ebp - 0x20], eax
jmp 0x7ddabcba
mov ecx, dword [ebp - 0x18]
imul eax, eax, 0xc
cmp dword [ebp - 0x1c], 0
mov eax, dword [eax + ecx + 8]
mov dword [ebx + 0x18], eax
jne 0x7dd73a80
add dword [ebx + 0x10], 4
jmp 0x7dd73a80
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x24], eax
jg 0x7dd73a80
jmp 0x7ddabc60
cmp dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebx + 0x18], eax
jne 0x7dd73a80
add dword [ebx + 0x10], 2
jmp 0x7dd73a80
mov eax, dword [esi + 0x4c]
mov edx, eax
shr edx, 8
mov byte [ebp + 0xb], dl
cmp dl, 5
je 0x7ddabd10
add dl, 0x57
cmp dl, 6
jbe 0x7ddabd10
cmp dword [esi + 0x2c], ecx
je 0x7ddabd23
mov dl, byte [ebp + 0xb]
add dl, 0x40
cmp dl, 0x2f
ja 0x7ddabd23
cmp byte [ebp + 0xb], 1
jne 0x7dd73a8e
cmp dword [esi + 0x18], ecx
je 0x7dd73a8e
mov edx, dword [esi + 0x30]
and edx, eax
mov dword [esi + 0x4c], edx
jmp 0x7dd73a8e
mov dword [ebp - 0x1c], 0xd835
jmp 0x7dd755d5
mov dword [ebp - 0x20], 0xd835
jmp 0x7dd755e7
cmp eax, dword [esi + 0x38]
jae 0x7ddabd5d
cmp word [eax], cx
jne 0x7ddabd5d
add eax, 2
mov dword [esi + 0x44], eax
jmp 0x7dd75608
add eax, 2
mov dword [esi + 0x44], eax
jmp 0x7dd75616
cmp eax, dword [esi + 0x5c]
jae 0x7ddabd7d
cmp word [eax], cx
jne 0x7ddabd7d
add eax, 2
mov dword [esi + 0x68], eax
jmp 0x7dd75637
add eax, 2
mov dword [esi + 0x68], eax
jmp 0x7dd75645
cmp eax, dword [esi + 0x38]
jae 0x7dd75692
cmp word [eax], cx
jne 0x7dd75692
inc eax
inc eax
jmp 0x7dd75687
cmp eax, dword [esi + 0x5c]
jae 0x7dd756df
cmp word [eax], cx
jne 0x7dd756df
inc eax
inc eax
jmp 0x7dd756d4
xor ecx, ecx
cmp eax, dword [ebp - 0x24]
setge cl
lea ecx, [ecx + ecx + 1]
mov eax, ecx
jmp 0x7ddabe84
add eax, 2
mov dword [esi + 0x44], eax
jmp 0x7dd7572b
add ecx, 2
mov dword [esi + 0x68], ecx
jmp 0x7dd75737
xor ecx, ecx
cmp dword [ebp - 0x10], eax
setl cl
jmp 0x7ddabdc2
xor ecx, ecx
test eax, eax
jmp 0x7ddabdbf
cmp dword [esi + 0xc], edx
jne 0x7ddabe1e
test byte [esi + 0x7c], 3
je 0x7ddabe1e
movzx eax, byte [esi + 0x4e]
mov cl, byte [esi + 0x72]
cmp al, cl
je 0x7ddabe1e
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
mov dword [esi + 0x80], eax
and dword [esi + 0x7c], 0xffffff0a
test byte [esi + 0x7c], 4
je 0x7dd75759
movzx eax, byte [esi + 0x4f]
mov cl, byte [esi + 0x73]
and al, 0x3f
and cl, 0x3f
cmp al, cl
je 0x7dd75759
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
mov dword [esi + 0x80], eax
and dword [esi + 0x7c], 0xffffff0b
jmp 0x7dd75759
add dword [esi + 0x44], 0xfffffffe
jmp 0x7dd7576b
add dword [esi + 0x68], 0xfffffffe
jmp 0x7dd75775
dec eax
mov dword [edi + 0x14], eax
mov ax, word [edi + eax*2 + 0xc]
jmp 0x7dd757b5
dec eax
mov dword [ebx + 0x14], eax
mov ax, word [ebx + eax*2 + 0xc]
jmp 0x7dd757f9
test eax, eax
jne 0x7dd970a8
jmp 0x7dd73acb
movzx eax, word [esi + 0x52]
cmp ax, cx
je 0x7ddabea4
cmp word [esi + 0x76], cx
jne 0x7dd75876
cmp ax, word [esi + 0x76]
je 0x7dd75876
xor eax, eax
cmp word [esi + 0x52], cx
setne al
lea eax, [eax + eax + 1]
jmp 0x7dd73b95
mov eax, dword [esi]
mov ecx, dword [eax + 0xe0]
movzx eax, word [edi + 0x1e]
test ecx, ecx
je 0x7ddabedd
mov edx, eax
shr edx, 8
and eax, 0xff
add eax, dword [ecx + edx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov eax, dword [ecx + eax*4]
mov dword [edi + 0x18], eax
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x38]
movzx eax, word [edi + 0x1a]
shl eax, 2
mov cx, word [eax + ecx]
mov word [edi + 0xe], cx
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x38]
mov ax, word [ecx + eax + 2]
mov word [edi + 0xc], ax
mov dword [edi + 0x14], 2
jmp 0x7ddabf47
cmp dword [esi + 0xc], 0
jne 0x7ddabf47
cmp dword [esi + 0x18], 0
jmp 0x7dd71a54
cmp word [edi + 0x1e], 0
jne 0x7ddabf3f
cmp dword [esi + 0x24], 0
jne 0x7dd73afc
xor eax, eax
inc eax
jmp 0x7dd71a52
or dword [esi + 0x4c], 0xffffffff
mov eax, dword [edi + 0x14]
test eax, eax
jle 0x7ddabf5d
dec eax
mov dword [edi + 0x14], eax
mov ax, word [edi + eax*2 + 0xc]
jmp 0x7ddabf70
add dword [edi + 0x10], 2
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 4]
jae 0x7ddabf6e
mov ax, word [eax]
jmp 0x7ddabf70
xor eax, eax
mov word [edi + 0x1e], ax
jmp 0x7dd73afc
mov edx, eax
shr edx, 8
and eax, 0xff
add eax, dword [ecx + edx*4]
jmp 0x7dd97032
cmp dword [esi + 0x18], 0
jmp 0x7dd74331
mov ax, word [eax]
jmp 0x7dd74358
dec eax
mov dword [edi + 0x14], eax
mov ax, word [edi + eax*2 + 0xc]
jmp 0x7dd75b0f
mov eax, dword [edi + 0x14]
test eax, eax
jle 0x7ddabfbc
dec eax
mov dword [edi + 0x14], eax
mov ax, word [edi + eax*2 + 0xc]
jmp 0x7ddabfcf
add dword [edi + 0x10], 2
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 4]
jae 0x7ddabfcd
mov ax, word [eax]
jmp 0x7ddabfcf
xor eax, eax
mov word [edi + 0x1e], ax
mov eax, dword [ebx + 0x14]
test eax, eax
jle 0x7ddabfe5
dec eax
mov dword [ebx + 0x14], eax
mov ax, word [ebx + eax*2 + 0xc]
jmp 0x7ddabff8
add dword [ebx + 0x10], 2
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x7ddabff6
mov ax, word [eax]
jmp 0x7ddabff8
xor eax, eax
mov word [ebx + 0x1e], ax
or dword [esi + 0x4c], 0xffffffff
or dword [esi + 0x70], 0xffffffff
jmp 0x7dd73b41
movzx cx, byte [esi + 0x4c]
movzx ax, byte [esi + 0x4e]
shl cx, 8
or ax, cx
movzx cx, byte [esi + 0x72]
mov word [esi + 0x50], ax
movzx ax, byte [esi + 0x70]
shl ax, 8
or ax, cx
mov word [esi + 0x74], ax
jmp 0x7dd73b41
mov edx, dword [edi + 0x10]
lea ecx, [edx - 2]
mov eax, 0xffff
cmp ecx, dword [edi]
jb 0x7dd99d3d
mov eax, dword [esi]
mov ecx, dword [eax + 0xe0]
mov eax, dword [esi + 0x30]
add edx, 0xfffffffe
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], 2
mov dword [ebp - 0x14], edx
jmp 0x7ddac06e
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
movzx eax, word [eax]
test ecx, ecx
je 0x7ddac085
mov edx, eax
shr edx, 8
and eax, 0xff
add eax, dword [ecx + edx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov eax, dword [ecx + eax*4]
and eax, dword [ebp - 0x24]
mov ecx, eax
shr ecx, 8
mov dword [ebp - 8], eax
cmp cl, 3
jae 0x7ddac0b0
mov eax, 0xffff
cmp cl, 2
jne 0x7ddac0bd
jmp 0x7dd99d3d
jne 0x7ddac12e
cmp byte [ebp - 8], 1
ja 0x7ddac0d5
mov eax, 0xffff
add dword [ebp - 0x20], 2
mov ecx, dword [edi + 0x10]
sub ecx, dword [ebp - 0x20]
sub dword [ebp - 0x14], 2
cmp ecx, dword [edi]
jb 0x7dd99d3d
jmp 0x7ddac06b
movzx cx, byte [ebp - 8]
mov eax, 0x2200
or cx, ax
mov al, byte [ebp - 5]
and al, 0x3f
mov dl, al
and dl, 0xc6
mov byte [edi + 0x20], dl
mov dl, al
and dl, 0xe4
cmp byte [ebp - 2], 0
mov word [ebp - 8], cx
mov byte [edi + 0x22], dl
jne 0x7ddac113
and al, 0xc5
mov byte [edi + 0x23], al
mov eax, dword [ebp - 8]
mov word [edi + 0x1c], cx
mov byte [edi + 0x21], 4
jmp 0x7ddac13b
mov eax, dword [ebp - 8]
mov ecx, eax
and ecx, 0xff87
mov word [edi + 0x1c], cx
mov cl, byte [ebp - 3]
mov byte [edi + 0x21], 5
jmp 0x7dd99d37
mov cx, word [ebp - 8]
mov word [edi + 0x1c], cx
jmp 0x7dd99d3d
cmp eax, 0xffff
jne 0x7dd99d47
and dword [edi + 0x20], 0
mov ecx, eax
mov word [edi + 0x1c], cx
mov dword [edi + 0x18], eax
jmp 0x7dd99d53
cmp dword [esi + 4], 0
je 0x7dd970df
jmp 0x7dd99d67
test byte [esi + 0x7c], 3
je 0x7dd75af1
cmp dword [esi + 0x20], 0
jne 0x7dd8d518
mov dword [esi + 0x80], 3
and dword [esi + 0x7c], 0xffffff0a
jmp 0x7dd75af1
mov al, byte [esi + 0x4d]
cmp al, 0x14
jbe 0x7ddac1a0
cmp al, 0x29
jne 0x7dd9b9b8
push 2
pop eax
jmp 0x7dd9b9bc
mov cl, byte [esi + 0x4d]
cmp cl, 0x14
jbe 0x7ddac1b9
cmp cl, 0x29
jne 0x7dd9b9c6
push 2
pop ecx
jmp 0x7dd9b9cd
mov al, byte [esi + 0x71]
cmp al, 0x14
jbe 0x7ddac1d0
cmp al, 0x29
jne 0x7dd9b9dd
push 2
pop eax
jmp 0x7dd9b9e1
mov cl, byte [esi + 0x71]
cmp cl, 0x14
jbe 0x7ddac1e9
cmp cl, 0x29
jne 0x7dd9b9ec
push 2
pop ecx
jmp 0x7dd9b9f3
cmp dword [esi + 0x20], 0
jne 0x7dd8d518
cmp byte [ebp - 2], al
jmp 0x7dd9c794
dec eax
mov dword [edi + 0x14], eax
mov ax, word [edi + eax*2 + 0xc]
jmp 0x7dd9ba1f
dec eax
mov dword [ebx + 0x14], eax
mov ax, word [ebx + eax*2 + 0xc]
jmp 0x7dd8ea44
cmp byte [ebp + 0xb], 5
je 0x7dd73b63
mov eax, 0xfdff
mov word [esi + 0x74], ax
jmp 0x7dd73b63
mov edx, dword [ebx + 0x10]
lea ecx, [edx - 2]
mov eax, 0xffff
cmp ecx, dword [ebx]
jb 0x7dd9a0fc
mov eax, dword [esi]
mov ecx, dword [eax + 0xe0]
mov eax, dword [esi + 0x30]
add edx, 0xfffffffe
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], 2
mov dword [ebp - 0x14], edx
jmp 0x7ddac26d
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
movzx eax, word [eax]
test ecx, ecx
je 0x7ddac284
mov edx, eax
shr edx, 8
and eax, 0xff
add eax, dword [ecx + edx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov eax, dword [ecx + eax*4]
and eax, dword [ebp - 0x24]
mov ecx, eax
shr ecx, 8
mov dword [ebp - 8], eax
cmp cl, 3
jae 0x7ddac2af
mov eax, 0xffff
cmp cl, 2
jne 0x7ddac2bc
jmp 0x7dd9a0fc
jne 0x7ddac32d
cmp byte [ebp - 8], 1
ja 0x7ddac2d4
mov eax, 0xffff
add dword [ebp - 0x20], 2
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebp - 0x20]
sub dword [ebp - 0x14], 2
cmp ecx, dword [ebx]
jb 0x7dd9a0fc
jmp 0x7ddac26a
movzx cx, byte [ebp - 8]
mov eax, 0x2200
or cx, ax
mov al, byte [ebp - 5]
and al, 0x3f
mov dl, al
and dl, 0xc6
mov byte [ebx + 0x20], dl
mov dl, al
and dl, 0xe4
cmp byte [ebp - 2], 0
mov word [ebp - 8], cx
mov byte [ebx + 0x22], dl
jne 0x7ddac312
and al, 0xc5
mov byte [ebx + 0x23], al
mov eax, dword [ebp - 8]
mov word [ebx + 0x1c], cx
mov byte [ebx + 0x21], 4
jmp 0x7ddac33a
mov eax, dword [ebp - 8]
mov ecx, eax
and ecx, 0xff87
mov word [ebx + 0x1c], cx
mov cl, byte [ebp - 3]
mov byte [ebx + 0x21], 5
jmp 0x7dd9a0f6
mov cx, word [ebp - 8]
mov word [ebx + 0x1c], cx
jmp 0x7dd9a0fc
cmp eax, 0xffff
jne 0x7dd9a106
and dword [ebx + 0x20], 0
mov ecx, eax
mov word [ebx + 0x1c], cx
mov dword [ebx + 0x18], eax
jmp 0x7dd9a112
cmp dword [esi + 4], 0
jne 0x7dd9a126
cmp dword [esi + 0x4c], 0xffffffff
jne 0x7dd9a11c
jmp 0x7dd7395e
mov eax, dword [esi + 0x54]
cmp eax, dword [esi + 0x78]
je 0x7dd73b63
cmp dword [esi + 0x20], 0
jne 0x7dd8d518
mov edx, dword [esi + 0x7c]
test dl, 0x10
je 0x7ddac3ab
mov cl, byte [esi + 0x78]
movzx eax, al
cmp al, cl
je 0x7ddac3ab
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
mov dword [esi + 0x80], eax
jmp 0x7dd9a14e
test dl, 0x20
je 0x7ddac3d5
movzx eax, byte [esi + 0x55]
mov cl, byte [esi + 0x79]
cmp al, cl
je 0x7ddac3d5
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
mov dword [esi + 0x80], eax
and dword [esi + 0x7c], 0xffffff1f
jmp 0x7dd73b63
test dl, 0x40
je 0x7ddac3ff
movzx eax, byte [esi + 0x56]
mov cl, byte [esi + 0x7a]
cmp al, cl
je 0x7ddac3ff
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
mov dword [esi + 0x80], eax
and dword [esi + 0x7c], 0xffffff3f
jmp 0x7dd73b63
test dl, dl
jns 0x7dd73b63
movzx eax, byte [esi + 0x57]
mov cl, byte [esi + 0x7b]
cmp al, cl
je 0x7dd73b63
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
mov dword [esi + 0x80], eax
and dword [esi + 0x7c], 0xffffff7f
jmp 0x7dd73b63
test byte [esi + 0x7c], 3
je 0x7dd8ea26
cmp dword [esi + 0x20], 0
jne 0x7dd759b6
mov dword [esi + 0x80], 1
and dword [esi + 0x7c], 0xffffff0a
jmp 0x7dd8ea26
mov al, byte [ebp + 0xb]
cmp al, 4
jne 0x7dd8ea5d
cmp byte [ebp - 1], al
jne 0x7dd8ea6e
mov eax, dword [esi + 0x54]
cmp eax, dword [esi + 0x78]
je 0x7dd8ea5d
jmp 0x7ddac71a
add al, 0x40
cmp al, 0x2f
ja 0x7dd8ea78
mov al, byte [esi + 0x4e]
mov cl, byte [esi + 0x72]
cmp al, cl
je 0x7dd8ea78
jmp 0x7dd73b8d
mov al, byte [esi + 0x4d]
cmp al, 0x14
jbe 0x7ddac4ab
cmp al, 0x29
jne 0x7dd8ea89
mov byte [ebp + 0xb], 2
jmp 0x7dd8ea8f
mov al, byte [esi + 0x71]
cmp al, 0x14
jbe 0x7ddac4c3
cmp al, 0x29
jne 0x7dd8ea97
mov byte [ebp - 2], 2
jmp 0x7dd8ea9d
mov byte [ebp - 1], 0
mov eax, dword [edi + 0x14]
test eax, eax
jne 0x7ddac4f4
cmp dword [edi + 8], eax
je 0x7ddac4e8
mov ecx, dword [edi + 0x10]
cmp word [ecx], ax
je 0x7ddac5be
mov ecx, dword [edi + 0x10]
cmp ecx, dword [edi + 4]
jae 0x7ddac5be
mov ecx, dword [esi]
mov edx, dword [ecx + 0xe0]
test edx, edx
je 0x7ddac557
test eax, eax
jle 0x7ddac50b
movzx ecx, word [edi + eax*2 + 0xa]
jmp 0x7ddac51d
mov ecx, dword [edi + 0x10]
add ecx, 2
cmp ecx, dword [edi + 4]
jae 0x7ddac51b
movzx ecx, word [ecx]
jmp 0x7ddac51d
xor ecx, ecx
test eax, eax
jle 0x7ddac528
movzx eax, word [edi + eax*2 + 0xa]
jmp 0x7ddac53a
mov eax, dword [edi + 0x10]
add eax, 2
cmp eax, dword [edi + 4]
jae 0x7ddac538
movzx eax, word [eax]
jmp 0x7ddac53a
xor eax, eax
movzx ecx, cx
shr ecx, 8
movzx eax, al
add eax, dword [edx + ecx*4]
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [edi + 0x14]
jmp 0x7ddac583
test eax, eax
jle 0x7ddac562
movzx ecx, word [edi + eax*2 + 0xa]
jmp 0x7ddac574
mov ecx, dword [edi + 0x10]
add ecx, 2
cmp ecx, dword [edi + 4]
jae 0x7ddac572
movzx ecx, word [ecx]
jmp 0x7ddac574
xor ecx, ecx
mov edx, dword [0x7dd71478]
mov edx, dword [edx + 0x2c]
movzx ecx, cx
mov ecx, dword [edx + ecx*4]
mov edx, ecx
shr edx, 8
cmp dl, 1
jne 0x7ddac5be
test eax, eax
jle 0x7ddac59c
dec eax
mov dword [edi + 0x14], eax
mov ax, word [edi + eax*2 + 0xc]
jmp 0x7ddac5af
add dword [edi + 0x10], 2
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 4]
jae 0x7ddac5ad
mov ax, word [eax]
jmp 0x7ddac5af
xor eax, eax
shr ecx, 0x10
add byte [ebp - 1], cl
mov word [edi + 0x1e], ax
jmp 0x7ddac4d0
mov al, byte [ebp - 1]
add byte [ebp + 0xb], al
mov byte [ebp - 1], 0
mov eax, dword [ebx + 0x14]
test eax, eax
jne 0x7ddac5ec
cmp dword [ebx + 8], eax
je 0x7ddac5e0
mov ecx, dword [ebx + 0x10]
cmp word [ecx], ax
je 0x7ddac6a9
mov ecx, dword [ebx + 0x10]
cmp ecx, dword [ebx + 4]
jae 0x7ddac6a9
mov ecx, dword [esi]
mov edx, dword [ecx + 0xe0]
test edx, edx
je 0x7ddac640
test eax, eax
jle 0x7ddac603
movzx ecx, word [ebx + eax*2 + 0xa]
jmp 0x7ddac615
mov ecx, dword [ebx + 0x10]
add ecx, 2
cmp ecx, dword [ebx + 4]
jae 0x7ddac613
movzx ecx, word [ecx]
jmp 0x7ddac615
xor ecx, ecx
test eax, eax
jle 0x7ddac620
movzx eax, word [ebx + eax*2 + 0xa]
jmp 0x7ddac632
mov eax, dword [ebx + 0x10]
add eax, 2
cmp eax, dword [ebx + 4]
jae 0x7ddac630
movzx eax, word [eax]
jmp 0x7ddac632
xor eax, eax
movzx ecx, cx
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
jmp 0x7ddac660
test eax, eax
jle 0x7ddac64b
movzx eax, word [ebx + eax*2 + 0xa]
jmp 0x7ddac65d
mov eax, dword [ebx + 0x10]
add eax, 2
cmp eax, dword [ebx + 4]
jae 0x7ddac65b
movzx eax, word [eax]
jmp 0x7ddac65d
xor eax, eax
movzx eax, ax
mov ecx, dword [0x7dd71478]
mov ecx, dword [ecx + 0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, ecx
shr eax, 8
cmp al, 1
jne 0x7ddac6a9
mov eax, dword [ebx + 0x14]
test eax, eax
jle 0x7ddac687
dec eax
mov dword [ebx + 0x14], eax
mov ax, word [ebx + eax*2 + 0xc]
jmp 0x7ddac69a
add dword [ebx + 0x10], 2
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x7ddac698
mov ax, word [eax]
jmp 0x7ddac69a
xor eax, eax
shr ecx, 0x10
add byte [ebp - 1], cl
mov word [ebx + 0x1e], ax
jmp 0x7ddac5c8
movzx eax, byte [ebp - 2]
add al, byte [ebp - 1]
cmp byte [ebp + 0xb], al
je 0x7dd8eaa9
cmp dword [esi + 0x20], 0
jne 0x7dd759b6
cmp byte [ebp + 0xb], al
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
mov dword [esi + 0x80], eax
and dword [esi + 0x7c], 0xffffff0a
jmp 0x7dd8eaa9
mov al, byte [esi + 0x4d]
cmp al, 0x14
jbe 0x7ddac6ef
cmp al, 0x29
jne 0x7dd8eabe
mov cl, 2
jmp 0x7dd8eac4
mov al, byte [esi + 0x71]
cmp al, 0x14
jbe 0x7ddac705
cmp al, 0x29
jne 0x7dd8eacc
mov al, 2
jmp 0x7dd8ead2
dec eax
mov dword [edi + 0x14], eax
mov ax, word [edi + eax*2 + 0xc]
jmp 0x7dd75890
mov eax, dword [esi + 0x54]
cmp eax, dword [esi + 0x78]
jmp 0x7dd73b8d
movzx eax, word [esi + 0x52]
mov edx, dword [esi + 0x44]
cmp ax, word [edx]
jne 0x7dd8d518
cmp dword [esi + 0xc], ecx
jne 0x7dd75836
cmp dword [esi + 0x18], ecx
jne 0x7dd75836
test byte [esi + 0x7c], 3
je 0x7dd75836
mov edx, dword [esi]
mov edx, dword [edx + 0xe0]
movzx eax, ax
cmp edx, ecx
je 0x7ddac76d
mov edi, eax
shr edi, 8
and eax, 0xff
add eax, dword [edx + edi*4]
mov edx, dword [0x7dd71478]
mov edx, dword [edx + 0x2c]
mov eax, dword [edx + eax*4]
shr eax, 8
cmp al, 1
jne 0x7dd75836
jmp 0x7dd8d518
cmp dword [esi + 0xc], ecx
jne 0x7ddac7ab
cmp dword [esi + 0x18], ecx
jne 0x7ddac7ab
test byte [esi + 0x7c], 3
je 0x7ddac7ab
jmp 0x7dd8d518
cmp dword [esi + 0x24], ecx
je 0x7ddac7ab
cmp dx, cx
jmp 0x7dd8d511
mov eax, dword [edi + 0x14]
cmp eax, ecx
jle 0x7ddac7bd
dec eax
mov dword [edi + 0x14], eax
mov ax, word [edi + eax*2 + 0xc]
jmp 0x7ddac7d0
add dword [edi + 0x10], 2
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 4]
jae 0x7ddac7ce
mov ax, word [eax]
jmp 0x7ddac7d0
xor eax, eax
mov word [edi + 0x1e], ax
jmp 0x7dd8d4a8
cmp dword [esi + 0x18], ecx
jne 0x7dd75930
test byte [esi + 0x7c], 3
je 0x7dd75930
jmp 0x7dd759b6
cmp dx, cx
jmp 0x7dd759af
dec eax
mov dword [ebx + 0x14], eax
mov ax, word [ebx + eax*2 + 0xc]
jmp 0x7dd7594d
mov ax, word [eax]
jmp 0x7dd7594d