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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x3c
push ebx
push esi
mov esi, ecx
xor ecx, ecx
push edi
mov dword [ebp - 0x10], esi
mov eax, dword [esi]
cmp dword [eax + 0x104], ecx
jne 0x74a7445a
cmp dword [esi + 0x20], ecx
jne 0x74a7445a
cmp dword [esi + 0x24], ecx
jne 0x74a7445a
cmp dword [esi + 0x2c], ecx
jne 0x74a7436c
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x6c]
jmp 0x74a742ec
cmp dx, word [ecx]
jne 0x74a74330
movzx edx, word [eax + 2]
test dx, dx
je 0x74a7432a
cmp dx, word [ecx + 2]
jne 0x74a7432a
movzx edx, word [eax + 4]
test dx, dx
je 0x74a74322
cmp dx, word [ecx + 4]
jne 0x74a74322
movzx edx, word [eax + 6]
test dx, dx
je 0x74a7431a
cmp dx, word [ecx + 6]
jne 0x74a7431a
movzx edx, word [eax + 8]
test dx, dx
je 0x74a74312
cmp dx, word [ecx + 8]
jne 0x74a74312
movzx edx, word [eax + 0xa]
test dx, dx
je 0x74a7430a
cmp dx, word [ecx + 0xa]
jne 0x74a7430a
movzx edx, word [eax + 0xc]
test dx, dx
je 0x74a74302
cmp dx, word [ecx + 0xc]
jne 0x74a74302
movzx edx, word [eax + 0xe]
test dx, dx
je 0x74a742fa
cmp dx, word [ecx + 0xe]
jne 0x74a742fa
add eax, 0x10
add ecx, 0x10
movzx edx, word [eax]
test dx, dx
jne 0x74a74264
jmp 0x74a74330
add eax, 0xe
add ecx, 0xe
jmp 0x74a74330
add eax, 0xc
add ecx, 0xc
jmp 0x74a74330
add eax, 0xa
add ecx, 0xa
jmp 0x74a74330
add eax, 8
add ecx, 8
jmp 0x74a74330
add eax, 6
add ecx, 6
jmp 0x74a74330
add eax, 4
add ecx, 4
jmp 0x74a74330
add eax, 2
add ecx, 2
mov dword [esi + 0x48], eax
mov dword [esi + 0x6c], ecx
mov ax, word [eax]
cmp ax, word [ecx]
jne 0x74a743e7
xor ecx, ecx
cmp dword [esi + 0x24], ecx
jne 0x74a74365
mov eax, dword [esi + 0x84]
test eax, eax
jne 0x74a77107
mov eax, dword [esi + 0x88]
test eax, eax
jne 0x74a77107
push 2
jmp 0x74a76f88
cmp dword [esi + 0x40], ecx
je 0x74a74379
mov eax, dword [esi + 0x48]
cmp word [eax], cx
je 0x74a743b5
mov eax, dword [esi + 0x48]
cmp eax, dword [esi + 0x3c]
jae 0x74a743b5
cmp dword [esi + 0x64], ecx
je 0x74a7438e
mov eax, dword [esi + 0x6c]
cmp word [eax], cx
je 0x74a743b5
mov eax, dword [esi + 0x6c]
cmp eax, dword [esi + 0x60]
jae 0x74a743b5
mov edx, dword [esi + 0x48]
mov ecx, eax
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x74a743b3
lea eax, [edx + 2]
mov dword [esi + 0x48], eax
lea eax, [ecx + 2]
mov dword [esi + 0x6c], eax
xor ecx, ecx
jmp 0x74a7436c
xor ecx, ecx
cmp dword [esi + 0x40], ecx
je 0x74a743c2
mov eax, dword [esi + 0x48]
cmp word [eax], cx
je 0x74a743ca
mov eax, dword [esi + 0x48]
cmp eax, dword [esi + 0x3c]
jb 0x74a743e7
cmp dword [esi + 0x64], ecx
je 0x74a743db
mov eax, dword [esi + 0x6c]
cmp word [eax], cx
je 0x74a74344
mov eax, dword [esi + 0x6c]
cmp eax, dword [esi + 0x60]
jae 0x74a74344
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x38]
cmp eax, ecx
jbe 0x74a74458
lea edi, [eax - 2]
mov ebx, 0x1100
movzx edx, word [edi]
mov eax, edx
cmp ax, bx
jb 0x74a7440d
mov ebx, 0x11ff
cmp ax, bx
jbe 0x74a7443c
mov ebx, 0xa960
cmp bx, ax
ja 0x74a7441f
add ebx, 0x1c
cmp ax, bx
jbe 0x74a7443c
mov ebx, 0xd7b0
cmp bx, ax
ja 0x74a74431
add ebx, 0x16
cmp ax, bx
jbe 0x74a7443c
add eax, 0x2835
cmp ax, 0x30
ja 0x74a74447
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x48], ecx
mov dword [esi + 0x6c], eax
jmp 0x74a74458
mov eax, 0xdb40
cmp dx, ax
jne 0x74a74458
add dword [esi + 0x6c], 0xfffffffe
mov dword [esi + 0x48], edi
xor ecx, ecx
or dword [esi + 0x50], 0xffffffff
lea ebx, [esi + 0x38]
or dword [esi + 0x74], 0xffffffff
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x70], ecx
cmp dword [ebx + 0x14], ecx
jne 0x74a74485
cmp dword [ebx + 8], ecx
je 0x74a7447d
mov eax, dword [ebx + 0x10]
cmp word [eax], cx
je 0x74a7448f
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x74a7448f
mov eax, dword [esi + 0x48]
mov ax, word [eax]
mov word [esi + 0x56], ax
lea edx, [esi + 0x5c]
cmp dword [edx + 0x14], ecx
jne 0x74a744ac
cmp dword [edx + 8], ecx
je 0x74a744a4
mov eax, dword [edx + 0x10]
cmp word [eax], cx
je 0x74a744b6
mov eax, dword [edx + 0x10]
cmp eax, dword [edx + 4]
jae 0x74a744b6
mov eax, dword [esi + 0x6c]
mov ax, word [eax]
mov word [esi + 0x7a], ax
mov dword [ebp - 0x34], 0xdc00
mov dword [ebp - 0x38], 0xdfff
mov dword [ebp - 0x30], 0x3ff
jmp 0x74a744d7
lea ebx, [esi + 0x38]
jmp 0x74a744d7
lea ebx, [esi + 0x38]
xor ecx, ecx
cmp dword [ebx + 0x14], ecx
jne 0x74a744f9
cmp dword [ebx + 8], ecx
je 0x74a744ed
mov eax, dword [ebx + 0x10]
cmp word [eax], cx
je 0x74a76da9
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x74a76da9
cmp dword [edx + 0x14], ecx
jne 0x74a7451b
cmp dword [edx + 8], ecx
je 0x74a7450f
mov eax, dword [edx + 0x10]
cmp word [eax], cx
je 0x74a76da9
mov eax, dword [edx + 0x10]
cmp eax, dword [edx + 4]
jae 0x74a76da9
cmp dword [esi + 0x50], 0xffffffff
jne 0x74a74550
mov edi, dword [esi + 4]
test edi, edi
je 0x74a74541
movzx eax, word [esi + 0x56]
mov ecx, eax
movzx edx, al
mov eax, dword [0x74ad0bc0]
shr ecx, 8
add edx, dword [edi + ecx*4]
mov eax, dword [eax + edx*4]
jmp 0x74a7454d
movzx ecx, word [esi + 0x56]
mov eax, dword [0x74ad0bc0]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0x50], eax
cmp dword [esi + 0x74], 0xffffffff
jne 0x74a74585
mov edi, dword [esi + 4]
test edi, edi
je 0x74a74576
movzx eax, word [esi + 0x7a]
mov ecx, eax
movzx edx, al
mov eax, dword [0x74ad0bc0]
shr ecx, 8
add edx, dword [edi + ecx*4]
mov eax, dword [eax + edx*4]
jmp 0x74a74582
movzx ecx, word [esi + 0x7a]
mov eax, dword [0x74ad0bc0]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0x74], eax
mov eax, dword [esi]
mov dword [ebp - 0xc], eax
mov eax, dword [eax + 0x104]
test eax, eax
je 0x74a7585b
xor eax, eax
mov dword [ebp - 8], eax
mov al, byte [ebx + 0x19]
sub al, 3
movzx ecx, al
movzx eax, byte [ebx + 0x1b]
neg ecx
sbb ecx, ecx
and ecx, 0xff
and ecx, eax
and ecx, 0xc0
sub ecx, 0x40
je 0x74a74c54
sub ecx, 0x40
je 0x74a749b0
sub ecx, 0x40
jne 0x74a74f01
mov edi, dword [ebp - 0xc]
mov eax, dword [edi + 0x104]
mov ecx, dword [edi + 0xfc]
and ecx, 0x20
mov dword [ebp - 0x14], ecx
movzx edi, word [eax + 0x14]
test di, di
je 0x74a7470a
mov ebx, dword [ebx + 0x10]
xor eax, eax
mov edx, dword [esi + 0x3c]
test ecx, ecx
setne al
lea eax, [eax*2 + 0xe]
add eax, ebx
cmp eax, edx
ja 0x74a74707
push dword [esi + 0x40]
mov eax, dword [esi]
push ecx
mov ecx, dword [eax + 0x104]
movzx eax, word [ecx + 6]
push eax
movzx eax, word [ecx + 4]
mov ecx, ebx
push eax
push 8
call fcn.74a7deeb
mov edx, eax
mov dword [ebp - 8], edx
cmp edx, 8
jl 0x74a74704
xor eax, eax
mov ecx, eax
mov edx, eax
lea eax, [edi - 1]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x14], ecx
je 0x74a746b6
cmp dword [ebp - 8], 9
jl 0x74a746b6
mov edx, dword [esi + 4]
movzx eax, word [ebx]
test edx, edx
je 0x74a74675
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov edi, dword [ecx + eax*4]
movzx eax, word [ebx + 2]
test edx, edx
je 0x74a74697
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov eax, dword [ecx + eax*4]
xor eax, edi
test eax, 0xe7ffffff
mov eax, dword [ebp - 0x1c]
jne 0x74a746b1
mov edx, dword [ebp - 0x20]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x28], ecx
jmp 0x74a746b6
mov ecx, dword [ebp - 0x28]
mov edx, ecx
test eax, eax
js 0x74a74704
lea ecx, [ebx + ecx*2]
mov dword [ebp - 0x2c], ecx
mov esi, dword [ebp - 0xc]
add eax, edx
cdq
sub eax, edx
mov edi, eax
sar edi, 1
imul edx, edi, 0x14
push 8
add edx, dword [esi + 0x120]
call fcn.74a7debc
mov esi, dword [ebp - 0x10]
test eax, eax
je 0x74a7476a
jns 0x74a746f4
mov edx, dword [ebp - 0x20]
lea eax, [edi - 1]
mov dword [ebp - 0x1c], eax
jmp 0x74a746fd
mov eax, dword [ebp - 0x1c]
lea edx, [edi + 1]
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x2c]
cmp edx, eax
jle 0x74a746c0
mov ecx, dword [ebp - 0x14]
lea ebx, [esi + 0x38]
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x104]
movzx edi, word [eax + 0x12]
test di, di
je 0x74a7485b
mov ebx, dword [ebx + 0x10]
xor eax, eax
mov edx, dword [esi + 0x3c]
test ecx, ecx
setne al
lea eax, [eax*2 + 0xc]
add eax, ebx
cmp eax, edx
ja 0x74a7485b
cmp dword [ebp - 8], 0
jne 0x74a7478e
push dword [esi + 0x40]
mov eax, dword [esi]
push ecx
mov ecx, dword [eax + 0x104]
movzx eax, word [ecx + 6]
push eax
movzx eax, word [ecx + 4]
mov ecx, ebx
push eax
push 7
call fcn.74a7deeb
mov edx, eax
mov dword [ebp - 8], edx
jmp 0x74a74791
mov edx, dword [esi]
imul eax, edi, 0x14
cmp dword [ebp - 0x28], 0
mov ecx, dword [edx + 0x120]
mov eax, dword [eax + ecx + 0x10]
mov dword [esi + 0x50], eax
jne 0x74a74f01
lea eax, [ebx + 0xe]
jmp 0x74a74efe
mov edx, dword [ebp - 8]
cmp edx, 7
jl 0x74a7485b
xor eax, eax
mov ecx, eax
mov edx, eax
lea eax, [edi - 1]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x14], ecx
je 0x74a7480d
cmp dword [ebp - 8], 8
jl 0x74a7480d
mov edx, dword [esi + 4]
movzx eax, word [ebx]
test edx, edx
je 0x74a747cc
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov edi, dword [ecx + eax*4]
movzx eax, word [ebx + 2]
test edx, edx
je 0x74a747ee
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov eax, dword [ecx + eax*4]
xor eax, edi
test eax, 0xe7ffffff
mov eax, dword [ebp - 0x1c]
jne 0x74a74808
mov edx, dword [ebp - 0x20]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x28], ecx
jmp 0x74a7480d
mov ecx, dword [ebp - 0x28]
mov edx, ecx
test eax, eax
js 0x74a7485b
lea ecx, [ebx + ecx*2]
mov dword [ebp - 0x2c], ecx
mov esi, dword [ebp - 0xc]
add eax, edx
cdq
sub eax, edx
mov edi, eax
sar edi, 1
imul edx, edi, 0x14
push 7
add edx, dword [esi + 0x11c]
call fcn.74a7debc
mov esi, dword [ebp - 0x10]
test eax, eax
je 0x74a748be
jns 0x74a7484b
mov edx, dword [ebp - 0x20]
lea eax, [edi - 1]
mov dword [ebp - 0x1c], eax
jmp 0x74a74854
mov eax, dword [ebp - 0x1c]
lea edx, [edi + 1]
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x2c]
cmp edx, eax
jle 0x74a74817
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x104]
movzx edi, word [eax + 0x10]
test di, di
je 0x74a749ad
mov ecx, dword [ebp - 0x14]
xor eax, eax
mov ebx, dword [esi + 0x48]
test ecx, ecx
mov edx, dword [esi + 0x3c]
setne al
lea eax, [eax*2 + 0xa]
add eax, ebx
cmp eax, edx
ja 0x74a749ad
cmp dword [ebp - 8], 0
jne 0x74a748e2
push dword [esi + 0x40]
mov eax, dword [esi]
push ecx
mov ecx, dword [eax + 0x104]
movzx eax, word [ecx + 6]
push eax
movzx eax, word [ecx + 4]
mov ecx, ebx
push eax
push 6
call fcn.74a7deeb
mov edx, eax
mov dword [ebp - 8], edx
jmp 0x74a748e5
mov edx, dword [esi]
imul eax, edi, 0x14
cmp dword [ebp - 0x28], 0
mov ecx, dword [edx + 0x11c]
mov eax, dword [eax + ecx + 0x10]
mov dword [esi + 0x50], eax
jne 0x74a74f01
lea eax, [ebx + 0xc]
jmp 0x74a74efe
mov edx, dword [ebp - 8]
cmp edx, 6
jl 0x74a749ad
xor eax, eax
mov ecx, eax
mov edx, eax
lea eax, [edi - 1]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x14], ecx
je 0x74a74961
cmp dword [ebp - 8], 7
jl 0x74a74961
mov edx, dword [esi + 4]
movzx eax, word [ebx]
test edx, edx
je 0x74a74920
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov edi, dword [ecx + eax*4]
movzx eax, word [ebx + 2]
test edx, edx
je 0x74a74942
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov eax, dword [ecx + eax*4]
xor eax, edi
test eax, 0xe7ffffff
mov eax, dword [ebp - 0x1c]
jne 0x74a7495c
mov edx, dword [ebp - 0x20]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x28], ecx
jmp 0x74a74961
mov ecx, dword [ebp - 0x28]
mov edx, ecx
test eax, eax
js 0x74a749ad
lea ecx, [ebx + ecx*2]
mov dword [ebp - 0x2c], ecx
add eax, edx
cdq
sub eax, edx
mov edi, eax
mov eax, dword [esi]
sar edi, 1
mov edx, edi
shl edx, 4
add edx, dword [eax + 0x118]
push 6
call fcn.74a7debc
test eax, eax
je 0x74a74a1f
jns 0x74a7499d
mov edx, dword [ebp - 0x20]
lea eax, [edi - 1]
mov dword [ebp - 0x1c], eax
jmp 0x74a749a6
mov eax, dword [ebp - 0x1c]
lea edx, [edi + 1]
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x2c]
cmp edx, eax
jle 0x74a7496b
lea ebx, [esi + 0x38]
mov edi, dword [ebp - 0xc]
mov eax, dword [edi + 0x104]
mov ecx, dword [edi + 0xfc]
and ecx, 0x20
mov dword [ebp - 0x1c], ecx
movzx edi, word [eax + 0xe]
test di, di
je 0x74a74b04
mov ebx, dword [ebx + 0x10]
xor eax, eax
mov edx, dword [esi + 0x3c]
test ecx, ecx
setne al
lea eax, [eax*2 + 8]
add eax, ebx
cmp eax, edx
ja 0x74a74b04
cmp dword [ebp - 8], 0
jne 0x74a74a42
push dword [esi + 0x40]
mov eax, dword [esi]
push ecx
mov ecx, dword [eax + 0x104]
movzx eax, word [ecx + 6]
push eax
movzx eax, word [ecx + 4]
mov ecx, ebx
push eax
push 5
call fcn.74a7deeb
mov ecx, dword [ebp - 0x1c]
mov edx, eax
mov dword [ebp - 8], edx
jmp 0x74a74a45
mov ecx, dword [esi]
add edi, edi
cmp dword [ebp - 0x28], 0
mov eax, dword [ecx + 0x118]
mov eax, dword [eax + edi*8 + 0xc]
mov dword [esi + 0x50], eax
jne 0x74a74f01
lea eax, [ebx + 0xa]
jmp 0x74a74efe
mov edx, dword [ebp - 8]
cmp edx, 5
jl 0x74a74b04
xor eax, eax
mov dword [ebp - 0x28], eax
mov edx, eax
mov dword [ebp - 0x24], edx
lea eax, [edi - 1]
mov dword [ebp - 0x20], eax
test ecx, ecx
je 0x74a74ab9
cmp dword [ebp - 8], 6
jl 0x74a74ab9
mov edx, dword [esi + 4]
movzx eax, word [ebx]
test edx, edx
je 0x74a74a7d
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov edi, dword [ecx + eax*4]
movzx eax, word [ebx + 2]
test edx, edx
je 0x74a74a9f
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov eax, dword [ecx + eax*4]
xor eax, edi
test eax, 0xe7ffffff
mov eax, dword [ebp - 0x20]
jne 0x74a74ab6
xor edx, edx
inc edx
mov dword [ebp - 0x24], edx
jmp 0x74a74ab9
mov edx, dword [ebp - 0x24]
test eax, eax
js 0x74a74b04
lea ecx, [ebx + edx*2]
mov dword [ebp - 0x2c], ecx
add eax, dword [ebp - 0x28]
cdq
sub eax, edx
mov edi, eax
mov eax, dword [esi]
sar edi, 1
mov edx, edi
shl edx, 4
add edx, dword [eax + 0x114]
push 5
call fcn.74a7debc
test eax, eax
je 0x74a74b6a
jns 0x74a74af3
lea eax, [edi - 1]
mov dword [ebp - 0x20], eax
jmp 0x74a74afc
lea eax, [edi + 1]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
cmp dword [ebp - 0x28], eax
jle 0x74a74ac3
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x104]
movzx edi, word [eax + 0xc]
test di, di
je 0x74a74c51
mov ecx, dword [ebp - 0x1c]
xor eax, eax
mov ebx, dword [esi + 0x48]
test ecx, ecx
mov edx, dword [esi + 0x3c]
setne al
lea eax, [eax*2 + 6]
add eax, ebx
cmp eax, edx
ja 0x74a74c51
cmp dword [ebp - 8], 0
jne 0x74a74b8d
push dword [esi + 0x40]
mov eax, dword [esi]
push ecx
mov ecx, dword [eax + 0x104]
movzx eax, word [ecx + 6]
push eax
movzx eax, word [ecx + 4]
mov ecx, ebx
push eax
push 4
call fcn.74a7deeb
mov ecx, dword [ebp - 0x1c]
mov edx, eax
mov dword [ebp - 8], edx
jmp 0x74a74b90
mov ecx, dword [esi]
add edi, edi
cmp dword [ebp - 0x24], 0
mov eax, dword [ecx + 0x114]
mov eax, dword [eax + edi*8 + 0xc]
mov dword [esi + 0x50], eax
jne 0x74a74f01
lea eax, [ebx + 8]
jmp 0x74a74efe
mov edx, dword [ebp - 8]
cmp edx, 4
jl 0x74a74c51
xor eax, eax
mov dword [ebp - 0x28], eax
mov edx, eax
mov dword [ebp - 0x24], edx
lea eax, [edi - 1]
mov dword [ebp - 0x20], eax
test ecx, ecx
je 0x74a74c04
cmp dword [ebp - 8], 5
jl 0x74a74c04
mov edx, dword [esi + 4]
movzx eax, word [ebx]
test edx, edx
je 0x74a74bc8
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov edi, dword [ecx + eax*4]
movzx eax, word [ebx + 2]
test edx, edx
je 0x74a74bea
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov eax, dword [ecx + eax*4]
xor eax, edi
test eax, 0xe7ffffff
mov eax, dword [ebp - 0x20]
jne 0x74a74c01
xor edx, edx
inc edx
mov dword [ebp - 0x24], edx
jmp 0x74a74c04
mov edx, dword [ebp - 0x24]
test eax, eax
js 0x74a74c51
lea ecx, [ebx + edx*2]
mov dword [ebp - 0x2c], ecx
add eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0xc]
cdq
sub eax, edx
mov edi, eax
sar edi, 1
imul edx, edi, 0xc
push 4
add edx, dword [esi + 0x110]
call fcn.74a7debc
mov esi, dword [ebp - 0x10]
test eax, eax
je 0x74a74d31
jns 0x74a74c40
lea eax, [edi - 1]
mov dword [ebp - 0x20], eax
jmp 0x74a74c49
lea eax, [edi + 1]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
cmp dword [ebp - 0x28], eax
jle 0x74a74c0e
lea ebx, [esi + 0x38]
mov edi, dword [ebp - 0xc]
mov eax, dword [edi + 0x104]
mov ecx, dword [edi + 0xfc]
and ecx, 0x20
mov dword [ebp - 0x18], ecx
movzx edi, word [eax + 0xa]
test di, di
je 0x74a74da5
mov ebx, dword [ebx + 0x10]
xor eax, eax
mov edx, dword [esi + 0x3c]
test ecx, ecx
setne al
lea eax, [eax*2 + 4]
add eax, ebx
cmp eax, edx
ja 0x74a74da5
mov eax, dword [ebp - 8]
test eax, eax
jne 0x74a74cc0
push dword [esi + 0x40]
mov eax, dword [esi]
push ecx
mov ecx, dword [eax + 0x104]
movzx eax, word [ecx + 6]
push eax
movzx eax, word [ecx + 4]
mov ecx, ebx
push eax
push 3
call fcn.74a7deeb
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 8], eax
cmp eax, 3
jl 0x74a74da5
xor eax, eax
mov dword [ebp - 0x28], eax
mov edx, eax
mov dword [ebp - 0x24], edx
lea eax, [edi - 1]
mov dword [ebp - 0x20], eax
test ecx, ecx
je 0x74a74d58
cmp dword [ebp - 8], 4
jl 0x74a74d58
mov edx, dword [esi + 4]
movzx eax, word [ebx]
test edx, edx
je 0x74a74cf8
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov edi, dword [ecx + eax*4]
movzx eax, word [ebx + 2]
test edx, edx
je 0x74a74d1a
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov eax, dword [ecx + eax*4]
xor eax, edi
test eax, 0xe7ffffff
mov eax, dword [ebp - 0x20]
jne 0x74a74d55
xor edx, edx
inc edx
mov dword [ebp - 0x24], edx
jmp 0x74a74d58
mov edx, dword [esi]
imul eax, edi, 0xc
cmp dword [ebp - 0x24], 0
mov ecx, dword [edx + 0x110]
mov eax, dword [eax + ecx + 8]
mov dword [esi + 0x50], eax
jne 0x74a74f01
lea eax, [ebx + 6]
jmp 0x74a74efe
mov edx, dword [ebp - 0x24]
test eax, eax
js 0x74a74da5
lea ecx, [ebx + edx*2]
mov dword [ebp - 0x2c], ecx
add eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0xc]
cdq
sub eax, edx
mov edi, eax
sar edi, 1
imul edx, edi, 0xc
push 3
add edx, dword [esi + 0x10c]
call fcn.74a7debc
mov esi, dword [ebp - 0x10]
test eax, eax
je 0x74a74e7c
jns 0x74a74d94
lea eax, [edi - 1]
mov dword [ebp - 0x20], eax
jmp 0x74a74d9d
lea eax, [edi + 1]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
cmp dword [ebp - 0x28], eax
jle 0x74a74d62
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x104]
movzx edi, word [eax + 8]
test di, di
je 0x74a74f01
mov ecx, dword [ebp - 0x18]
xor eax, eax
mov ebx, dword [esi + 0x48]
test ecx, ecx
mov edx, dword [esi + 0x3c]
setne al
lea eax, [eax*2 + 2]
add eax, ebx
cmp eax, edx
ja 0x74a74f01
mov eax, dword [ebp - 8]
test eax, eax
jne 0x74a74e05
push dword [esi + 0x40]
mov eax, dword [esi]
push ecx
mov ecx, dword [eax + 0x104]
movzx eax, word [ecx + 6]
push eax
movzx eax, word [ecx + 4]
mov ecx, ebx
push eax
push 2
call fcn.74a7deeb
mov dword [ebp - 8], eax
cmp eax, 2
jl 0x74a74f01
xor eax, eax
mov ecx, eax
mov edx, eax
lea eax, [edi - 1]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x18], ecx
je 0x74a74e9e
cmp dword [ebp - 8], 3
jl 0x74a74e9e
mov edx, dword [esi + 4]
movzx eax, word [ebx]
test edx, edx
je 0x74a74e40
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov edi, dword [ecx + eax*4]
movzx eax, word [ebx + 2]
test edx, edx
je 0x74a74e62
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov eax, dword [ecx + eax*4]
xor eax, edi
test eax, 0xe7ffffff
mov eax, dword [ebp - 0x1c]
jne 0x74a74e99
mov edx, dword [ebp - 0x20]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x28], ecx
jmp 0x74a74e9e
mov edx, dword [esi]
imul eax, edi, 0xc
cmp dword [ebp - 0x24], 0
mov ecx, dword [edx + 0x10c]
mov eax, dword [eax + ecx + 8]
mov dword [esi + 0x50], eax
jne 0x74a74f01
lea eax, [ebx + 4]
jmp 0x74a74efe
mov ecx, dword [ebp - 0x28]
mov edx, ecx
test eax, eax
js 0x74a74f01
lea ecx, [ebx + ecx*2]
mov dword [ebp - 0x2c], ecx
add eax, edx
cdq
sub eax, edx
mov edx, dword [esi]
mov edi, eax
sar edi, 1
push 2
mov eax, dword [edx + 0x108]
lea edx, [eax + edi*8]
call fcn.74a7debc
test eax, eax
je 0x74a74ee6
jns 0x74a74ed4
mov edx, dword [ebp - 0x20]
lea eax, [edi - 1]
mov dword [ebp - 0x1c], eax
jmp 0x74a74edd
mov eax, dword [ebp - 0x1c]
lea edx, [edi + 1]
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x2c]
cmp edx, eax
jle 0x74a74ea8
jmp 0x74a74f01
cmp dword [ebp - 0x28], 0
mov ecx, dword [esi]
mov eax, dword [ecx + 0x108]
mov eax, dword [eax + edi*8 + 4]
mov dword [esi + 0x50], eax
jne 0x74a74f01
lea eax, [ebx + 2]
mov dword [esi + 0x48], eax
and dword [esi + 0x50], 0x3fffffff
lea edx, [esi + 0x5c]
xor eax, eax
mov dword [ebp - 8], eax
mov al, byte [edx + 0x19]
sub al, 3
movzx ecx, al
movzx eax, byte [edx + 0x1b]
neg ecx
sbb ecx, ecx
and ecx, 0xff
and ecx, eax
and ecx, 0xc0
sub ecx, 0x40
je 0x74a755b1
sub ecx, 0x40
je 0x74a7531c
sub ecx, 0x40
jne 0x74a75851
mov edi, dword [esi]
mov dword [ebp - 0x18], edi
mov eax, dword [edi + 0x104]
mov ecx, dword [edi + 0xfc]
and ecx, 0x20
mov dword [ebp - 0x14], ecx
movzx edi, word [eax + 0x14]
test di, di
je 0x74a7507a
mov ebx, dword [edx + 0x10]
xor eax, eax
mov edx, dword [edx + 4]
test ecx, ecx
setne al
lea eax, [eax*2 + 0xe]
add eax, ebx
cmp eax, edx
ja 0x74a7507a
push dword [esi + 0x64]
mov eax, dword [esi]
push ecx
mov ecx, dword [eax + 0x104]
movzx eax, word [ecx + 6]
push eax
movzx eax, word [ecx + 4]
mov ecx, ebx
push eax
push 8
call fcn.74a7deeb
mov dword [ebp - 8], eax
cmp eax, 8
jl 0x74a75077
xor eax, eax
mov ecx, eax
mov edx, eax
lea eax, [edi - 1]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x14], ecx
je 0x74a75029
cmp dword [ebp - 8], 9
jl 0x74a75029
mov edx, dword [esi + 4]
movzx eax, word [ebx]
test edx, edx
je 0x74a74fe8
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov edi, dword [ecx + eax*4]
movzx eax, word [ebx + 2]
test edx, edx
je 0x74a7500a
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov eax, dword [ecx + eax*4]
xor eax, edi
test eax, 0xe7ffffff
mov eax, dword [ebp - 0x1c]
jne 0x74a75024
mov edx, dword [ebp - 0x20]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x28], ecx
jmp 0x74a75029
mov ecx, dword [ebp - 0x28]
mov edx, ecx
test eax, eax
js 0x74a75077
lea ecx, [ebx + ecx*2]
mov dword [ebp - 0x2c], ecx
mov esi, dword [ebp - 0x18]
add eax, edx
cdq
sub eax, edx
mov edi, eax
sar edi, 1
imul edx, edi, 0x14
push 8
add edx, dword [esi + 0x120]
call fcn.74a7debc
mov esi, dword [ebp - 0x10]
test eax, eax
je 0x74a75152
jns 0x74a75067
mov edx, dword [ebp - 0x20]
lea eax, [edi - 1]
mov dword [ebp - 0x1c], eax
jmp 0x74a75070
mov eax, dword [ebp - 0x1c]
lea edx, [edi + 1]
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x2c]
cmp edx, eax
jle 0x74a75033
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x104]
movzx edi, word [eax + 0x12]
test di, di
je 0x74a751c9
mov ebx, dword [esi + 0x6c]
xor eax, eax
mov edx, dword [esi + 0x60]
test ecx, ecx
setne al
lea eax, [eax*2 + 0xc]
add eax, ebx
cmp eax, edx
ja 0x74a751c9
mov eax, dword [ebp - 8]
test eax, eax
jne 0x74a750d7
push dword [esi + 0x64]
mov eax, dword [esi]
push ecx
mov ecx, dword [eax + 0x104]
movzx eax, word [ecx + 6]
push eax
movzx eax, word [ecx + 4]
mov ecx, ebx
push eax
push 7
call fcn.74a7deeb
mov dword [ebp - 8], eax
cmp eax, 7
jl 0x74a751c9
xor eax, eax
mov ecx, eax
mov edx, eax
lea eax, [edi - 1]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x14], ecx
je 0x74a7517b
cmp dword [ebp - 8], 8
jl 0x74a7517b
mov edx, dword [esi + 4]
movzx eax, word [ebx]
test edx, edx
je 0x74a75116
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov edi, dword [ecx + eax*4]
movzx eax, word [ebx + 2]
test edx, edx
je 0x74a75138
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov eax, dword [ecx + eax*4]
xor eax, edi
test eax, 0xe7ffffff
mov eax, dword [ebp - 0x1c]
jne 0x74a75176
mov edx, dword [ebp - 0x20]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x28], ecx
jmp 0x74a7517b
mov edx, dword [esi]
imul eax, edi, 0x14
cmp dword [ebp - 0x28], 0
mov ecx, dword [edx + 0x120]
mov eax, dword [eax + ecx + 0x10]
mov dword [esi + 0x74], eax
jne 0x74a75851
lea eax, [ebx + 0xe]
jmp 0x74a7584e
mov ecx, dword [ebp - 0x28]
mov edx, ecx
test eax, eax
js 0x74a751c9
lea ecx, [ebx + ecx*2]
mov dword [ebp - 0x2c], ecx
mov esi, dword [ebp - 0x18]
add eax, edx
cdq
sub eax, edx
mov edi, eax
sar edi, 1
imul edx, edi, 0x14
push 7
add edx, dword [esi + 0x11c]
call fcn.74a7debc
mov esi, dword [ebp - 0x10]
test eax, eax
je 0x74a752a4
jns 0x74a751b9
mov edx, dword [ebp - 0x20]
lea eax, [edi - 1]
mov dword [ebp - 0x1c], eax
jmp 0x74a751c2
mov eax, dword [ebp - 0x1c]
lea edx, [edi + 1]
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x2c]
cmp edx, eax
jle 0x74a75185
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x104]
movzx edi, word [eax + 0x10]
test di, di
je 0x74a75319
mov ecx, dword [ebp - 0x14]
xor eax, eax
mov ebx, dword [esi + 0x6c]
test ecx, ecx
mov edx, dword [esi + 0x60]
setne al
lea eax, [eax*2 + 0xa]
add eax, ebx
cmp eax, edx
ja 0x74a75319
mov eax, dword [ebp - 8]
test eax, eax
jne 0x74a75229
push dword [esi + 0x64]
mov eax, dword [esi]
push ecx
mov ecx, dword [eax + 0x104]
movzx eax, word [ecx + 6]
push eax
movzx eax, word [ecx + 4]
mov ecx, ebx
push eax
push 6
call fcn.74a7deeb
mov dword [ebp - 8], eax
cmp eax, 6
jl 0x74a75319
xor eax, eax
mov ecx, eax
mov edx, eax
lea eax, [edi - 1]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x14], ecx
je 0x74a752cd
cmp dword [ebp - 8], 7
jl 0x74a752cd
mov edx, dword [esi + 4]
movzx eax, word [ebx]
test edx, edx
je 0x74a75268
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov edi, dword [ecx + eax*4]
movzx eax, word [ebx + 2]
test edx, edx
je 0x74a7528a
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov eax, dword [ecx + eax*4]
xor eax, edi
test eax, 0xe7ffffff
mov eax, dword [ebp - 0x1c]
jne 0x74a752c8
mov edx, dword [ebp - 0x20]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x28], ecx
jmp 0x74a752cd
mov edx, dword [esi]
imul eax, edi, 0x14
cmp dword [ebp - 0x28], 0
mov ecx, dword [edx + 0x11c]
mov eax, dword [eax + ecx + 0x10]
mov dword [esi + 0x74], eax
jne 0x74a75851
lea eax, [ebx + 0xc]
jmp 0x74a7584e
mov ecx, dword [ebp - 0x28]
mov edx, ecx
test eax, eax
js 0x74a75319
lea ecx, [ebx + ecx*2]
mov dword [ebp - 0x2c], ecx
add eax, edx
cdq
sub eax, edx
mov edi, eax
mov eax, dword [esi]
sar edi, 1
mov edx, edi
shl edx, 4
add edx, dword [eax + 0x118]
push 6
call fcn.74a7debc
test eax, eax
je 0x74a75401
jns 0x74a75309
mov edx, dword [ebp - 0x20]
lea eax, [edi - 1]
mov dword [ebp - 0x1c], eax
jmp 0x74a75312
mov eax, dword [ebp - 0x1c]
lea edx, [edi + 1]
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x2c]
cmp edx, eax
jle 0x74a752d7
lea edx, [esi + 0x5c]
mov edi, dword [esi]
mov eax, dword [edi + 0x114]
mov ecx, dword [edi + 0xfc]
mov edi, dword [edi + 0x104]
and ecx, 0x20
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], ecx
movzx edi, word [edi + 0xe]
test di, di
je 0x74a7546d
mov ebx, dword [edx + 0x10]
xor eax, eax
mov edx, dword [edx + 4]
test ecx, ecx
setne al
lea eax, [eax*2 + 8]
add eax, ebx
cmp eax, edx
ja 0x74a7546d
mov eax, dword [ebp - 8]
test eax, eax
jne 0x74a75390
push dword [esi + 0x64]
mov eax, dword [esi]
push ecx
mov ecx, dword [eax + 0x104]
movzx eax, word [ecx + 6]
push eax
movzx eax, word [ecx + 4]
mov ecx, ebx
push eax
push 5
call fcn.74a7deeb
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 8], eax
cmp eax, 5
jl 0x74a7546d
xor eax, eax
mov dword [ebp - 0x28], eax
mov edx, eax
mov dword [ebp - 0x24], edx
lea eax, [edi - 1]
mov dword [ebp - 0x20], eax
test ecx, ecx
je 0x74a75427
cmp dword [ebp - 8], 6
jl 0x74a75427
mov edx, dword [esi + 4]
movzx eax, word [ebx]
test edx, edx
je 0x74a753c8
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov edi, dword [ecx + eax*4]
movzx eax, word [ebx + 2]
test edx, edx
je 0x74a753ea
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov eax, dword [ecx + eax*4]
xor eax, edi
test eax, 0xe7ffffff
mov eax, dword [ebp - 0x20]
jne 0x74a75424
xor edx, edx
inc edx
mov dword [ebp - 0x24], edx
jmp 0x74a75427
mov ecx, dword [esi]
add edi, edi
cmp dword [ebp - 0x28], 0
mov eax, dword [ecx + 0x118]
mov eax, dword [eax + edi*8 + 0xc]
mov dword [esi + 0x74], eax
jne 0x74a75851
lea eax, [ebx + 0xa]
jmp 0x74a7584e
mov edx, dword [ebp - 0x24]
test eax, eax
js 0x74a7546d
lea ecx, [ebx + edx*2]
mov dword [ebp - 0x18], ecx
add eax, dword [ebp - 0x28]
cdq
sub eax, edx
mov edi, eax
sar edi, 1
mov edx, edi
shl edx, 4
add edx, dword [ebp - 0x2c]
push 5
call fcn.74a7debc
test eax, eax
je 0x74a75549
jns 0x74a7545c
lea eax, [edi - 1]
mov dword [ebp - 0x20], eax
jmp 0x74a75465
lea eax, [edi + 1]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
cmp dword [ebp - 0x28], eax
jle 0x74a75431
mov ecx, dword [esi]
mov eax, dword [ecx + 0x110]
mov dword [ebp - 0x2c], eax
mov eax, dword [ecx + 0x104]
movzx edi, word [eax + 0xc]
test di, di
je 0x74a755ae
mov ecx, dword [ebp - 0x1c]
xor eax, eax
mov ebx, dword [esi + 0x6c]
test ecx, ecx
mov edx, dword [esi + 0x60]
setne al
lea eax, [eax*2 + 6]
add eax, ebx
cmp eax, edx
ja 0x74a755ae
mov eax, dword [ebp - 8]
test eax, eax
jne 0x74a754d8
push dword [esi + 0x64]
mov eax, dword [esi]
push ecx
mov ecx, dword [eax + 0x104]
movzx eax, word [ecx + 6]
push eax
movzx eax, word [ecx + 4]
mov ecx, ebx
push eax
push 4
call fcn.74a7deeb
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 8], eax
cmp eax, 4
jl 0x74a755ae
xor eax, eax
mov dword [ebp - 0x28], eax
mov edx, eax
mov dword [ebp - 0x24], edx
lea eax, [edi - 1]
mov dword [ebp - 0x20], eax
test ecx, ecx
je 0x74a7556a
cmp dword [ebp - 8], 5
jl 0x74a7556a
mov edx, dword [esi + 4]
movzx eax, word [ebx]
test edx, edx
je 0x74a75510
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov edi, dword [ecx + eax*4]
movzx eax, word [ebx + 2]
test edx, edx
je 0x74a75532
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov eax, dword [ecx + eax*4]
xor eax, edi
test eax, 0xe7ffffff
mov eax, dword [ebp - 0x20]
jne 0x74a75567
xor edx, edx
inc edx
mov dword [ebp - 0x24], edx
jmp 0x74a7556a
mov eax, dword [ebp - 0x2c]
add edi, edi
cmp dword [ebp - 0x24], 0
mov eax, dword [eax + edi*8 + 0xc]
mov dword [esi + 0x74], eax
jne 0x74a75851
lea eax, [ebx + 8]
jmp 0x74a7584e
mov edx, dword [ebp - 0x24]
test eax, eax
js 0x74a755ae
lea ecx, [ebx + edx*2]
mov dword [ebp - 0x1c], ecx
add eax, dword [ebp - 0x28]
cdq
sub eax, edx
mov edi, eax
sar edi, 1
imul edx, edi, 0xc
push 4
add edx, dword [ebp - 0x2c]
call fcn.74a7debc
test eax, eax
je 0x74a75696
jns 0x74a7559d
lea eax, [edi - 1]
mov dword [ebp - 0x20], eax
jmp 0x74a755a6
lea eax, [edi + 1]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
cmp dword [ebp - 0x28], eax
jle 0x74a75574
lea edx, [esi + 0x5c]
mov edi, dword [esi]
mov eax, dword [edi + 0x10c]
mov ecx, dword [edi + 0xfc]
mov edi, dword [edi + 0x104]
and ecx, 0x20
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x18], ecx
movzx edi, word [edi + 0xa]
test di, di
je 0x74a756fc
mov ebx, dword [edx + 0x10]
xor eax, eax
mov edx, dword [edx + 4]
test ecx, ecx
setne al
lea eax, [eax*2 + 4]
add eax, ebx
cmp eax, edx
ja 0x74a756fc
mov eax, dword [ebp - 8]
test eax, eax
jne 0x74a75625
push dword [esi + 0x64]
mov eax, dword [esi]
push ecx
mov ecx, dword [eax + 0x104]
movzx eax, word [ecx + 6]
push eax
movzx eax, word [ecx + 4]
mov ecx, ebx
push eax
push 3
call fcn.74a7deeb
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 8], eax
cmp eax, 3
jl 0x74a756fc
xor eax, eax
mov dword [ebp - 0x28], eax
mov edx, eax
mov dword [ebp - 0x24], edx
lea eax, [edi - 1]
mov dword [ebp - 0x20], eax
test ecx, ecx
je 0x74a756b8
cmp dword [ebp - 8], 4
jl 0x74a756b8
mov edx, dword [esi + 4]
movzx eax, word [ebx]
test edx, edx
je 0x74a7565d
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov edi, dword [ecx + eax*4]
movzx eax, word [ebx + 2]
test edx, edx
je 0x74a7567f
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov eax, dword [ecx + eax*4]
xor eax, edi
test eax, 0xe7ffffff
mov eax, dword [ebp - 0x20]
jne 0x74a756b5
xor edx, edx
inc edx
mov dword [ebp - 0x24], edx
jmp 0x74a756b8
mov ecx, dword [ebp - 0x2c]
imul eax, edi, 0xc
cmp dword [ebp - 0x24], 0
mov eax, dword [eax + ecx + 8]
mov dword [esi + 0x74], eax
jne 0x74a75851
lea eax, [ebx + 6]
jmp 0x74a7584e
mov edx, dword [ebp - 0x24]
test eax, eax
js 0x74a756fc
lea ecx, [ebx + edx*2]
mov dword [ebp - 0x1c], ecx
add eax, dword [ebp - 0x28]
cdq
sub eax, edx
mov edi, eax
sar edi, 1
imul edx, edi, 0xc
push 3
add edx, dword [ebp - 0x2c]
call fcn.74a7debc
test eax, eax
je 0x74a757db
jns 0x74a756eb
lea eax, [edi - 1]
mov dword [ebp - 0x20], eax
jmp 0x74a756f4
lea eax, [edi + 1]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
cmp dword [ebp - 0x28], eax
jle 0x74a756c2
mov ecx, dword [esi]
mov eax, dword [ecx + 0x108]
mov dword [ebp - 0x2c], eax
mov eax, dword [ecx + 0x104]
movzx edi, word [eax + 8]
test di, di
je 0x74a75851
mov ecx, dword [ebp - 0x18]
xor eax, eax
mov ebx, dword [esi + 0x6c]
test ecx, ecx
mov edx, dword [esi + 0x60]
setne al
lea eax, [eax*2 + 2]
add eax, ebx
cmp eax, edx
ja 0x74a75851
mov eax, dword [ebp - 8]
test eax, eax
jne 0x74a75764
push dword [esi + 0x64]
mov eax, dword [esi]
push ecx
mov ecx, dword [eax + 0x104]
movzx eax, word [ecx + 6]
push eax
movzx eax, word [ecx + 4]
mov ecx, ebx
push eax
push 2
call fcn.74a7deeb
mov dword [ebp - 8], eax
cmp eax, 2
jl 0x74a75851
xor eax, eax
mov ecx, eax
mov edx, eax
lea eax, [edi - 1]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x18], ecx
je 0x74a757f8
cmp dword [ebp - 8], 3
jl 0x74a757f8
mov edx, dword [esi + 4]
movzx eax, word [ebx]
test edx, edx
je 0x74a7579f
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov edi, dword [ecx + eax*4]
movzx eax, word [ebx + 2]
test edx, edx
je 0x74a757c1
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov eax, dword [ecx + eax*4]
xor eax, edi
test eax, 0xe7ffffff
mov eax, dword [ebp - 0x1c]
jne 0x74a757f3
mov edx, dword [ebp - 0x20]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x28], ecx
jmp 0x74a757f8
mov ecx, dword [ebp - 0x2c]
imul eax, edi, 0xc
cmp dword [ebp - 0x24], 0
mov eax, dword [eax + ecx + 8]
mov dword [esi + 0x74], eax
jne 0x74a75851
lea eax, [ebx + 4]
jmp 0x74a7584e
mov ecx, dword [ebp - 0x28]
mov edx, ecx
test eax, eax
js 0x74a75851
lea ecx, [ebx + ecx*2]
mov dword [ebp - 0x24], ecx
add eax, edx
cdq
sub eax, edx
mov edi, eax
mov eax, dword [ebp - 0x2c]
sar edi, 1
push 2
lea edx, [eax + edi*8]
call fcn.74a7debc
test eax, eax
je 0x74a7583b
jns 0x74a75829
mov edx, dword [ebp - 0x20]
lea eax, [edi - 1]
mov dword [ebp - 0x1c], eax
jmp 0x74a75832
mov eax, dword [ebp - 0x1c]
lea edx, [edi + 1]
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x24]
cmp edx, eax
jle 0x74a75802
jmp 0x74a75851
cmp dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + edi*8 + 4]
mov dword [esi + 0x74], eax
jne 0x74a75851
lea eax, [ebx + 2]
mov dword [esi + 0x6c], eax
and dword [esi + 0x74], 0x3fffffff
lea ebx, [esi + 0x38]
mov ecx, dword [esi + 0x50]
xor edi, edi
mov edx, ecx
shr edx, 8
mov dword [ebp - 0x1c], edx
cmp dl, 5
je 0x74a75880
lea eax, [edx + 0x57]
cmp al, 6
jbe 0x74a75880
cmp dword [esi + 0x30], edi
je 0x74a7588a
lea eax, [edx + 0x40]
cmp al, 0x2f
ja 0x74a7588a
cmp dl, 1
jne 0x74a75890
cmp dword [esi + 0x1c], edi
je 0x74a75890
and ecx, dword [esi + 0x34]
mov dword [esi + 0x50], ecx
mov ecx, dword [esi + 0x74]
mov eax, ecx
shr eax, 8
mov dword [ebp - 8], eax
cmp al, 5
je 0x74a758b6
add al, 0x57
cmp al, 6
jbe 0x74a758b3
cmp dword [esi + 0x30], edi
je 0x74a758bf
mov al, byte [ebp - 8]
add al, 0x40
cmp al, 0x2f
ja 0x74a758bf
mov eax, dword [ebp - 8]
cmp al, 1
jne 0x74a758c5
cmp dword [esi + 0x1c], edi
je 0x74a758c5
and ecx, dword [esi + 0x34]
mov dword [esi + 0x74], ecx
xor ecx, ecx
cmp dl, 0xd
jne 0x74a75d4b
cmp dword [esi + 0x20], ecx
je 0x74a75d4b
mov eax, dword [esi + 0x48]
mov edx, 0x74aa6a70
push 0x37
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x2c], ecx
movzx edi, word [eax]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x20], ecx
pop edx
mov dword [ebp - 0xc], edi
cmp di, word [ebp - 0x34]
jb 0x74a7591f
cmp di, word [ebp - 0x38]
ja 0x74a7591f
cmp eax, dword [ebx]
jbe 0x74a7591f
mov edx, 0xd835
cmp word [eax - 2], dx
jne 0x74a75968
mov edx, 0x74aa6ae0
push 9
mov dword [ebp - 0x24], edx
pop edx
mov esi, dword [ebp - 0x24]
movzx ebx, di
mov edi, ecx
lea eax, [edx + edi]
sar eax, 1
movzx ecx, word [esi + eax*2]
cmp bx, cx
je 0x74a75943
jae 0x74a7593c
lea edx, [eax - 1]
jmp 0x74a7593f
lea edi, [eax + 1]
cmp edi, edx
jle 0x74a75927
mov edi, dword [ebp - 0xc]
and eax, 0xfffffffe
movzx ecx, word [esi + eax*2]
mov esi, dword [ebp - 0x10]
cmp cx, di
ja 0x74a75966
mov edx, dword [ebp - 0x24]
cmp word [edx + eax*2 + 2], di
jb 0x74a75966
mov eax, ecx
mov dword [ebp - 0x14], eax
jmp 0x74a7596b
xor ecx, ecx
mov dword [ebp - 0x14], ecx
mov ecx, dword [esi + 0x6c]
xor eax, eax
mov edx, 0x74aa6a70
mov dword [ebp - 0xc], eax
mov eax, 0xdc00
mov dword [ebp - 0x24], edx
push 0x37
movzx ebx, word [ecx]
mov dword [ebp - 0x3c], ebx
pop edx
cmp bx, ax
jb 0x74a759b3
mov eax, 0xdfff
cmp bx, ax
ja 0x74a759b3
cmp ecx, dword [esi + 0x5c]
jbe 0x74a759b3
mov edi, 0xd835
cmp word [ecx - 2], di
jne 0x74a75a0a
mov edx, 0x74aa6ae0
push 9
mov dword [ebp - 0x24], edx
pop edx
mov esi, dword [ebp - 0x24]
movzx edi, bx
mov ebx, dword [ebp - 0xc]
lea eax, [edx + ebx]
sar eax, 1
movzx ecx, word [esi + eax*2]
cmp di, cx
je 0x74a759d8
jae 0x74a759d1
lea edx, [eax - 1]
jmp 0x74a759d4
lea ebx, [eax + 1]
cmp ebx, edx
jle 0x74a759bc
mov ebx, dword [ebp - 0x3c]
and eax, 0xfffffffe
movzx ecx, word [esi + eax*2]
mov esi, dword [ebp - 0x10]
cmp cx, bx
ja 0x74a75a02
mov edx, dword [ebp - 0x24]
cmp word [edx + eax*2 + 2], bx
jb 0x74a75a02
mov edx, ecx
xor eax, eax
mov ecx, dword [esi + 0x6c]
mov edi, 0xd835
jmp 0x74a75a0e
mov ecx, dword [esi + 0x6c]
mov edi, 0xd835
xor eax, eax
mov edx, eax
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0xc], edx
test bx, bx
je 0x74a75d2f
test dx, dx
je 0x74a75d2f
lea eax, [ebx + 0x2400]
cmp ax, word [ebp - 0x30]
ja 0x74a75a35
mov dword [ebp - 0x18], edi
lea eax, [edx + 0x2400]
cmp ax, word [ebp - 0x30]
ja 0x74a75a44
mov dword [ebp - 0x20], edi
mov eax, dword [esi + 0x48]
mov edi, dword [ebp - 0x2c]
cmp word [eax], bx
jne 0x74a75a8e
mov edx, dword [ebp - 0xc]
inc edi
add eax, 2
mov dword [ebp - 0x2c], edi
cmp word [ebp - 0x18], 0
mov dword [esi + 0x48], eax
je 0x74a75a79
cmp eax, dword [esi + 0x3c]
jae 0x74a75a88
mov edx, dword [ebp - 0x18]
cmp word [eax], dx
mov edx, dword [ebp - 0xc]
jne 0x74a75a88
add eax, 2
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x48]
cmp eax, dword [esi + 0x3c]
jae 0x74a75a8e
cmp edi, 0x13
jl 0x74a75a4a
jmp 0x74a75a8e
add eax, 2
mov dword [esi + 0x48], eax
mov ebx, dword [ebp - 0x28]
cmp word [ecx], dx
jne 0x74a75acd
lea eax, [ecx + 2]
inc ebx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x28], ebx
mov dword [esi + 0x6c], eax
test cx, cx
je 0x74a75ab8
cmp eax, dword [esi + 0x60]
jae 0x74a75ac7
cmp word [eax], cx
jne 0x74a75ac7
add eax, 2
mov dword [esi + 0x6c], eax
mov ecx, dword [esi + 0x6c]
cmp ecx, dword [esi + 0x60]
jae 0x74a75acd
cmp ebx, 0x13
jl 0x74a75a91
jmp 0x74a75acd
add eax, 2
mov dword [esi + 0x6c], eax
mov edx, dword [esi + 0x48]
xor ecx, ecx
mov ebx, ecx
mov dword [ebp - 0x24], ebx
cmp edx, dword [esi + 0x3c]
jae 0x74a75b20
cmp edi, 0x13
jge 0x74a75b20
movzx eax, word [edx]
cmp ax, word [ebp - 0x14]
jb 0x74a75b1b
lea ecx, [eax - 9]
mov eax, dword [ebp - 0x14]
movzx eax, ax
cmp ecx, eax
jg 0x74a75b1b
mov eax, dword [ebp - 0x18]
inc ebx
inc edi
add edx, 2
test ax, ax
je 0x74a75b11
cmp edx, dword [esi + 0x3c]
jae 0x74a75b1b
cmp word [edx], ax
jne 0x74a75b1b
add edx, 2
cmp edx, dword [esi + 0x3c]
jae 0x74a75b1b
cmp edi, 0x13
jl 0x74a75ae1
mov dword [ebp - 0x24], ebx
xor ecx, ecx
mov edx, dword [esi + 0x6c]
mov ebx, ecx
cmp edx, dword [esi + 0x60]
jae 0x74a75b69
mov edi, dword [ebp - 0x28]
jmp 0x74a75b64
movzx eax, word [edx]
cmp ax, word [ebp - 0xc]
jb 0x74a75b69
lea ecx, [eax - 9]
mov eax, dword [ebp - 0xc]
movzx eax, ax
cmp ecx, eax
jg 0x74a75b69
mov eax, dword [ebp - 0x20]
inc ebx
inc edi
add edx, 2
test ax, ax
je 0x74a75b5f
cmp edx, dword [esi + 0x60]
jae 0x74a75b69
cmp word [edx], ax
jne 0x74a75b69
add edx, 2
cmp edx, dword [esi + 0x60]
jae 0x74a75b69
cmp edi, 0x13
jl 0x74a75b2f
mov eax, dword [ebp - 0x24]
cmp eax, ebx
je 0x74a75b83
xor ecx, ecx
cmp eax, ebx
setge cl
lea ecx, [ecx*2 + 1]
jmp 0x74a75d31
test eax, eax
jle 0x74a75bec
mov eax, dword [ebp - 0x14]
movzx ebx, ax
mov edx, dword [esi + 0x6c]
mov edi, dword [esi + 0x48]
mov esi, dword [ebp - 0xc]
movzx eax, word [edx]
movzx ecx, word [edi]
sub ecx, eax
movzx eax, si
mov esi, dword [ebp - 0x10]
sub ecx, ebx
add ecx, eax
jne 0x74a75bde
lea eax, [edi + 2]
add edx, 2
mov edi, dword [ebp - 0x18]
mov dword [esi + 0x48], eax
mov dword [esi + 0x6c], edx
test di, di
je 0x74a75bc4
add eax, 2
mov dword [esi + 0x48], eax
cmp word [ebp - 0x20], 0
je 0x74a75bd1
lea eax, [edx + 2]
mov dword [esi + 0x6c], eax
mov eax, dword [ebp - 0x24]
dec eax
mov dword [ebp - 0x24], eax
test eax, eax
jg 0x74a75b8d
jmp 0x74a75bef
sar ecx, 0x1f
and ecx, 0xfffffffe
add ecx, 3
jmp 0x74a75d31
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
cmp edx, eax
je 0x74a75c05
xor ecx, ecx
cmp edx, eax
setl cl
jmp 0x74a75b77
mov eax, dword [ebp - 0x14]
cmp ax, word [ebp - 0xc]
je 0x74a75c70
xor eax, eax
cmp dword [esi + 0x10], eax
jne 0x74a75c40
test byte [esi + 0x80], 3
je 0x74a75c40
mov al, byte [esi + 0x52]
mov cl, byte [esi + 0x76]
cmp al, cl
je 0x74a75c40
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
mov dword [esi + 0x84], eax
and dword [esi + 0x80], 0xffffff0a
test byte [esi + 0x80], 4
je 0x74a75c70
mov al, byte [esi + 0x53]
mov cl, byte [esi + 0x77]
and al, 0x3f
and cl, 0x3f
cmp al, cl
je 0x74a75c70
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
mov dword [esi + 0x84], eax
and dword [esi + 0x80], 0xffffff0b
or dword [esi + 0x74], 0xffffffff
or dword [esi + 0x50], 0xffffffff
test di, di
je 0x74a75c81
add dword [esi + 0x48], 0xfffffffe
cmp word [ebp - 0x20], 0
je 0x74a75c8c
add dword [esi + 0x6c], 0xfffffffe
add dword [esi + 0x48], 0xfffffffe
lea ebx, [esi + 0x38]
add dword [esi + 0x6c], 0xfffffffe
xor ecx, ecx
cmp dword [ebx + 0x14], ecx
jne 0x74a75cb3
cmp dword [ebx + 8], ecx
je 0x74a75cab
mov eax, dword [ebx + 0x10]
cmp word [eax], cx
je 0x74a75cdc
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x74a75cdc
mov eax, dword [ebx + 0x14]
test eax, eax
jle 0x74a75cc5
dec eax
mov dword [ebx + 0x14], eax
mov ax, word [ebx + eax*2 + 0xc]
jmp 0x74a75cd8
add dword [ebx + 0x10], 2
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x74a75cd6
mov ax, word [eax]
jmp 0x74a75cd8
xor eax, eax
mov word [ebx + 0x1e], ax
lea edx, [esi + 0x5c]
cmp dword [edx + 0x14], ecx
jne 0x74a75d01
cmp dword [edx + 8], ecx
je 0x74a75cf5
mov eax, dword [edx + 0x10]
cmp word [eax], cx
je 0x74a744d7
mov eax, dword [edx + 0x10]
cmp eax, dword [edx + 4]
jae 0x74a744d7
mov eax, dword [edx + 0x14]
test eax, eax
jle 0x74a75d13
dec eax
mov dword [edx + 0x14], eax
mov ax, word [edx + eax*2 + 0xc]
jmp 0x74a75d26
add dword [edx + 0x10], 2
mov eax, dword [edx + 0x10]
cmp eax, dword [edx + 4]
jae 0x74a75d24
mov ax, word [eax]
jmp 0x74a75d26
xor eax, eax
mov word [edx + 0x1e], ax
jmp 0x74a744d7
mov ecx, eax
test ecx, ecx
je 0x74a75d46
cmp ecx, 2
jne 0x74a770d5
lea edx, [esi + 0x5c]
jmp 0x74a744d2
mov edx, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [esi + 0x50]
cmp eax, dword [esi + 0x74]
jne 0x74a75e5b
cmp dl, 2
jb 0x74a75d65
cmp dl, 6
jbe 0x74a75e5b
cmp dword [esi + 0x28], ecx
je 0x74a75d83
movzx eax, word [esi + 0x56]
test ax, ax
je 0x74a75d79
cmp word [esi + 0x7a], cx
jne 0x74a75d83
cmp ax, word [esi + 0x7a]
jne 0x74a770d9
lea ebx, [esi + 0x38]
mov edi, 0xdb40
mov eax, dword [ebx + 0x10]
cmp word [eax], di
jne 0x74a75deb
mov ecx, dword [ebx + 0x14]
test ecx, ecx
jle 0x74a75da1
movzx eax, word [ebx + ecx*2 + 0xa]
jmp 0x74a75db4
add eax, 2
cmp eax, dword [ebx + 4]
jae 0x74a75db2
mov eax, dword [ebx + 0x10]
movzx eax, word [eax + 2]
jmp 0x74a75db4
xor eax, eax
add eax, 0x2300
mov edx, 0xef
cmp ax, dx
ja 0x74a75deb
test ecx, ecx
jle 0x74a75dd4
lea eax, [ecx - 1]
mov dword [ebx + 0x14], eax
mov ax, word [ebx + eax*2 + 0xc]
jmp 0x74a75de7
add dword [ebx + 0x10], 2
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x74a75de5
mov ax, word [eax]
jmp 0x74a75de7
xor eax, eax
mov word [ebx + 0x1e], ax
lea edx, [esi + 0x5c]
mov eax, dword [edx + 0x10]
cmp word [eax], di
jne 0x74a76d4a
mov ecx, dword [edx + 0x14]
test ecx, ecx
jle 0x74a75e08
movzx eax, word [edx + ecx*2 + 0xa]
jmp 0x74a75e1b
add eax, 2
cmp eax, dword [edx + 4]
jae 0x74a75e19
mov eax, dword [edx + 0x10]
movzx eax, word [eax + 2]
jmp 0x74a75e1b
xor eax, eax
add eax, 0x2300
mov edi, 0xef
cmp ax, di
ja 0x74a76d4a
test ecx, ecx
jle 0x74a75e3f
lea eax, [ecx - 1]
mov dword [edx + 0x14], eax
mov ax, word [edx + eax*2 + 0xc]
jmp 0x74a75e52
add dword [edx + 0x10], 2
mov eax, dword [edx + 0x10]
cmp eax, dword [edx + 4]
jae 0x74a75e50
mov ax, word [eax]
jmp 0x74a75e52
xor eax, eax
mov word [edx + 0x1e], ax
jmp 0x74a76d4a
movzx ecx, word [esi + 0x50]
movzx eax, word [esi + 0x74]
mov word [esi + 0x54], cx
mov word [esi + 0x78], ax
cmp cx, ax
jne 0x74a75e7b
lea eax, [edx - 2]
cmp al, 0xa
ja 0x74a7694c
lea ebx, [esi + 0x38]
cmp dl, 0xc
ja 0x74a75ec4
test dl, dl
je 0x74a75f7c
cmp dl, 1
je 0x74a75f6c
cmp dl, 2
je 0x74a75f0e
cmp dl, 4
je 0x74a75eba
cmp dl, 6
je 0x74a75eb2
lea eax, [edx - 7]
cmp al, 5
ja 0x74a75ec4
mov eax, dword [esi + 0x14]
jmp 0x74a75ff5
mov eax, dword [esi + 0xc]
jmp 0x74a75ff5
mov ecx, dword [esi + 4]
mov edx, ebx
call fcn.74a73e82
xor ecx, ecx
mov eax, dword [ebp - 8]
cmp al, 0xc
ja 0x74a7603f
test al, al
je 0x74a76143
cmp al, 1
je 0x74a76132
cmp al, 2
je 0x74a760ce
lea edx, [esi + 0x5c]
cmp al, 4
je 0x74a76037
cmp al, 6
je 0x74a7602f
sub al, 7
cmp al, 5
ja 0x74a76042
mov eax, dword [esi + 0x14]
jmp 0x74a761bd
mov edi, dword [esi + 4]
test edi, edi
je 0x74a75f2e
movzx eax, word [ebx + 0x1e]
mov ecx, eax
movzx edx, al
mov eax, dword [0x74ad0bc0]
shr ecx, 8
add edx, dword [edi + ecx*4]
mov eax, dword [eax + edx*4]
jmp 0x74a75f3a
movzx ecx, word [ebx + 0x1e]
mov eax, dword [0x74ad0bc0]
mov eax, dword [eax + ecx*4]
mov dword [ebx + 0x18], eax
mov eax, dword [0x74ad0bc8]
movzx ecx, word [ebx + 0x1a]
mov ax, word [eax + ecx*4]
mov word [ebx + 0xe], ax
mov eax, dword [0x74ad0bc8]
movzx ecx, word [ebx + 0x1a]
mov ax, word [eax + ecx*4 + 2]
mov word [ebx + 0xc], ax
mov dword [ebx + 0x14], 2
jmp 0x74a75ffd
xor eax, eax
cmp dword [esi + 0x10], eax
jne 0x74a75ffd
cmp dword [esi + 0x1c], eax
jmp 0x74a75ff7
xor ecx, ecx
cmp word [ebx + 0x1e], cx
jne 0x74a75f8d
cmp dword [esi + 0x28], ecx
jne 0x74a75ec6
mov eax, dword [ebx + 0x10]
mov ecx, 0xdb40
cmp word [eax], cx
jne 0x74a75ff2
mov ecx, dword [ebx + 0x14]
test ecx, ecx
jle 0x74a75fa8
movzx eax, word [ebx + ecx*2 + 0xa]
jmp 0x74a75fbb
add eax, 2
cmp eax, dword [ebx + 4]
jae 0x74a75fb9
mov eax, dword [ebx + 0x10]
movzx eax, word [eax + 2]
jmp 0x74a75fbb
xor eax, eax
add eax, 0x2300
mov edx, 0xef
cmp ax, dx
ja 0x74a75ff2
test ecx, ecx
jle 0x74a75fdb
lea eax, [ecx - 1]
mov dword [ebx + 0x14], eax
mov ax, word [ebx + eax*2 + 0xc]
jmp 0x74a75fee
add dword [ebx + 0x10], 2
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x74a75fec
mov ax, word [eax]
jmp 0x74a75fee
xor eax, eax
mov word [ebx + 0x1e], ax
xor eax, eax
inc eax
test eax, eax
je 0x74a75ec4
or dword [esi + 0x50], 0xffffffff
mov eax, dword [ebx + 0x14]
test eax, eax
jle 0x74a7601a
dec eax
mov dword [ebx + 0x14], eax
mov ax, word [ebx + eax*2 + 0xc]
mov word [ebx + 0x1e], ax
jmp 0x74a75ec4
add dword [ebx + 0x10], 2
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x74a7602b
mov ax, word [eax]
jmp 0x74a76011
xor eax, eax
jmp 0x74a76011
mov eax, dword [esi + 0xc]
jmp 0x74a761bd
mov ecx, dword [esi + 4]
call fcn.74a73e82
lea edx, [esi + 0x5c]
mov ecx, dword [esi + 0x50]
cmp ecx, 0xffffffff
je 0x74a744d5
cmp dword [esi + 0x74], 0xffffffff
je 0x74a744d5
mov eax, dword [ebp - 0x1c]
movzx eax, al
sub eax, 1
je 0x74a764cc
dec eax
sub eax, 1
je 0x74a762be
dec eax
sub eax, 1
je 0x74a76212
mov edx, dword [ebp - 8]
sub eax, 1
jne 0x74a76274
xor ecx, ecx
cmp dword [esi + 8], ecx
jne 0x74a76522
cmp dl, 6
je 0x74a76522
cmp dword [esi + 0x24], ecx
jne 0x74a76f86
mov dword [esi + 0x88], 3
mov dword [esi + 0xc], 1
mov eax, dword [ebx + 0x14]
test eax, eax
jle 0x74a761f7
dec eax
mov dword [ebx + 0x14], eax
mov ax, word [ebx + eax*2 + 0xc]
jmp 0x74a7651a
mov edi, dword [esi + 4]
test edi, edi
je 0x74a760f1
movzx eax, word [esi + 0x7a]
mov ecx, eax
movzx edx, al
mov eax, dword [0x74ad0bc0]
shr ecx, 8
add edx, dword [edi + ecx*4]
mov eax, dword [eax + edx*4]
lea edx, [esi + 0x5c]
jmp 0x74a76100
mov eax, dword [0x74ad0bc0]
lea edx, [esi + 0x5c]
movzx ecx, word [edx + 0x1e]
mov eax, dword [eax + ecx*4]
mov dword [edx + 0x18], eax
mov eax, dword [0x74ad0bc8]
movzx ecx, word [edx + 0x1a]
mov ax, word [eax + ecx*4]
mov word [edx + 0xe], ax
mov eax, dword [0x74ad0bc8]
movzx ecx, word [edx + 0x1a]
mov ax, word [eax + ecx*4 + 2]
mov word [edx + 0xc], ax
mov dword [edx + 0x14], 2
jmp 0x74a761c5
lea edx, [esi + 0x5c]
cmp dword [esi + 0x10], ecx
jne 0x74a761c5
cmp dword [esi + 0x1c], ecx
jmp 0x74a761bf
lea edx, [esi + 0x5c]
cmp word [edx + 0x1e], cx
jne 0x74a76155
cmp dword [esi + 0x28], ecx
jne 0x74a76042
mov eax, dword [edx + 0x10]
mov ecx, 0xdb40
cmp word [eax], cx
jne 0x74a761ba
mov ecx, dword [edx + 0x14]
test ecx, ecx
jle 0x74a76170
movzx eax, word [edx + ecx*2 + 0xa]
jmp 0x74a76183
add eax, 2
cmp eax, dword [edx + 4]
jae 0x74a76181
mov eax, dword [edx + 0x10]
movzx eax, word [eax + 2]
jmp 0x74a76183
xor eax, eax
add eax, 0x2300
mov edi, 0xef
cmp ax, di
ja 0x74a761ba
test ecx, ecx
jle 0x74a761a3
lea eax, [ecx - 1]
mov dword [edx + 0x14], eax
mov ax, word [edx + eax*2 + 0xc]
jmp 0x74a761b6
add dword [edx + 0x10], 2
mov eax, dword [edx + 0x10]
cmp eax, dword [edx + 4]
jae 0x74a761b4
mov ax, word [eax]
jmp 0x74a761b6
xor eax, eax
mov word [edx + 0x1e], ax
xor eax, eax
inc eax
test eax, eax
je 0x74a76042
or dword [esi + 0x74], 0xffffffff
mov eax, dword [edx + 0x14]
test eax, eax
jle 0x74a761db
dec eax
mov dword [edx + 0x14], eax
mov ax, word [edx + eax*2 + 0xc]
jmp 0x74a761ea
add dword [edx + 0x10], 2
mov eax, dword [edx + 0x10]
cmp eax, dword [edx + 4]
jae 0x74a761f3
mov ax, word [eax]
mov word [edx + 0x1e], ax
jmp 0x74a76042
xor eax, eax
jmp 0x74a761ea
add dword [ebx + 0x10], 2
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x74a7620b
mov ax, word [eax]
jmp 0x74a7651a
xor eax, eax
jmp 0x74a7651a
cmp ecx, dword [esi + 0x74]
jne 0x74a7627b
mov eax, dword [ebx + 0x14]
test eax, eax
jle 0x74a76229
dec eax
mov dword [ebx + 0x14], eax
mov ax, word [ebx + eax*2 + 0xc]
jmp 0x74a7623c
add dword [ebx + 0x10], 2
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x74a7623a
mov ax, word [eax]
jmp 0x74a7623c
xor eax, eax
mov word [ebx + 0x1e], ax
mov eax, dword [edx + 0x14]
test eax, eax
jle 0x74a76252
dec eax
mov dword [edx + 0x14], eax
mov ax, word [edx + eax*2 + 0xc]
jmp 0x74a76265
add dword [edx + 0x10], 2
mov eax, dword [edx + 0x10]
cmp eax, dword [edx + 4]
jae 0x74a76263
mov ax, word [eax]
jmp 0x74a76265
xor eax, eax
mov word [edx + 0x1e], ax
or dword [esi + 0x50], 0xffffffff
or dword [esi + 0x74], 0xffffffff
mov edx, dword [ebp - 8]
xor ecx, ecx
jmp 0x74a76522
mov edx, dword [ebp - 8]
lea edi, [esi + 0x38]
mov ebx, 0xfdff
cmp dl, 5
jne 0x74a762b8
movzx ecx, byte [esi + 0x50]
movzx eax, byte [esi + 0x52]
shl cx, 8
or cx, ax
movzx eax, byte [esi + 0x76]
mov word [esi + 0x54], cx
movzx ecx, byte [esi + 0x74]
shl cx, 8
or cx, ax
mov word [esi + 0x78], cx
xor ecx, ecx
jmp 0x74a7652a
mov word [esi + 0x54], bx
jmp 0x74a762b1
mov al, byte [ebx + 0x18]
xor edi, edi
mov cl, byte [ebx + 0x1b]
mov edx, edi
and cl, 0x3f
mov byte [ebp - 1], al
mov byte [ebp - 2], cl
mov dword [ebx + 0x20], edi
cmp al, 1
ja 0x74a76420
mov edi, dword [ebx + 0x10]
lea eax, [edi - 4]
cmp eax, dword [ebx]
jb 0x74a7630e
mov eax, 0xdb40
cmp word [edi - 4], ax
jne 0x74a7630e
movzx eax, word [edi - 2]
mov ecx, 0xdd00
cmp ax, cx
jb 0x74a7630e
mov ecx, 0xddef
cmp ax, cx
ja 0x74a7630e
push 2
pop ebx
jmp 0x74a76311
xor ebx, ebx
inc ebx
lea eax, [ebx + ebx]
mov ecx, edi
sub ecx, eax
mov edx, 0xffff
cmp ecx, dword [esi + 0x38]
jb 0x74a76447
mov edx, dword [esi + 4]
lea eax, [ebx + ebx]
sub edi, eax
movzx eax, word [edi]
test edx, edx
je 0x74a76340
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov edx, dword [ecx + eax*4]
and edx, dword [esi + 0x34]
mov eax, edx
mov dword [ebp - 0x18], edx
shr eax, 8
cmp al, 3
jae 0x74a76397
cmp al, 2
je 0x74a763ad
lea eax, [edi - 4]
cmp eax, dword [esi + 0x38]
jb 0x74a763a0
mov ecx, dword [esi + 0x48]
lea eax, [ebx*2 + 4]
sub ecx, eax
mov eax, 0xdb40
cmp word [ecx], ax
jne 0x74a763a0
movzx eax, word [edi - 2]
mov ecx, 0xdd00
cmp ax, cx
jb 0x74a763a0
mov ecx, 0xddef
cmp ax, cx
ja 0x74a763a0
push 2
pop eax
jmp 0x74a763a3
jne 0x74a76413
mov al, byte [ebp - 0x18]
cmp al, 1
ja 0x74a763b7
xor eax, eax
inc eax
mov edi, dword [esi + 0x48]
add ebx, eax
jmp 0x74a76311
mov edx, 0xffff
jmp 0x74a76447
mov cl, byte [ebp - 0x15]
lea edi, [esi + 0x38]
mov bl, byte [ebp - 1]
and cl, 0x3f
movzx edx, al
mov eax, 0x2200
or dx, ax
mov al, cl
and al, 0xc6
mov word [ebp - 0x18], dx
mov byte [edi + 0x20], al
mov al, cl
and al, 0xe4
mov byte [edi + 0x22], al
test bl, bl
jne 0x74a763f7
and cl, 0xc5
mov word [edi + 0x1c], dx
mov edx, dword [ebp - 0x18]
mov byte [edi + 0x21], 4
mov byte [edi + 0x23], cl
jmp 0x74a76452
mov edx, dword [ebp - 0x18]
mov eax, edx
and eax, 0xff87
mov byte [edi + 0x21], 5
mov word [edi + 0x1c], ax
mov al, byte [ebp - 2]
and al, 0xc5
mov byte [edi + 0x23], al
jmp 0x74a7644d
mov ax, word [ebp - 0x18]
lea edi, [esi + 0x38]
mov word [edi + 0x1c], ax
jmp 0x74a7644a
movzx eax, al
mov edi, 0x2200
or ax, di
mov byte [ebx + 0x21], 3
mov word [ebx + 0x1c], ax
mov al, cl
and al, 0xc6
mov byte [ebx + 0x20], al
mov al, cl
and al, 0xe4
and cl, 0xc5
mov byte [ebx + 0x22], al
mov byte [ebx + 0x23], cl
lea edi, [esi + 0x38]
mov bl, byte [ebp - 1]
cmp bl, 1
ja 0x74a76469
mov eax, 0xffff
cmp edx, eax
jne 0x74a76469
xor ecx, ecx
mov word [edi + 0x1c], ax
mov dword [edi + 0x18], eax
mov dword [edi + 0x20], ecx
jmp 0x74a76477
mov ax, word [edi + 0x1c]
xor ecx, ecx
mov word [edi + 0x18], ax
mov byte [edi + 0x1b], 2
mov edx, dword [ebp - 8]
cmp dl, 6
jne 0x74a76492
cmp dword [esi + 8], ecx
jne 0x74a7649b
cmp dword [esi + 0xc], ecx
jne 0x74a7649b
or dword [esi + 0x50], 0xffffffff
jmp 0x74a76525
cmp dl, 3
je 0x74a76525
cmp dword [esi + 0x58], ecx
je 0x74a76525
cmp dword [esi + 0x24], ecx
jne 0x74a76f86
test byte [esi + 0x80], 0xf0
je 0x74a76525
mov dword [esi + 0x84], 3
and dword [esi + 0x80], 0xffffff0f
jmp 0x74a76525
push 3
pop eax
xor ecx, ecx
test byte [esi + 0x80], al
je 0x74a764f2
cmp dword [esi + 0x24], ecx
jne 0x74a77107
mov dword [esi + 0x84], eax
and dword [esi + 0x80], 0xffffff0a
mov eax, dword [ebx + 0x14]
test eax, eax
jle 0x74a76504
dec eax
mov dword [ebx + 0x14], eax
mov ax, word [ebx + eax*2 + 0xc]
jmp 0x74a76517
add dword [ebx + 0x10], 2
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x74a76515
mov ax, word [eax]
jmp 0x74a76517
xor eax, eax
mov edx, dword [ebp - 8]
mov word [ebx + 0x1e], ax
or dword [esi + 0x50], 0xffffffff
lea edi, [esi + 0x38]
mov ebx, 0xfdff
movzx eax, dl
sub eax, 1
je 0x74a76a62
dec eax
sub eax, 1
je 0x74a766c5
dec eax
sub eax, 1
je 0x74a766af
sub eax, 1
jne 0x74a7690e
cmp dword [esi + 8], ecx
jne 0x74a7690e
cmp byte [ebp - 0x1c], 6
je 0x74a7657a
cmp dword [esi + 0x24], ecx
jne 0x74a76f86
inc eax
mov dword [esi + 0x88], eax
mov dword [esi + 0xc], eax
jmp 0x74a7667a
mov al, byte [esi + 0x50]
mov cl, byte [esi + 0x74]
cmp al, cl
jne 0x74a7663b
mov ecx, dword [esi + 0x1c]
test ecx, ecx
je 0x74a7659f
mov al, byte [esi + 0x51]
cmp al, 0x14
jbe 0x74a7659a
cmp al, 0x29
jne 0x74a7659f
push 2
pop edx
jmp 0x74a765a3
movzx edx, byte [esi + 0x52]
mov edi, dword [esi + 0x18]
test edi, edi
je 0x74a765ba
mov al, byte [esi + 0x51]
cmp al, 0x14
jbe 0x74a765b5
cmp al, 0x29
jne 0x74a765ba
push 2
pop eax
jmp 0x74a765c1
movzx eax, byte [esi + 0x53]
and eax, 0x3f
shl dl, 3
add dl, al
test ecx, ecx
je 0x74a765da
mov al, byte [esi + 0x75]
cmp al, 0x14
jbe 0x74a765d5
cmp al, 0x29
jne 0x74a765da
push 2
pop eax
jmp 0x74a765de
movzx eax, byte [esi + 0x76]
test edi, edi
je 0x74a765f4
mov cl, byte [esi + 0x75]
cmp cl, 0x14
jbe 0x74a765ef
cmp cl, 0x29
jne 0x74a765f4
push 2
pop ecx
jmp 0x74a765fb
movzx ecx, byte [esi + 0x77]
and ecx, 0x3f
shl al, 3
add al, cl
cmp dl, al
je 0x74a76626
xor ecx, ecx
cmp dword [esi + 0x24], ecx
jne 0x74a76f86
cmp dl, al
mov dword [esi + 0xc], 1
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
mov dword [esi + 0x88], eax
lea edi, [esi + 0x38]
mov eax, dword [edi + 0x14]
test eax, eax
jle 0x74a7665f
dec eax
mov dword [edi + 0x14], eax
mov ax, word [edi + eax*2 + 0xc]
jmp 0x74a76672
xor edx, edx
cmp dword [esi + 0x24], edx
jne 0x74a76f86
cmp al, cl
mov dword [esi + 0xc], 1
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
mov dword [esi + 0x88], eax
jmp 0x74a76629
add dword [edi + 0x10], 2
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 4]
jae 0x74a76670
mov ax, word [eax]
jmp 0x74a76672
xor eax, eax
mov word [edi + 0x1e], ax
or dword [esi + 0x50], 0xffffffff
lea edx, [esi + 0x5c]
mov eax, dword [edx + 0x14]
test eax, eax
jle 0x74a7668f
dec eax
mov dword [edx + 0x14], eax
mov ax, word [edx + eax*2 + 0xc]
jmp 0x74a766a2
add dword [edx + 0x10], 2
mov eax, dword [edx + 0x10]
cmp eax, dword [edx + 4]
jae 0x74a766a0
mov ax, word [eax]
jmp 0x74a766a2
xor eax, eax
mov word [edx + 0x1e], ax
or dword [esi + 0x74], 0xffffffff
jmp 0x74a76911
cmp byte [ebp - 0x1c], 5
lea edx, [esi + 0x5c]
je 0x74a76911
mov word [esi + 0x78], bx
jmp 0x74a76911
lea ebx, [esi + 0x5c]
mov edx, ecx
mov al, byte [ebx + 0x18]
xor edi, edi
mov cl, byte [ebx + 0x1b]
and cl, 0x3f
mov byte [ebp - 1], al
mov byte [ebp - 2], cl
mov dword [ebx + 0x20], edi
cmp al, 1
ja 0x74a76849
mov edi, dword [ebx + 0x10]
lea eax, [edi - 4]
cmp eax, dword [ebx]
jb 0x74a76718
mov eax, 0xdb40
cmp word [edi - 4], ax
jne 0x74a76718
movzx eax, word [edi - 2]
mov ecx, 0xdd00
cmp ax, cx
jb 0x74a76718
mov ecx, 0xddef
cmp ax, cx
ja 0x74a76718
push 2
pop ebx
jmp 0x74a7671b
xor ebx, ebx
inc ebx
lea eax, [ebx + ebx]
mov ecx, edi
sub ecx, eax
mov edx, 0xffff
cmp ecx, dword [esi + 0x5c]
jb 0x74a76875
mov edx, dword [esi + 4]
lea eax, [ebx + ebx]
sub edi, eax
movzx eax, word [edi]
test edx, edx
je 0x74a7674a
mov ecx, eax
movzx eax, al
shr ecx, 8
add eax, dword [edx + ecx*4]
mov ecx, dword [0x74ad0bc0]
mov edx, dword [ecx + eax*4]
and edx, dword [esi + 0x34]
mov eax, edx
mov dword [ebp - 0x18], edx
shr eax, 8
cmp al, 3
jae 0x74a767a1
cmp al, 2
je 0x74a767d5
lea eax, [edi - 4]
cmp eax, dword [esi + 0x5c]
jb 0x74a767ae
mov ecx, dword [esi + 0x6c]
lea eax, [ebx*2 + 4]
sub ecx, eax
mov eax, 0xdb40
cmp word [ecx], ax
jne 0x74a767ae
movzx eax, word [edi - 2]
mov ecx, 0xdd00
cmp ax, cx
jb 0x74a767ae
mov ecx, 0xddef
cmp ax, cx
ja 0x74a767ae
push 2
pop eax
jmp 0x74a767b1
jne 0x74a7683f
mov al, byte [ebp - 0x18]
cmp al, 1
ja 0x74a767e1
xor eax, eax
inc eax
mov edi, dword [esi + 0x6c]
add ebx, eax
mov ecx, edi
mov edx, 0xffff
lea eax, [ebx + ebx]
sub ecx, eax
cmp ecx, dword [esi + 0x5c]
jae 0x74a76730
mov edi, 0xffff
jmp 0x74a76877
mov edi, 0xffff
mov edx, edi
jmp 0x74a76877
mov cl, byte [ebp - 0x15]
mov edi, 0xffff
mov bl, byte [ebp - 1]
and cl, 0x3f
movzx edx, al
mov eax, 0x2200
or dx, ax
mov al, cl
and al, 0xc6
mov word [ebp - 0x18], dx
mov byte [esi + 0x7c], al
mov al, cl
and al, 0xe4
mov byte [esi + 0x7e], al
test bl, bl
jne 0x74a76823
and cl, 0xc5
mov word [esi + 0x78], dx
mov edx, dword [ebp - 0x18]
mov byte [esi + 0x7d], 4
mov byte [esi + 0x7f], cl
jmp 0x74a7687f
mov edx, dword [ebp - 0x18]
mov eax, edx
and eax, 0xff87
mov byte [esi + 0x7d], 5
mov word [esi + 0x78], ax
mov al, byte [ebp - 2]
and al, 0xc5
mov byte [esi + 0x7f], al
jmp 0x74a7687a
mov ax, word [ebp - 0x18]
mov word [esi + 0x78], ax
jmp 0x74a767cb
movzx eax, al
mov edi, 0x2200
or ax, di
mov byte [ebx + 0x21], 3
mov word [ebx + 0x1c], ax
mov al, cl
and al, 0xc6
mov byte [ebx + 0x20], al
mov al, cl
and al, 0xe4
and cl, 0xc5
mov byte [ebx + 0x22], al
mov byte [ebx + 0x23], cl
jmp 0x74a767cb
mov edi, edx
mov bl, byte [ebp - 1]
cmp bl, 1
ja 0x74a76894
cmp edx, edi
jne 0x74a76894
lea edx, [esi + 0x5c]
xor ecx, ecx
mov word [edx + 0x1c], di
mov dword [edx + 0x18], edi
mov dword [edx + 0x20], ecx
jmp 0x74a768a5
lea edx, [esi + 0x5c]
xor ecx, ecx
mov ax, word [edx + 0x1c]
mov word [edx + 0x18], ax
mov byte [edx + 0x1b], 2
mov eax, dword [ebp - 0x1c]
cmp al, 6
jne 0x74a768bf
cmp dword [esi + 8], ecx
jne 0x74a7699e
cmp dword [esi + 0x50], 0xffffffff
je 0x74a744cd
push 3
pop ebx
cmp al, bl
jne 0x74a769a1
mov eax, dword [esi + 0x58]
cmp eax, dword [esi + 0x7c]
je 0x74a76911
cmp dword [esi + 0x24], ecx
jne 0x74a770eb
mov eax, dword [esi + 0x80]
test al, 0x10
je 0x74a769d9
mov cl, byte [esi + 0x58]
mov dl, byte [esi + 0x7c]
cmp cl, dl
je 0x74a769d9
sbb eax, eax
and eax, 0xfffffffe
add eax, ebx
mov dword [esi + 0x84], eax
and dword [esi + 0x80], 0xffffff0f
lea edx, [esi + 0x5c]
cmp dword [esi + 0x50], 0xffffffff
je 0x74a744d2
cmp dword [esi + 0x74], 0xffffffff
je 0x74a744d2
mov ax, word [esi + 0x54]
cmp ax, word [esi + 0x78]
jne 0x74a770f7
mov edx, dword [ebp - 0x1c]
cmp dl, 4
jne 0x74a7694c
cmp byte [ebp - 8], dl
jne 0x74a76953
mov eax, dword [esi + 0x58]
cmp eax, dword [esi + 0x7c]
jne 0x74a770ef
lea eax, [edx + 0x57]
cmp al, 6
jbe 0x74a76962
xor eax, eax
cmp dword [esi + 0x30], eax
je 0x74a76970
add dl, 0x40
cmp dl, 0x2f
ja 0x74a76970
mov al, byte [esi + 0x52]
mov cl, byte [esi + 0x76]
cmp al, cl
jne 0x74a770ff
test byte [esi + 0x80], 3
je 0x74a76cde
mov ecx, dword [esi + 0x1c]
test ecx, ecx
je 0x74a76a91
mov al, byte [esi + 0x51]
cmp al, 0x14
jbe 0x74a76997
cmp al, 0x29
jne 0x74a76a91
mov dl, 2
jmp 0x74a76a94
push 3
pop ebx
cmp dword [esi + 0x7c], ecx
je 0x74a76911
cmp dword [esi + 0x24], ecx
jne 0x74a770eb
test byte [esi + 0x80], 0xf0
je 0x74a76911
mov dword [esi + 0x84], 1
and dword [esi + 0x80], 0xffffff0f
jmp 0x74a76911
test al, 0x20
je 0x74a76a03
mov cl, byte [esi + 0x59]
mov dl, byte [esi + 0x7d]
cmp cl, dl
je 0x74a76a03
sbb eax, eax
and eax, 0xfffffffe
add eax, ebx
mov dword [esi + 0x84], eax
and dword [esi + 0x80], 0xffffff1f
jmp 0x74a7690e
test al, 0x40
je 0x74a76a2d
mov cl, byte [esi + 0x5a]
mov dl, byte [esi + 0x7e]
cmp cl, dl
je 0x74a76a2d
sbb eax, eax
and eax, 0xfffffffe
add eax, ebx
mov dword [esi + 0x84], eax
and dword [esi + 0x80], 0xffffff3f
jmp 0x74a7690e
test al, al
jns 0x74a7690e
mov al, byte [esi + 0x5b]
lea edx, [esi + 0x5c]
mov cl, byte [esi + 0x7f]
cmp al, cl
je 0x74a76911
sbb eax, eax
and eax, 0xfffffffe
add eax, ebx
mov dword [esi + 0x84], eax
and dword [esi + 0x80], 0xffffff7f
jmp 0x74a76911
test byte [esi + 0x80], 3
je 0x74a7667a
cmp dword [esi + 0x24], ecx
jne 0x74a76e6a
mov dword [esi + 0x84], 1
and dword [esi + 0x80], 0xffffff0a
jmp 0x74a7667a
mov dl, byte [esi + 0x52]
mov byte [ebp - 1], dl
test ecx, ecx
je 0x74a76aaa
mov al, byte [esi + 0x75]
cmp al, 0x14
jbe 0x74a76aa6
cmp al, 0x29
jne 0x74a76aaa
mov bh, 2
jmp 0x74a76aad
mov bh, byte [esi + 0x76]
cmp dl, bh
je 0x74a76cde
xor eax, eax
lea ecx, [esi + 0x38]
mov bl, al
mov edx, dword [ecx + 0x14]
test edx, edx
jne 0x74a76ae2
cmp dword [ecx + 8], eax
je 0x74a76ad6
mov eax, dword [ecx + 0x10]
xor edi, edi
cmp word [eax], di
je 0x74a76bb0
mov eax, dword [ecx + 0x10]
cmp eax, dword [ecx + 4]
jae 0x74a76bb0
mov edi, dword [esi + 4]
test edi, edi
je 0x74a76b3b
test edx, edx
jle 0x74a76af4
movzx ecx, word [ecx + edx*2 + 0xa]
jmp 0x74a76b0c
mov eax, dword [ecx + 0x10]
add eax, 2
cmp eax, dword [ecx + 4]
jae 0x74a76b08
mov eax, dword [ecx + 0x10]
movzx ecx, word [eax + 2]
jmp 0x74a76b0c
xor eax, eax
mov ecx, eax
test edx, edx
jle 0x74a76b17
movzx eax, word [esi + edx*2 + 0x42]
jmp 0x74a76b2d
mov eax, dword [esi + 0x48]
add eax, 2
cmp eax, dword [esi + 0x3c]
jae 0x74a76b2b
mov eax, dword [esi + 0x48]
movzx eax, word [eax + 2]
jmp 0x74a76b2d
xor eax, eax
movzx ecx, cx
shr ecx, 8
movzx eax, al
add eax, dword [edi + ecx*4]
jmp 0x74a76b5f
test edx, edx
jle 0x74a76b46
movzx eax, word [ecx + edx*2 + 0xa]
jmp 0x74a76b5c
mov eax, dword [ecx + 0x10]
add eax, 2
cmp eax, dword [ecx + 4]
jae 0x74a76b5a
mov eax, dword [ecx + 0x10]
movzx eax, word [eax + 2]
jmp 0x74a76b5c
xor eax, eax
movzx eax, ax
mov ecx, dword [0x74ad0bc0]
mov eax, dword [ecx + eax*4]
mov ecx, eax
shr ecx, 8
cmp cl, 1
jne 0x74a76bb0
test edx, edx
jle 0x74a76b83
lea ecx, [edx - 1]
mov dword [esi + 0x4c], ecx
mov cx, word [esi + ecx*2 + 0x44]
jmp 0x74a76b92
add dword [esi + 0x48], 2
mov ecx, dword [esi + 0x48]
cmp ecx, dword [esi + 0x3c]
jae 0x74a76b9b
mov cx, word [ecx]
mov word [esi + 0x56], cx
lea ecx, [esi + 0x38]
jmp 0x74a76ba4
xor edx, edx
lea ecx, [esi + 0x38]
mov word [ecx + 0x1e], dx
shr eax, 0x10
add bl, al
xor eax, eax
jmp 0x74a76abc
add byte [ebp - 1], bl
lea ecx, [esi + 0x5c]
xor eax, eax
mov bl, al
mov edx, dword [ecx + 0x14]
test edx, edx
jne 0x74a76be0
cmp dword [ecx + 8], eax
je 0x74a76bd4
mov eax, dword [ecx + 0x10]
xor edi, edi
cmp word [eax], di
je 0x74a76cae
mov eax, dword [ecx + 0x10]
cmp eax, dword [ecx + 4]
jae 0x74a76cae
mov edi, dword [esi + 4]
test edi, edi
je 0x74a76c39
test edx, edx
jle 0x74a76bf2
movzx ecx, word [ecx + edx*2 + 0xa]
jmp 0x74a76c0a
mov eax, dword [ecx + 0x10]
add eax, 2
cmp eax, dword [ecx + 4]
jae 0x74a76c06
mov eax, dword [ecx + 0x10]
movzx ecx, word [eax + 2]
jmp 0x74a76c0a
xor eax, eax
mov ecx, eax
test edx, edx
jle 0x74a76c15
movzx eax, word [esi + edx*2 + 0x66]
jmp 0x74a76c2b
mov eax, dword [esi + 0x6c]
add eax, 2
cmp eax, dword [esi + 0x60]
jae 0x74a76c29
mov eax, dword [esi + 0x6c]
movzx eax, word [eax + 2]
jmp 0x74a76c2b
xor eax, eax
movzx ecx, cx
shr ecx, 8
movzx eax, al
add eax, dword [edi + ecx*4]
jmp 0x74a76c5d
test edx, edx
jle 0x74a76c44
movzx eax, word [ecx + edx*2 + 0xa]
jmp 0x74a76c5a
mov eax, dword [ecx + 0x10]
add eax, 2
cmp eax, dword [ecx + 4]
jae 0x74a76c58
mov eax, dword [ecx + 0x10]
movzx eax, word [eax + 2]
jmp 0x74a76c5a
xor eax, eax
movzx eax, ax
mov ecx, dword [0x74ad0bc0]
mov eax, dword [ecx + eax*4]
mov ecx, eax
shr ecx, 8
cmp cl, 1
jne 0x74a76cae
test edx, edx
jle 0x74a76c81
lea ecx, [edx - 1]
mov dword [esi + 0x70], ecx
mov cx, word [esi + ecx*2 + 0x68]
jmp 0x74a76c90
add dword [esi + 0x6c], 2
mov ecx, dword [esi + 0x6c]
cmp ecx, dword [esi + 0x60]
jae 0x74a76c99
mov cx, word [ecx]
mov word [esi + 0x7a], cx
lea ecx, [esi + 0x5c]
jmp 0x74a76ca2
xor edx, edx
lea ecx, [esi + 0x5c]
mov word [ecx + 0x1e], dx
shr eax, 0x10
add bl, al
xor eax, eax
jmp 0x74a76bba
mov cl, byte [ebp - 1]
add bh, bl
xor edi, edi
cmp cl, bh
je 0x74a76ce0
cmp dword [esi + 0x24], edi
jne 0x74a76e6a
cmp cl, bh
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
mov dword [esi + 0x84], eax
and dword [esi + 0x80], 0xffffff0a
jmp 0x74a76ce0
xor edi, edi
test byte [esi + 0x80], 4
je 0x74a76d44
mov edx, dword [esi + 0x18]
test edx, edx
je 0x74a76cff
mov al, byte [esi + 0x51]
cmp al, 0x14
jbe 0x74a76cfb
cmp al, 0x29
jne 0x74a76cff
mov cl, 2
jmp 0x74a76d05
mov cl, byte [esi + 0x53]
and cl, 0x3f
test edx, edx
je 0x74a76d18
mov al, byte [esi + 0x75]
cmp al, 0x14
jbe 0x74a76d14
cmp al, 0x29
jne 0x74a76d18
mov al, 2
jmp 0x74a76d1d
mov al, byte [esi + 0x77]
and al, 0x3f
cmp cl, al
je 0x74a76d44
cmp dword [esi + 0x24], edi
jne 0x74a76e6a
cmp cl, al
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
mov dword [esi + 0x84], eax
and dword [esi + 0x80], 0xffffff0b
lea ebx, [esi + 0x38]
lea edx, [esi + 0x5c]
mov eax, dword [ebx + 0x14]
test eax, eax
jle 0x74a76d5c
dec eax
mov dword [ebx + 0x14], eax
mov ax, word [ebx + eax*2 + 0xc]
jmp 0x74a76d6f
add dword [ebx + 0x10], 2
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x74a76d6d
mov ax, word [eax]
jmp 0x74a76d6f
xor eax, eax
mov word [ebx + 0x1e], ax
mov eax, dword [edx + 0x14]
test eax, eax
jle 0x74a76d85
dec eax
mov dword [edx + 0x14], eax
mov ax, word [edx + eax*2 + 0xc]
jmp 0x74a76d98
add dword [edx + 0x10], 2
mov eax, dword [edx + 0x10]
cmp eax, dword [edx + 4]
jae 0x74a76d96
mov ax, word [eax]
jmp 0x74a76d98
xor eax, eax
mov word [edx + 0x1e], ax
or dword [esi + 0x50], 0xffffffff
or dword [esi + 0x74], 0xffffffff
jmp 0x74a744d5
cmp dword [ebx + 0x14], ecx
jne 0x74a76f25
cmp dword [ebx + 8], ecx
je 0x74a76dbf
mov eax, dword [ebx + 0x10]
cmp word [eax], cx
je 0x74a76dcb
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jb 0x74a76f25
cmp dword [edx + 0x14], ecx
jne 0x74a76ded
cmp dword [edx + 8], ecx
je 0x74a76de1
mov eax, dword [edx + 0x10]
cmp word [eax], cx
je 0x74a74344
mov eax, dword [edx + 0x10]
cmp eax, dword [edx + 4]
jae 0x74a74344
mov edi, dword [edx + 0x14]
test edi, edi
jne 0x74a76e11
cmp dword [edx + 8], ecx
je 0x74a76e05
mov eax, dword [edx + 0x10]
cmp word [eax], cx
je 0x74a74344
mov eax, dword [edx + 0x10]
cmp eax, dword [edx + 4]
jae 0x74a74344
mov eax, dword [esi + 4]
movzx ebx, word [edx + 0x1e]
test eax, eax
je 0x74a76e39
mov eax, ebx
mov ecx, ebx
movzx edx, al
mov eax, dword [esi + 4]
shr ecx, 8
add edx, dword [eax + ecx*4]
mov eax, dword [0x74ad0bc0]
mov eax, dword [eax + edx*4]
lea edx, [esi + 0x5c]
jmp 0x74a76e43
mov eax, dword [0x74ad0bc0]
mov ecx, ebx
mov eax, dword [eax + ecx*4]
shr eax, 8
test al, al
je 0x74a76e89
cmp al, 1
je 0x74a76e72
cmp al, 6
je 0x74a76e5f
jbe 0x74a76e6a
cmp al, 0xc
ja 0x74a76e6a
xor ecx, ecx
cmp dword [esi + 0x14], ecx
jmp 0x74a76e64
xor ecx, ecx
cmp dword [esi + 0xc], ecx
jne 0x74a76ef7
xor eax, eax
inc eax
jmp 0x74a77107
xor ecx, ecx
cmp dword [esi + 0x10], ecx
jne 0x74a76ef7
cmp dword [esi + 0x1c], ecx
jne 0x74a76ef7
test byte [esi + 0x80], 3
jne 0x74a76e6a
jmp 0x74a76ef7
xor ecx, ecx
cmp dword [esi + 0x28], ecx
je 0x74a76e95
test bx, bx
je 0x74a76e6a
mov eax, dword [edx + 0x10]
mov ebx, 0xdb40
cmp word [eax], bx
jne 0x74a76ef7
test edi, edi
jle 0x74a76ead
movzx eax, word [edx + edi*2 + 0xa]
jmp 0x74a76ec0
add eax, 2
cmp eax, dword [edx + 4]
jae 0x74a76ebe
mov eax, dword [edx + 0x10]
movzx eax, word [eax + 2]
jmp 0x74a76ec0
mov eax, ecx
add eax, 0x2300
mov ebx, 0xef
cmp ax, bx
ja 0x74a76ef7
test edi, edi
jle 0x74a76ee0
lea eax, [edi - 1]
mov dword [edx + 0x14], eax
mov ax, word [edx + eax*2 + 0xc]
jmp 0x74a76ef3
add dword [edx + 0x10], 2
mov eax, dword [edx + 0x10]
cmp eax, dword [edx + 4]
jae 0x74a76ef1
mov ax, word [eax]
jmp 0x74a76ef3
xor eax, eax
mov word [edx + 0x1e], ax
mov eax, dword [edx + 0x14]
test eax, eax
jle 0x74a76f09
dec eax
mov dword [edx + 0x14], eax
mov ax, word [edx + eax*2 + 0xc]
jmp 0x74a76f1c
add dword [edx + 0x10], 2
mov eax, dword [edx + 0x10]
cmp eax, dword [edx + 4]
jae 0x74a76f1a
mov ax, word [eax]
jmp 0x74a76f1c
xor eax, eax
mov word [edx + 0x1e], ax
jmp 0x74a76ded
cmp dword [esi + 0x24], ecx
je 0x74a76f8e
mov eax, dword [esi + 0x48]
movzx ecx, word [esi + 0x56]
cmp cx, word [eax]
jne 0x74a76f86
xor eax, eax
cmp dword [esi + 0x10], eax
jne 0x74a74342
cmp dword [esi + 0x1c], eax
jne 0x74a74342
test byte [esi + 0x80], 3
je 0x74a74342
mov edi, dword [esi + 4]
test edi, edi
je 0x74a76f73
mov eax, ecx
shr ecx, 8
movzx edx, al
mov eax, dword [0x74ad0bc0]
add edx, dword [edi + ecx*4]
mov eax, dword [eax + edx*4]
jmp 0x74a76f7b
mov eax, dword [0x74ad0bc0]
mov eax, dword [eax + ecx*4]
shr eax, 8
cmp al, 1
jne 0x74a74342
push 3
pop eax
jmp 0x74a77107
mov edi, dword [ebx + 0x14]
test edi, edi
jne 0x74a76fb2
cmp dword [ebx + 8], ecx
je 0x74a76fa6
mov eax, dword [ebx + 0x10]
cmp word [eax], cx
je 0x74a74344
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x74a74344
mov eax, dword [esi + 4]
movzx ebx, word [ebx + 0x1e]
test eax, eax
je 0x74a76fd7
mov eax, ebx
mov ecx, ebx
movzx edx, al
mov eax, dword [esi + 4]
shr ecx, 8
add edx, dword [eax + ecx*4]
mov eax, dword [0x74ad0bc0]
mov eax, dword [eax + edx*4]
jmp 0x74a76fe1
mov eax, dword [0x74ad0bc0]
mov ecx, ebx
mov eax, dword [eax + ecx*4]
shr eax, 8
test al, al
je 0x74a7703b
cmp al, 1
je 0x74a77020
cmp al, 6
je 0x74a77019
jbe 0x74a76f86
cmp al, 0xc
ja 0x74a76f86
xor ecx, ecx
cmp dword [esi + 0x14], ecx
je 0x74a76f86
lea ebx, [esi + 0x38]
mov eax, dword [ebx + 0x14]
test eax, eax
jle 0x74a770b9
dec eax
mov dword [ebx + 0x14], eax
mov ax, word [ebx + eax*2 + 0xc]
jmp 0x74a770cc
xor ecx, ecx
cmp dword [esi + 0xc], ecx
jmp 0x74a76ffb
xor ecx, ecx
cmp dword [esi + 0x10], ecx
jne 0x74a76ffd
cmp dword [esi + 0x1c], ecx
jne 0x74a76ffd
test byte [esi + 0x80], 3
jne 0x74a76f86
jmp 0x74a76ffd
xor ecx, ecx
cmp dword [esi + 0x28], ecx
je 0x74a7704b
test bx, bx
je 0x74a76f86
lea ebx, [esi + 0x38]
mov edx, 0xdb40
mov eax, dword [ebx + 0x10]
cmp word [eax], dx
jne 0x74a77000
test edi, edi
jle 0x74a77066
movzx eax, word [ebx + edi*2 + 0xa]
jmp 0x74a77079
add eax, 2
cmp eax, dword [ebx + 4]
jae 0x74a77077
mov eax, dword [ebx + 0x10]
movzx eax, word [eax + 2]
jmp 0x74a77079
mov eax, ecx
add eax, 0x2300
mov edx, 0xef
cmp ax, dx
ja 0x74a77000
test edi, edi
jle 0x74a7709d
lea eax, [edi - 1]
mov dword [ebx + 0x14], eax
mov ax, word [ebx + eax*2 + 0xc]
jmp 0x74a770ac
add dword [ebx + 0x10], 2
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x74a770b5
mov ax, word [eax]
mov word [ebx + 0x1e], ax
jmp 0x74a77000
xor eax, eax
jmp 0x74a770ac
add dword [ebx + 0x10], 2
mov eax, dword [ebx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x74a770ca
mov ax, word [eax]
jmp 0x74a770cc
xor eax, eax
mov word [ebx + 0x1e], ax
jmp 0x74a76f8e
mov eax, ecx
jmp 0x74a77107
xor eax, eax
cmp word [esi + 0x56], cx
setne al
lea eax, [eax*2 + 1]
jmp 0x74a77107
mov eax, ebx
jmp 0x74a77107
mov eax, dword [esi + 0x58]
cmp eax, dword [esi + 0x7c]
jmp 0x74a770ff
mov ax, word [esi + 0x54]
cmp ax, word [esi + 0x78]
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret