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

Disassembly:
test dl, dl
je 0x7ddabf52
cmp dl, 1
je 0x7ddabf43
cmp dl, 2
je 0x7ddabee4
cmp dl, 4
je 0x7dd97096
cmp dl, 6
je 0x7dd75acc
jbe 0x7dd73afc
mov eax, dword [esi + 0x10]
test eax, eax
je 0x7dd73afc
jmp 0x7ddabf6b
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 0x7dd75812
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 4]
jae 0x7dd75812
cmp dword [ebx + 0x14], ecx
jne 0x7dd739a4
cmp dword [ebx + 8], ecx
je 0x7dd73998
mov eax, dword [ebx + 0x10]
cmp word [eax], cx
je 0x7dd75812
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x7dd75812
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 0x7dd99ca3
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 0x7dd99cc3
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 0x7ddabd0c
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 0x7ddab016
sub eax, 0x40
je 0x7ddaad3c
sub eax, 0x40
je 0x7ddaa91a
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 0x7ddaba0f
sub eax, 0x40
je 0x7ddab735
sub eax, 0x40
je 0x7ddab313
and dword [esi + 0x70], 0x3fffffff
xor ecx, ecx
jmp 0x7ddabd0c
mov edx, dword [esi + 0x70]
mov eax, edx
shr eax, 8
mov byte [ebp - 1], al
cmp al, 5
je 0x7dd9b776
mov cl, al
add cl, 0x57
cmp cl, 6
jbe 0x7dd9b774
cmp dword [esi + 0x2c], 0
jne 0x7dd9b766
mov eax, dword [esi + 0x30]
and eax, edx
mov dword [esi + 0x70], eax
cmp byte [ebp + 0xb], 0xd
je 0x7dd75574
mov eax, dword [esi + 0x4c]
mov dl, byte [ebp + 0xb]
cmp eax, dword [esi + 0x70]
je 0x7dd758d3
movzx eax, word [esi + 0x4c]
movzx ecx, word [esi + 0x70]
mov word [esi + 0x50], ax
mov word [esi + 0x74], cx
cmp ax, cx
je 0x7dd8ea29
cmp dl, 0xc
jbe 0x7dd71a1d
mov al, byte [ebp - 1]
cmp al, 0xc
jbe 0x7dd7430e
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 0x7ddac18b
dec eax
dec eax
je 0x7dd99ce3
dec eax
dec eax
je 0x7dd9b783
dec eax
je 0x7dd75ad4
movzx eax, byte [ebp - 1]
dec eax
je 0x7ddac454
dec eax
dec eax
je 0x7dd9a0a6
dec eax
dec eax
je 0x7ddac243
dec eax
je 0x7dd8e9d6
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 0x7ddac47e
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 0x7ddaa90c
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 0x7dd742ec
mov eax, dword [esi + 0x44]
cmp eax, dword [esi + 0x38]
jae 0x7dd73d41
cmp dword [esi + 0x60], ebx
jne 0x7dd742db
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 0x7dd742fd
mov eax, dword [esi + 0x44]
cmp eax, dword [esi + 0x38]
jb 0x7dd738f2
cmp dword [esi + 0x60], ebx
jne 0x7dd759e6
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 0x7dd92970
cmp al, 1
je 0x7dd970b0
cmp al, 2
je 0x7dd96ffe
cmp al, 4
je 0x7dd970a3
cmp al, 6
je 0x7dd8e9ce
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 0x7dd97057
add dword [ebx + 0x10], 2
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jb 0x7ddabfb8
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.7dd96bb5
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.7dd96bb5
cmp word [ebp - 8], 0
movzx eax, ax
mov dword [ebp - 0x14], eax
je 0x7dd97081
test ax, ax
je 0x7dd97081
mov eax, dword [ebp - 8]
lea ecx, [eax + 0x2400]
mov eax, 0x3ff
mov edx, eax
cmp cx, dx
jbe 0x7ddabd54
mov ecx, dword [ebp - 0x14]
add ecx, 0x2400
cmp cx, ax
jbe 0x7ddabd60
mov ecx, dword [ebp - 0x1c]
mov eax, dword [esi + 0x44]
mov dx, word [ebp - 8]
cmp word [eax], dx
jne 0x7dd75626
inc dword [ebp - 0x10]
add eax, 2
mov dword [esi + 0x44], eax
test cx, cx
jne 0x7ddabd6c
mov eax, dword [esi + 0x44]
cmp eax, dword [esi + 0x38]
jae 0x7dd75626
cmp dword [ebp - 0x10], 0x13
jl 0x7dd755fa
mov ecx, dword [ebp - 0x20]
mov eax, dword [esi + 0x68]
mov dx, word [eax]
cmp dx, word [ebp - 0x14]
jne 0x7dd75655
inc dword [ebp - 0x18]
add eax, 2
mov dword [esi + 0x68], eax
test cx, cx
jne 0x7ddabd8c
mov eax, dword [esi + 0x68]
cmp eax, dword [esi + 0x5c]
jae 0x7dd75655
cmp dword [ebp - 0x18], 0x13
jl 0x7dd75629
mov eax, dword [esi + 0x44]
and dword [ebp - 0xc], 0
cmp eax, dword [esi + 0x38]
jae 0x7dd756a2
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x13
jge 0x7dd756a2
mov dword [ebp - 0x24], ecx
movzx ecx, word [eax]
cmp cx, word [ebp - 8]
jb 0x7dd756a2
movzx edx, word [ebp - 8]
movzx ecx, cx
sub ecx, 9
cmp ecx, edx
jg 0x7dd756a2
inc dword [ebp - 0xc]
inc dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
inc eax
inc eax
test cx, cx
jne 0x7ddabdac
cmp eax, dword [esi + 0x38]
jae 0x7dd756a2
cmp dword [ebp - 0x24], 0x13
jl 0x7dd7566c
mov eax, dword [esi + 0x68]
and dword [ebp - 0x24], 0
cmp eax, dword [esi + 0x5c]
jae 0x7dd756ef
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x13
jge 0x7dd756ef
mov dword [ebp - 0x28], ecx
movzx ecx, word [eax]
cmp cx, word [ebp - 0x14]
jb 0x7dd756ef
movzx edx, word [ebp - 0x14]
movzx ecx, cx
sub ecx, 9
cmp ecx, edx
jg 0x7dd756ef
inc dword [ebp - 0x24]
inc dword [ebp - 0x28]
mov ecx, dword [ebp - 0x20]
inc eax
inc eax
test cx, cx
jne 0x7ddabdc5
cmp eax, dword [esi + 0x5c]
jae 0x7dd756ef
cmp dword [ebp - 0x28], 0x13
jl 0x7dd756b9
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x24]
jne 0x7ddabdde
xor edx, edx
cmp eax, edx
jle 0x7dd7574f
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 0x7ddabe11
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 0x7ddabdf1
xor edx, edx
cmp word [ebp - 0x20], dx
jne 0x7ddabdfc
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], edx
jg 0x7dd75701
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x10], eax
jne 0x7ddabe07
mov ax, word [ebp - 0x14]
cmp word [ebp - 8], ax
jne 0x7ddabe17
or dword [esi + 0x70], 0xffffffff
or dword [esi + 0x4c], 0xffffffff
cmp word [ebp - 0x1c], dx
jne 0x7ddabe7a
cmp word [ebp - 0x20], dx
jne 0x7ddabe83
add dword [esi + 0x44], 0xfffffffe
add dword [esi + 0x68], 0xfffffffe
cmp dword [edi + 0x14], edx
jne 0x7dd757a7
cmp dword [edi + 8], edx
je 0x7dd7579f
mov eax, dword [edi + 0x10]
cmp word [eax], dx
je 0x7dd757c9
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 4]
jae 0x7dd757c9
mov eax, dword [edi + 0x14]
cmp eax, edx
jg 0x7ddabe8c
add dword [edi + 0x10], 2
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 4]
jae 0x7dd97073
mov ax, word [eax]
mov word [edi + 0x1e], ax
cmp dword [ebx + 0x14], edx
jne 0x7dd757eb
cmp dword [ebx + 8], edx
je 0x7dd757df
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 0x7ddabe9a
add dword [ebx + 0x10], 2
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x7dd9707a
mov ax, word [eax]
mov word [ebx + 0x1e], ax
jmp 0x7dd7395e
cmp dword [edi + 0x14], ecx
jne 0x7dd8d477
cmp dword [edi + 8], ecx
jne 0x7dd75872
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 4]
jb 0x7dd8d477
cmp dword [ebx + 0x14], ecx
jne 0x7dd7590b
cmp dword [ebx + 8], ecx
jne 0x7dd7587c
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jb 0x7dd758f1
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 0x7dd7582c
jmp 0x7dd75820
mov eax, dword [ebx + 0x10]
cmp word [eax], cx
je 0x7dd75846
jmp 0x7dd7583a
mov eax, dword [edi + 0x14]
test eax, eax
jg 0x7ddac730
add dword [edi + 0x10], 2
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 4]
jae 0x7dd758ed
mov ax, word [eax]
mov word [edi + 0x1e], ax
mov eax, dword [ebx + 0x14]
test eax, eax
jg 0x7dd970dc
add dword [ebx + 0x10], 2
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x7dd759fa
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 0x7dd758e1
cmp dl, 6
jbe 0x7dd73ada
xor ecx, ecx
cmp dword [esi + 0x24], ecx
je 0x7dd75886
jmp 0x7ddabeb5
xor eax, eax
jmp 0x7dd758a0
cmp dword [ebx + 0x14], ecx
jne 0x7dd7590b
cmp dword [ebx + 8], ecx
jne 0x7dd8d3a5
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x7dd75846
mov eax, dword [esi]
mov edi, dword [eax + 0xe0]
movzx edx, word [ebx + 0x1e]
movzx eax, dx
cmp edi, ecx
jne 0x7dd99dab
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 0x7dd759a6
cmp dword [esi + 0x24], ecx
jne 0x7ddac815
mov eax, dword [ebx + 0x14]
cmp eax, ecx
jg 0x7ddac81d
add dword [ebx + 0x10], 2
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jb 0x7ddac82b
xor eax, eax
mov word [ebx + 0x1e], ax
jmp 0x7dd758f1
cmp al, 1
je 0x7dd970ce
cmp al, 6
je 0x7dd8cfe7
jbe 0x7dd759c6
cmp al, 0xc
ja 0x7dd759c6
cmp dword [esi + 0x10], ecx
je 0x7dd759c6
jmp 0x7dd75940
xor eax, eax
inc eax
jmp 0x7dd73b95
mov eax, dword [esi + 0x68]
cmp word [eax], bx
je 0x7dd73b9f
jmp 0x7dd73d5f
xor eax, eax
jmp 0x7dd758c2
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 0x7dd8d4f0
mov dword [esi + 0x84], 3
mov dword [esi + 8], 1
mov eax, dword [edi + 0x14]
test eax, eax
jg 0x7ddabfc0
add dword [edi + 0x10], 2
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 4]
jae 0x7dd9be90
mov ax, word [eax]
mov word [edi + 0x1e], ax
or dword [esi + 0x4c], 0xffffffff
jmp 0x7dd73b41
xor eax, eax
jmp 0x7dd8ea1c
cmp dword [esi + 8], ecx
jmp 0x7dd759bf
mov eax, dword [ebx + 0x10]
cmp word [eax], cx
jne 0x7dd758ff
jmp 0x7dd75846
cmp dword [esi + 0x20], ecx
jne 0x7ddac749
cmp dword [edi + 0x14], ecx
jne 0x7dd8d4a2
cmp dword [edi + 8], ecx
je 0x7dd8d496
mov eax, dword [edi + 0x10]
cmp word [eax], cx
je 0x7dd75846
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 4]
jae 0x7dd75846
mov eax, dword [esi]
mov ebx, dword [eax + 0xe0]
movzx edx, word [edi + 0x1e]
movzx eax, dx
cmp ebx, ecx
jne 0x7dd99d8b
mov ebx, dword [0x7dd71478]
mov ebx, dword [ebx + 0x2c]
mov eax, dword [ebx + eax*4]
shr eax, 8
test al, al
je 0x7ddac7c2
cmp al, 1
je 0x7ddac7ad
cmp al, 6
je 0x7dd9be88
jbe 0x7dd8d4f0
cmp al, 0xc
ja 0x7dd8d4f0
cmp dword [esi + 0x10], ecx
je 0x7dd8d4f0
jmp 0x7ddac7cf
push 3
jmp 0x7dd73b9c
mov eax, dword [esi + 8]
jmp 0x7dd7433f
xor edx, edx
cmp dword [esi + 4], edx
jne 0x7dd73b63
cmp byte [ebp + 0xb], 6
je 0x7dd9b98f
cmp dword [esi + 0x20], edx
jne 0x7dd8d4f0
inc eax
mov dword [esi + 0x84], eax
mov dword [esi + 8], eax
mov eax, dword [ebx + 0x14]
test eax, eax
jg 0x7ddac235
add dword [ebx + 0x10], 2
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x7dd8cfe0
mov ax, word [eax]
mov word [ebx + 0x1e], ax
or dword [esi + 0x70], 0xffffffff
jmp 0x7dd73b63
sub dl, 2
cmp dl, 0xa
jbe 0x7dd9b987
mov al, byte [ebp + 0xb]
mov cl, al
add cl, 0x57
cmp cl, 6
jbe 0x7ddac4ad
cmp dword [esi + 0x2c], 0
jne 0x7ddac4a3
test byte [esi + 0x7c], 3
je 0x7dd8ea81
mov ecx, dword [esi + 0x18]
test ecx, ecx
jne 0x7ddac4c0
mov al, byte [esi + 0x4e]
mov byte [ebp + 0xb], al
test ecx, ecx
jne 0x7ddac4d8
mov al, byte [esi + 0x72]
mov byte [ebp - 2], al
mov al, byte [ebp - 2]
cmp byte [ebp + 0xb], al
jne 0x7ddac4f0
test byte [esi + 0x7c], 4
je 0x7dd75886
mov edx, dword [esi + 0x14]
test edx, edx
jne 0x7ddac704
mov cl, byte [esi + 0x4f]
and cl, 0x3f
test edx, edx
jne 0x7ddac71a
movzx eax, byte [esi + 0x73]
and al, 0x3f
cmp cl, al
je 0x7dd75886
cmp dword [esi + 0x20], 0
jne 0x7dd759c6
cmp cl, al
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
mov dword [esi + 0x80], eax
and dword [esi + 0x7c], 0xffffff0b
jmp 0x7dd75886
cmp word [ebx + 0x1e], 0
jne 0x7dd92981
cmp dword [esi + 0x24], 0
jne 0x7dd73b07
xor eax, eax
inc eax
jmp 0x7dd7433f
mov eax, dword [esi]
mov ecx, dword [eax + 0xe0]
movzx eax, word [ebx + 0x1e]
test ecx, ecx
jne 0x7ddabf9d
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 0x7dd74347
dec eax
mov dword [ebx + 0x14], eax
mov ax, word [ebx + eax*2 + 0xc]
jmp 0x7dd74368
cmp dword [esi + 0x18], ecx
jne 0x7dd73ab9
jmp 0x7dd73ac1
xor eax, eax
jmp 0x7dd757c5
xor eax, eax
jmp 0x7dd75809
xor eax, eax
jmp 0x7ddabea8
cmp eax, 2
jne 0x7dd73b95
jmp 0x7dd7395e
push edi
push dword [esi]
call fcn.7de0c76e
jmp 0x7dd73afc
push ebx
push dword [esi]
call fcn.7de0c76e
jmp 0x7dd73b07
cmp dword [esi + 0xc], 0
je 0x7ddabfaf
jmp 0x7dd74347
cmp dword [esi + 8], 0
je 0x7dd75b23
jmp 0x7dd99d57
cmp dword [esi + 0xc], ecx
je 0x7ddac7fd
jmp 0x7dd75940
dec eax
mov dword [ebx + 0x14], eax
mov ax, word [ebx + eax*2 + 0xc]
jmp 0x7dd758c2
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 0x7ddac05c
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 0x7ddac15f
mov ax, word [edi + 0x1c]
mov word [edi + 0x18], ax
mov byte [edi + 0x1b], 2
cmp byte [ebp - 1], 6
je 0x7ddac17c
cmp byte [ebp - 1], 3
je 0x7dd73b41
cmp dword [esi + 0x54], 0
je 0x7dd73b41
cmp dword [esi + 0x20], 0
jne 0x7dd8d4f0
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 0x7dd8d4c5
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 0x7dd7592e
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 0x7ddac25b
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 0x7ddac35e
mov ax, word [ebx + 0x1c]
mov word [ebx + 0x18], ax
mov byte [ebx + 0x1b], 2
cmp byte [ebp + 0xb], 6
je 0x7ddac37b
cmp byte [ebp + 0xb], 3
je 0x7ddac394
cmp dword [esi + 0x78], 0
je 0x7dd73b63
cmp dword [esi + 0x20], 0
jne 0x7dd8d4f0
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 0x7dd97065
jmp 0x7dd73ac1
cmp edx, ecx
je 0x7ddabfce
cmp byte [ebp - 1], 5
je 0x7ddac02d
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 0x7dd9c779
mov edx, dword [esi + 0x18]
test edx, edx
jne 0x7ddac1b5
movzx eax, byte [esi + 0x4e]
cmp dword [esi + 0x14], 0
jne 0x7ddac1cc
movzx ecx, byte [esi + 0x4f]
and ecx, 0x3f
shl al, 3
add al, cl
mov byte [ebp - 2], al
test edx, edx
jne 0x7ddac1e5
movzx eax, byte [esi + 0x72]
mov ecx, dword [esi + 0x14]
test ecx, ecx
jne 0x7ddac1fc
movzx ecx, byte [esi + 0x73]
and ecx, 0x3f
shl al, 3
add al, cl
cmp byte [ebp - 2], al
jne 0x7ddac215
mov eax, dword [edi + 0x14]
test eax, eax
jg 0x7ddac227
add dword [edi + 0x10], 2
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 4]
jae 0x7dd9c79e
mov ax, word [eax]
mov word [edi + 0x1e], ax
or dword [esi + 0x4c], 0xffffffff
jmp 0x7dd8e9fe
cmp dword [esi + 8], ecx
jmp 0x7dd8d4e9
xor eax, eax
jmp 0x7dd75b1f
cmp dword [esi + 0x20], edx
jne 0x7dd8d4f0
cmp al, cl
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
mov dword [esi + 8], 1
mov dword [esi + 0x84], eax
jmp 0x7dd9b9f1
xor eax, eax
jmp 0x7dd9ba0f
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 0x7ddaaa60
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 0x7ddaaa60
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.7de0f329
cmp eax, 8
mov dword [ebp - 8], eax
jl 0x7ddaaa60
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 0x7ddaaa14
cmp dword [ebp - 8], 9
jl 0x7ddaaa14
mov edx, dword [eax + 0xe0]
mov eax, dword [edi + 0x10]
movzx eax, word [eax]
test edx, edx
je 0x7ddaa9cd
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 0x7ddaa9fd
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 0x7ddaaa14
mov dword [ebp - 0x1c], 1
test ecx, ecx
jl 0x7ddaaa60
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.7de0f2fe
test eax, eax
mov eax, dword [ebp - 0x20]
je 0x7ddaaba2
jge 0x7ddaaa54
dec eax
mov dword [ebp + 8], eax
jmp 0x7ddaaa58
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
cmp dword [ebp - 0x24], eax
jle 0x7ddaaa18
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 0x7ddaabce
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 0x7ddaabce
cmp dword [ebp - 8], 0
jne 0x7ddaaacd
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.7de0f329
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 7
jl 0x7ddaabce
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 0x7ddaab62
cmp dword [ebp - 8], 8
jl 0x7ddaab62
mov edx, dword [eax + 0xe0]
mov eax, dword [edi + 0x10]
movzx eax, word [eax]
test edx, edx
je 0x7ddaab1a
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 0x7ddaab4a
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 0x7ddaab62
mov dword [ebp - 0x1c], 1
test ecx, ecx
jl 0x7ddaabce
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.7de0f2fe
test eax, eax
mov eax, dword [ebp - 0x20]
je 0x7ddaad10
jge 0x7ddaabc2
dec eax
mov dword [ebp + 8], eax
jmp 0x7ddaabc6
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 0x7ddaab66
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 0x7ddaad3c
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 0x7ddaad3c
cmp dword [ebp - 8], 0
jne 0x7ddaac3b
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.7de0f329
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 6
jl 0x7ddaad3c
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 0x7ddaacd0
cmp dword [ebp - 8], 7
jl 0x7ddaacd0
mov edx, dword [eax + 0xe0]
mov eax, dword [edi + 0x10]
movzx eax, word [eax]
test edx, edx
je 0x7ddaac88
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 0x7ddaacb8
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 0x7ddaacd0
mov dword [ebp - 0x1c], 1
test ecx, ecx
jl 0x7ddaad3c
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.7de0f2fe
test eax, eax
mov eax, dword [ebp - 0x20]
je 0x7ddaae7d
jge 0x7ddaad30
dec eax
mov dword [ebp + 8], eax
jmp 0x7ddaad34
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 0x7ddaacd4
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 0x7ddaaea9
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 0x7ddaaea9
cmp dword [ebp - 8], 0
jne 0x7ddaada9
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.7de0f329
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 5
jl 0x7ddaaea9
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 0x7ddaae3b
cmp dword [ebp - 8], 6
jl 0x7ddaae3b
mov edx, dword [eax + 0xe0]
mov eax, dword [edi + 0x10]
movzx eax, word [eax]
cmp edx, ecx
je 0x7ddaadf6
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 0x7ddaae26
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 0x7ddaae3b
mov dword [ebp - 0x1c], 1
cmp dword [ebp + 8], 0
jl 0x7ddaaea9
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.7de0f2fe
test eax, eax
mov eax, dword [ebp - 0x20]
je 0x7ddaafea
jge 0x7ddaae9d
dec eax
mov dword [ebp + 8], eax
jmp 0x7ddaaea1
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 0x7ddaae41
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 0x7ddab016
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 0x7ddab016
cmp dword [ebp - 8], 0
jne 0x7ddaaf16
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.7de0f329
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 4
jl 0x7ddab016
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 0x7ddaafa8
cmp dword [ebp - 8], 5
jl 0x7ddaafa8
mov edx, dword [eax + 0xe0]
mov eax, dword [edi + 0x10]
movzx eax, word [eax]
cmp edx, ecx
je 0x7ddaaf63
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 0x7ddaaf93
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 0x7ddaafa8
mov dword [ebp - 0x1c], 1
cmp dword [ebp + 8], 0
jl 0x7ddab016
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.7de0f2fe
test eax, eax
mov eax, dword [ebp - 0x20]
je 0x7ddab157
jge 0x7ddab00a
dec eax
mov dword [ebp + 8], eax
jmp 0x7ddab00e
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 0x7ddaafae
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 0x7ddab183
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 0x7ddab183
cmp dword [ebp - 8], 0
jne 0x7ddab083
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.7de0f329
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 3
jl 0x7ddab183
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 0x7ddab115
cmp dword [ebp - 8], 4
jl 0x7ddab115
mov edx, dword [eax + 0xe0]
mov eax, dword [edi + 0x10]
movzx eax, word [eax]
cmp edx, ecx
je 0x7ddab0d0
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 0x7ddab100
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 0x7ddab115
mov dword [ebp - 0x1c], 1
cmp dword [ebp + 8], 0
jl 0x7ddab183
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.7de0f2fe
test eax, eax
mov eax, dword [ebp - 0x20]
je 0x7ddab2c1
jge 0x7ddab177
dec eax
mov dword [ebp + 8], eax
jmp 0x7ddab17b
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 0x7ddab11b
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 0x7ddab1f0
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.7de0f329
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 0x7ddab281
cmp dword [ebp - 8], 3
jl 0x7ddab281
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 0x7ddab24c
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 0x7ddab26d
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 0x7ddab281
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.7de0f2fe
test eax, eax
je 0x7ddab2f3
mov eax, dword [ebp + 8]
jge 0x7ddab2e1
dec eax
mov dword [ebp - 0x20], eax
jmp 0x7ddab2e5
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 0x7ddab28b
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 0x7ddab459
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 0x7ddab459
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.7de0f329
cmp eax, 8
mov dword [ebp - 8], eax
jl 0x7ddab459
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 0x7ddab40d
cmp dword [ebp - 8], 9
jl 0x7ddab40d
mov edx, dword [eax + 0xe0]
mov eax, dword [ebx + 0x10]
movzx eax, word [eax]
test edx, edx
je 0x7ddab3c6
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 0x7ddab3f6
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 0x7ddab40d
mov dword [ebp - 0x1c], 1
test ecx, ecx
jl 0x7ddab459
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.7de0f2fe
test eax, eax
mov eax, dword [ebp - 0x20]
je 0x7ddab59b
jge 0x7ddab44d
dec eax
mov dword [ebp + 8], eax
jmp 0x7ddab451
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
cmp dword [ebp - 0x24], eax
jle 0x7ddab411
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 0x7ddab5c7
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 0x7ddab5c7
cmp dword [ebp - 8], 0
jne 0x7ddab4c6
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.7de0f329
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 7
jl 0x7ddab5c7
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 0x7ddab55b
cmp dword [ebp - 8], 8
jl 0x7ddab55b
mov edx, dword [eax + 0xe0]
mov eax, dword [ebx + 0x10]
movzx eax, word [eax]
test edx, edx
je 0x7ddab513
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 0x7ddab543
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 0x7ddab55b
mov dword [ebp - 0x1c], 1
test ecx, ecx
jl 0x7ddab5c7
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.7de0f2fe
test eax, eax
mov eax, dword [ebp - 0x20]
je 0x7ddab709
jge 0x7ddab5bb
dec eax
mov dword [ebp + 8], eax
jmp 0x7ddab5bf
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 0x7ddab55f
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 0x7ddab735
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 0x7ddab735
cmp dword [ebp - 8], 0
jne 0x7ddab634
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.7de0f329
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 6
jl 0x7ddab735
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 0x7ddab6c9
cmp dword [ebp - 8], 7
jl 0x7ddab6c9
mov edx, dword [eax + 0xe0]
mov eax, dword [ebx + 0x10]
movzx eax, word [eax]
test edx, edx
je 0x7ddab681
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 0x7ddab6b1
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 0x7ddab6c9
mov dword [ebp - 0x1c], 1
test ecx, ecx
jl 0x7ddab735
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.7de0f2fe
test eax, eax
mov eax, dword [ebp - 0x20]
je 0x7ddab876
jge 0x7ddab729
dec eax
mov dword [ebp + 8], eax
jmp 0x7ddab72d
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 0x7ddab6cd
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 0x7ddab8a2
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 0x7ddab8a2
cmp dword [ebp - 8], 0
jne 0x7ddab7a2
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.7de0f329
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 5
jl 0x7ddab8a2
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 0x7ddab834
cmp dword [ebp - 8], 6
jl 0x7ddab834
mov edx, dword [eax + 0xe0]
mov eax, dword [ebx + 0x10]
movzx eax, word [eax]
cmp edx, ecx
je 0x7ddab7ef
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 0x7ddab81f
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 0x7ddab834
mov dword [ebp - 0x1c], 1
cmp dword [ebp + 8], 0
jl 0x7ddab8a2
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.7de0f2fe
test eax, eax
mov eax, dword [ebp - 0x20]
je 0x7ddab9e3
jge 0x7ddab896
dec eax
mov dword [ebp + 8], eax
jmp 0x7ddab89a
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 0x7ddab83a
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 0x7ddaba0f
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 0x7ddaba0f
cmp dword [ebp - 8], 0
jne 0x7ddab90f
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.7de0f329
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 4
jl 0x7ddaba0f
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 0x7ddab9a1
cmp dword [ebp - 8], 5
jl 0x7ddab9a1
mov edx, dword [eax + 0xe0]
mov eax, dword [ebx + 0x10]
movzx eax, word [eax]
cmp edx, ecx
je 0x7ddab95c
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 0x7ddab98c
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 0x7ddab9a1
mov dword [ebp - 0x1c], 1
cmp dword [ebp + 8], 0
jl 0x7ddaba0f
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.7de0f2fe
test eax, eax
mov eax, dword [ebp - 0x20]
je 0x7ddabb50
jge 0x7ddaba03
dec eax
mov dword [ebp + 8], eax
jmp 0x7ddaba07
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 0x7ddab9a7
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 0x7ddabb7c
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 0x7ddabb7c
cmp dword [ebp - 8], 0
jne 0x7ddaba7c
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.7de0f329
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 3
jl 0x7ddabb7c
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 0x7ddabb0e
cmp dword [ebp - 8], 4
jl 0x7ddabb0e
mov edx, dword [eax + 0xe0]
mov eax, dword [ebx + 0x10]
movzx eax, word [eax]
cmp edx, ecx
je 0x7ddabac9
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 0x7ddabaf9
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 0x7ddabb0e
mov dword [ebp - 0x1c], 1
cmp dword [ebp + 8], 0
jl 0x7ddabb7c
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.7de0f2fe
test eax, eax
mov eax, dword [ebp - 0x20]
je 0x7ddabcba
jge 0x7ddabb70
dec eax
mov dword [ebp + 8], eax
jmp 0x7ddabb74
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 0x7ddabb14
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 0x7ddabbe9
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.7de0f329
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 0x7ddabc7a
cmp dword [ebp - 8], 3
jl 0x7ddabc7a
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 0x7ddabc45
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 0x7ddabc66
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 0x7ddabc7a
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.7de0f2fe
test eax, eax
je 0x7ddabcec
mov eax, dword [ebp + 8]
jge 0x7ddabcda
dec eax
mov dword [ebp - 0x20], eax
jmp 0x7ddabcde
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 0x7ddabc84
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 0x7ddabd34
add dl, 0x57
cmp dl, 6
jbe 0x7ddabd34
cmp dword [esi + 0x2c], ecx
je 0x7ddabd47
mov dl, byte [ebp + 0xb]
add dl, 0x40
cmp dl, 0x2f
ja 0x7ddabd47
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 0x7dd755e5
mov dword [ebp - 0x20], 0xd835
jmp 0x7dd755f7
cmp eax, dword [esi + 0x38]
jae 0x7ddabd81
cmp word [eax], cx
jne 0x7ddabd81
add eax, 2
mov dword [esi + 0x44], eax
jmp 0x7dd75618
add eax, 2
mov dword [esi + 0x44], eax
jmp 0x7dd75626
cmp eax, dword [esi + 0x5c]
jae 0x7ddabda1
cmp word [eax], cx
jne 0x7ddabda1
add eax, 2
mov dword [esi + 0x68], eax
jmp 0x7dd75647
add eax, 2
mov dword [esi + 0x68], eax
jmp 0x7dd75655
cmp eax, dword [esi + 0x38]
jae 0x7dd756a2
cmp word [eax], cx
jne 0x7dd756a2
inc eax
inc eax
jmp 0x7dd75697
cmp eax, dword [esi + 0x5c]
jae 0x7dd756ef
cmp word [eax], cx
jne 0x7dd756ef
inc eax
inc eax
jmp 0x7dd756e4
xor ecx, ecx
cmp eax, dword [ebp - 0x24]
setge cl
lea ecx, [ecx + ecx + 1]
mov eax, ecx
jmp 0x7ddabea8
add eax, 2
mov dword [esi + 0x44], eax
jmp 0x7dd7573b
add ecx, 2
mov dword [esi + 0x68], ecx
jmp 0x7dd75747
xor ecx, ecx
cmp dword [ebp - 0x10], eax
setl cl
jmp 0x7ddabde6
xor ecx, ecx
test eax, eax
jmp 0x7ddabde3
cmp dword [esi + 0xc], edx
jne 0x7ddabe42
test byte [esi + 0x7c], 3
je 0x7ddabe42
movzx eax, byte [esi + 0x4e]
mov cl, byte [esi + 0x72]
cmp al, cl
je 0x7ddabe42
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 0x7dd75769
movzx eax, byte [esi + 0x4f]
mov cl, byte [esi + 0x73]
and al, 0x3f
and cl, 0x3f
cmp al, cl
je 0x7dd75769
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
mov dword [esi + 0x80], eax
and dword [esi + 0x7c], 0xffffff0b
jmp 0x7dd75769
add dword [esi + 0x44], 0xfffffffe
jmp 0x7dd7577b
add dword [esi + 0x68], 0xfffffffe
jmp 0x7dd75785
dec eax
mov dword [edi + 0x14], eax
mov ax, word [edi + eax*2 + 0xc]
jmp 0x7dd757c5
dec eax
mov dword [ebx + 0x14], eax
mov ax, word [ebx + eax*2 + 0xc]
jmp 0x7dd75809
test eax, eax
jne 0x7dd97088
jmp 0x7dd73acb
movzx eax, word [esi + 0x52]
cmp ax, cx
je 0x7ddabec8
cmp word [esi + 0x76], cx
jne 0x7dd75886
cmp ax, word [esi + 0x76]
je 0x7dd75886
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 0x7ddabf01
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 0x7ddabf6b
cmp dword [esi + 0xc], 0
jne 0x7ddabf6b
cmp dword [esi + 0x18], 0
jmp 0x7dd71a54
cmp word [edi + 0x1e], 0
jne 0x7ddabf63
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 0x7ddabf81
dec eax
mov dword [edi + 0x14], eax
mov ax, word [edi + eax*2 + 0xc]
jmp 0x7ddabf94
add dword [edi + 0x10], 2
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 4]
jae 0x7ddabf92
mov ax, word [eax]
jmp 0x7ddabf94
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 0x7dd97012
cmp dword [esi + 0x18], 0
jmp 0x7dd74341
mov ax, word [eax]
jmp 0x7dd74368
dec eax
mov dword [edi + 0x14], eax
mov ax, word [edi + eax*2 + 0xc]
jmp 0x7dd75b1f
mov eax, dword [edi + 0x14]
test eax, eax
jle 0x7ddabfe0
dec eax
mov dword [edi + 0x14], eax
mov ax, word [edi + eax*2 + 0xc]
jmp 0x7ddabff3
add dword [edi + 0x10], 2
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 4]
jae 0x7ddabff1
mov ax, word [eax]
jmp 0x7ddabff3
xor eax, eax
mov word [edi + 0x1e], ax
mov eax, dword [ebx + 0x14]
test eax, eax
jle 0x7ddac009
dec eax
mov dword [ebx + 0x14], eax
mov ax, word [ebx + eax*2 + 0xc]
jmp 0x7ddac01c
add dword [ebx + 0x10], 2
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x7ddac01a
mov ax, word [eax]
jmp 0x7ddac01c
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 0x7dd99d2d
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 0x7ddac092
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
movzx eax, word [eax]
test ecx, ecx
je 0x7ddac0a9
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 0x7ddac0d4
mov eax, 0xffff
cmp cl, 2
jne 0x7ddac0e1
jmp 0x7dd99d2d
jne 0x7ddac152
cmp byte [ebp - 8], 1
ja 0x7ddac0f9
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 0x7dd99d2d
jmp 0x7ddac08f
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 0x7ddac137
and al, 0xc5
mov byte [edi + 0x23], al
mov eax, dword [ebp - 8]
mov word [edi + 0x1c], cx
mov byte [edi + 0x21], 4
jmp 0x7ddac15f
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 0x7dd99d27
mov cx, word [ebp - 8]
mov word [edi + 0x1c], cx
jmp 0x7dd99d2d
cmp eax, 0xffff
jne 0x7dd99d37
and dword [edi + 0x20], 0
mov ecx, eax
mov word [edi + 0x1c], cx
mov dword [edi + 0x18], eax
jmp 0x7dd99d43
cmp dword [esi + 4], 0
je 0x7dd970bf
jmp 0x7dd99d57
test byte [esi + 0x7c], 3
je 0x7dd75b01
cmp dword [esi + 0x20], 0
jne 0x7dd8d4f0
mov dword [esi + 0x80], 3
and dword [esi + 0x7c], 0xffffff0a
jmp 0x7dd75b01
mov al, byte [esi + 0x4d]
cmp al, 0x14
jbe 0x7ddac1c4
cmp al, 0x29
jne 0x7dd9b9a8
push 2
pop eax
jmp 0x7dd9b9ac
mov cl, byte [esi + 0x4d]
cmp cl, 0x14
jbe 0x7ddac1dd
cmp cl, 0x29
jne 0x7dd9b9b6
push 2
pop ecx
jmp 0x7dd9b9bd
mov al, byte [esi + 0x71]
cmp al, 0x14
jbe 0x7ddac1f4
cmp al, 0x29
jne 0x7dd9b9cd
push 2
pop eax
jmp 0x7dd9b9d1
mov cl, byte [esi + 0x71]
cmp cl, 0x14
jbe 0x7ddac20d
cmp cl, 0x29
jne 0x7dd9b9dc
push 2
pop ecx
jmp 0x7dd9b9e3
cmp dword [esi + 0x20], 0
jne 0x7dd8d4f0
cmp byte [ebp - 2], al
jmp 0x7dd9c784
dec eax
mov dword [edi + 0x14], eax
mov ax, word [edi + eax*2 + 0xc]
jmp 0x7dd9ba0f
dec eax
mov dword [ebx + 0x14], eax
mov ax, word [ebx + eax*2 + 0xc]
jmp 0x7dd8ea1c
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 0x7dd9a0f0
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 0x7ddac291
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
movzx eax, word [eax]
test ecx, ecx
je 0x7ddac2a8
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 0x7ddac2d3
mov eax, 0xffff
cmp cl, 2
jne 0x7ddac2e0
jmp 0x7dd9a0f0
jne 0x7ddac351
cmp byte [ebp - 8], 1
ja 0x7ddac2f8
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 0x7dd9a0f0
jmp 0x7ddac28e
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 0x7ddac336
and al, 0xc5
mov byte [ebx + 0x23], al
mov eax, dword [ebp - 8]
mov word [ebx + 0x1c], cx
mov byte [ebx + 0x21], 4
jmp 0x7ddac35e
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 0x7dd9a0ea
mov cx, word [ebp - 8]
mov word [ebx + 0x1c], cx
jmp 0x7dd9a0f0
cmp eax, 0xffff
jne 0x7dd9a0fa
and dword [ebx + 0x20], 0
mov ecx, eax
mov word [ebx + 0x1c], cx
mov dword [ebx + 0x18], eax
jmp 0x7dd9a106
cmp dword [esi + 4], 0
jne 0x7dd9a11a
cmp dword [esi + 0x4c], 0xffffffff
jne 0x7dd9a110
jmp 0x7dd7395e
mov eax, dword [esi + 0x54]
cmp eax, dword [esi + 0x78]
je 0x7dd73b63
cmp dword [esi + 0x20], 0
jne 0x7dd8d4f0
mov edx, dword [esi + 0x7c]
test dl, 0x10
je 0x7ddac3cf
mov cl, byte [esi + 0x78]
movzx eax, al
cmp al, cl
je 0x7ddac3cf
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
mov dword [esi + 0x80], eax
jmp 0x7dd9a142
test dl, 0x20
je 0x7ddac3f9
movzx eax, byte [esi + 0x55]
mov cl, byte [esi + 0x79]
cmp al, cl
je 0x7ddac3f9
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 0x7ddac423
movzx eax, byte [esi + 0x56]
mov cl, byte [esi + 0x7a]
cmp al, cl
je 0x7ddac423
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 0x7dd8e9fe
cmp dword [esi + 0x20], 0
jne 0x7dd759c6
mov dword [esi + 0x80], 1
and dword [esi + 0x7c], 0xffffff0a
jmp 0x7dd8e9fe
mov al, byte [ebp + 0xb]
cmp al, 4
jne 0x7dd8ea35
cmp byte [ebp - 1], al
jne 0x7dd8ea46
mov eax, dword [esi + 0x54]
cmp eax, dword [esi + 0x78]
je 0x7dd8ea35
jmp 0x7ddac73e
add al, 0x40
cmp al, 0x2f
ja 0x7dd8ea50
mov al, byte [esi + 0x4e]
mov cl, byte [esi + 0x72]
cmp al, cl
je 0x7dd8ea50
jmp 0x7dd73b8d
mov al, byte [esi + 0x4d]
cmp al, 0x14
jbe 0x7ddac4cf
cmp al, 0x29
jne 0x7dd8ea61
mov byte [ebp + 0xb], 2
jmp 0x7dd8ea67
mov al, byte [esi + 0x71]
cmp al, 0x14
jbe 0x7ddac4e7
cmp al, 0x29
jne 0x7dd8ea6f
mov byte [ebp - 2], 2
jmp 0x7dd8ea75
mov byte [ebp - 1], 0
mov eax, dword [edi + 0x14]
test eax, eax
jne 0x7ddac518
cmp dword [edi + 8], eax
je 0x7ddac50c
mov ecx, dword [edi + 0x10]
cmp word [ecx], ax
je 0x7ddac5e2
mov ecx, dword [edi + 0x10]
cmp ecx, dword [edi + 4]
jae 0x7ddac5e2
mov ecx, dword [esi]
mov edx, dword [ecx + 0xe0]
test edx, edx
je 0x7ddac57b
test eax, eax
jle 0x7ddac52f
movzx ecx, word [edi + eax*2 + 0xa]
jmp 0x7ddac541
mov ecx, dword [edi + 0x10]
add ecx, 2
cmp ecx, dword [edi + 4]
jae 0x7ddac53f
movzx ecx, word [ecx]
jmp 0x7ddac541
xor ecx, ecx
test eax, eax
jle 0x7ddac54c
movzx eax, word [edi + eax*2 + 0xa]
jmp 0x7ddac55e
mov eax, dword [edi + 0x10]
add eax, 2
cmp eax, dword [edi + 4]
jae 0x7ddac55c
movzx eax, word [eax]
jmp 0x7ddac55e
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 0x7ddac5a7
test eax, eax
jle 0x7ddac586
movzx ecx, word [edi + eax*2 + 0xa]
jmp 0x7ddac598
mov ecx, dword [edi + 0x10]
add ecx, 2
cmp ecx, dword [edi + 4]
jae 0x7ddac596
movzx ecx, word [ecx]
jmp 0x7ddac598
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 0x7ddac5e2
test eax, eax
jle 0x7ddac5c0
dec eax
mov dword [edi + 0x14], eax
mov ax, word [edi + eax*2 + 0xc]
jmp 0x7ddac5d3
add dword [edi + 0x10], 2
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 4]
jae 0x7ddac5d1
mov ax, word [eax]
jmp 0x7ddac5d3
xor eax, eax
shr ecx, 0x10
add byte [ebp - 1], cl
mov word [edi + 0x1e], ax
jmp 0x7ddac4f4
mov al, byte [ebp - 1]
add byte [ebp + 0xb], al
mov byte [ebp - 1], 0
mov eax, dword [ebx + 0x14]
test eax, eax
jne 0x7ddac610
cmp dword [ebx + 8], eax
je 0x7ddac604
mov ecx, dword [ebx + 0x10]
cmp word [ecx], ax
je 0x7ddac6cd
mov ecx, dword [ebx + 0x10]
cmp ecx, dword [ebx + 4]
jae 0x7ddac6cd
mov ecx, dword [esi]
mov edx, dword [ecx + 0xe0]
test edx, edx
je 0x7ddac664
test eax, eax
jle 0x7ddac627
movzx ecx, word [ebx + eax*2 + 0xa]
jmp 0x7ddac639
mov ecx, dword [ebx + 0x10]
add ecx, 2
cmp ecx, dword [ebx + 4]
jae 0x7ddac637
movzx ecx, word [ecx]
jmp 0x7ddac639
xor ecx, ecx
test eax, eax
jle 0x7ddac644
movzx eax, word [ebx + eax*2 + 0xa]
jmp 0x7ddac656
mov eax, dword [ebx + 0x10]
add eax, 2
cmp eax, dword [ebx + 4]
jae 0x7ddac654
movzx eax, word [eax]
jmp 0x7ddac656
xor eax, eax
movzx ecx, cx
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
jmp 0x7ddac684
test eax, eax
jle 0x7ddac66f
movzx eax, word [ebx + eax*2 + 0xa]
jmp 0x7ddac681
mov eax, dword [ebx + 0x10]
add eax, 2
cmp eax, dword [ebx + 4]
jae 0x7ddac67f
movzx eax, word [eax]
jmp 0x7ddac681
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 0x7ddac6cd
mov eax, dword [ebx + 0x14]
test eax, eax
jle 0x7ddac6ab
dec eax
mov dword [ebx + 0x14], eax
mov ax, word [ebx + eax*2 + 0xc]
jmp 0x7ddac6be
add dword [ebx + 0x10], 2
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x7ddac6bc
mov ax, word [eax]
jmp 0x7ddac6be
xor eax, eax
shr ecx, 0x10
add byte [ebp - 1], cl
mov word [ebx + 0x1e], ax
jmp 0x7ddac5ec
movzx eax, byte [ebp - 2]
add al, byte [ebp - 1]
cmp byte [ebp + 0xb], al
je 0x7dd8ea81
cmp dword [esi + 0x20], 0
jne 0x7dd759c6
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 0x7dd8ea81
mov al, byte [esi + 0x4d]
cmp al, 0x14
jbe 0x7ddac713
cmp al, 0x29
jne 0x7dd8ea96
mov cl, 2
jmp 0x7dd8ea9c
mov al, byte [esi + 0x71]
cmp al, 0x14
jbe 0x7ddac729
cmp al, 0x29
jne 0x7dd8eaa4
mov al, 2
jmp 0x7dd8eaaa
dec eax
mov dword [edi + 0x14], eax
mov ax, word [edi + eax*2 + 0xc]
jmp 0x7dd758a0
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 0x7dd8d4f0
cmp dword [esi + 0xc], ecx
jne 0x7dd75846
cmp dword [esi + 0x18], ecx
jne 0x7dd75846
test byte [esi + 0x7c], 3
je 0x7dd75846
mov edx, dword [esi]
mov edx, dword [edx + 0xe0]
movzx eax, ax
cmp edx, ecx
je 0x7ddac791
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 0x7dd75846
jmp 0x7dd8d4f0
cmp dword [esi + 0xc], ecx
jne 0x7ddac7cf
cmp dword [esi + 0x18], ecx
jne 0x7ddac7cf
test byte [esi + 0x7c], 3
je 0x7ddac7cf
jmp 0x7dd8d4f0
cmp dword [esi + 0x24], ecx
je 0x7ddac7cf
cmp dx, cx
jmp 0x7dd8d4e9
mov eax, dword [edi + 0x14]
cmp eax, ecx
jle 0x7ddac7e1
dec eax
mov dword [edi + 0x14], eax
mov ax, word [edi + eax*2 + 0xc]
jmp 0x7ddac7f4
add dword [edi + 0x10], 2
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 4]
jae 0x7ddac7f2
mov ax, word [eax]
jmp 0x7ddac7f4
xor eax, eax
mov word [edi + 0x1e], ax
jmp 0x7dd8d480
cmp dword [esi + 0x18], ecx
jne 0x7dd75940
test byte [esi + 0x7c], 3
je 0x7dd75940
jmp 0x7dd759c6
cmp dx, cx
jmp 0x7dd759bf
dec eax
mov dword [ebx + 0x14], eax
mov ax, word [ebx + eax*2 + 0xc]
jmp 0x7dd7595d
mov ax, word [eax]
jmp 0x7dd7595d