44bed8:	8b 70 0c             	mov    0xc(%eax),%esi
44bedb:	85 f6                	test   %esi,%esi
44bedd:	74 0c                	je     0x44beeb
44bedf:	8b c6                	mov    %esi,%eax
44bee1:	e8 a6 e2 ff ff       	call   0x44a18c
44bee6:	89 45 f8             	mov    %eax,-0x8(%ebp)
44bee9:	eb 17                	jmp    0x44bf02
44beeb:	8b 45 fc             	mov    -0x4(%ebp),%eax
44beee:	e8 99 e2 ff ff       	call   0x44a18c
44bef3:	8b f0                	mov    %eax,%esi
44bef5:	8b 45 fc             	mov    -0x4(%ebp),%eax
44bef8:	e8 f3 dd ff ff       	call   0x449cf0
44befd:	03 f0                	add    %eax,%esi
44beff:	89 75 f8             	mov    %esi,-0x8(%ebp)
44bf02:	55                   	push   %ebp
44bf03:	8b 43 64             	mov    0x64(%ebx),%eax
44bf06:	8b 40 08             	mov    0x8(%eax),%eax
44bf09:	e8 2a ff ff ff       	call   0x44be38
44bf0e:	59                   	pop    %ecx
44bf0f:	8b 45 f8             	mov    -0x8(%ebp),%eax
44bf12:	5e                   	pop    %esi
44bf13:	5b                   	pop    %ebx
44bf14:	59                   	pop    %ecx
44bf15:	59                   	pop    %ecx
44bf16:	5d                   	pop    %ebp
44bf17:	c3                   	ret
44bf18:	55                   	push   %ebp
44bf19:	8b ec                	mov    %esp,%ebp
44bf1b:	83 c4 e0             	add    $0xffffffe0,%esp
44bf1e:	53                   	push   %ebx
44bf1f:	56                   	push   %esi
44bf20:	57                   	push   %edi
44bf21:	8b f2                	mov    %edx,%esi
44bf23:	8b f8                	mov    %eax,%edi
44bf25:	b3 04                	mov    $0x4,%bl
44bf27:	85 f6                	test   %esi,%esi
44bf29:	74 60                	je     0x44bf8b
44bf2b:	8d 55 f0             	lea    -0x10(%ebp),%edx
44bf2e:	8b c7                	mov    %edi,%eax
44bf30:	e8 73 54 ff ff       	call   0x4413a8
44bf35:	8d 55 e0             	lea    -0x20(%ebp),%edx
44bf38:	8b c6                	mov    %esi,%eax
44bf3a:	e8 69 54 ff ff       	call   0x4413a8
44bf3f:	8b 45 f4             	mov    -0xc(%ebp),%eax
44bf42:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
44bf45:	7f 14                	jg     0x44bf5b
44bf47:	8b 45 fc             	mov    -0x4(%ebp),%eax
44bf4a:	3b 45 ec             	cmp    -0x14(%ebp),%eax
44bf4d:	7d 0c                	jge    0x44bf5b
44bf4f:	8b 45 f8             	mov    -0x8(%ebp),%eax
44bf52:	3b 45 e8             	cmp    -0x18(%ebp),%eax
44bf55:	7c 04                	jl     0x44bf5b
44bf57:	b3 01                	mov    $0x1,%bl
44bf59:	eb 30                	jmp    0x44bf8b
44bf5b:	8b 45 f0             	mov    -0x10(%ebp),%eax
44bf5e:	3b 45 e0             	cmp    -0x20(%ebp),%eax
44bf61:	7f 14                	jg     0x44bf77
44bf63:	8b 45 f8             	mov    -0x8(%ebp),%eax
44bf66:	3b 45 e8             	cmp    -0x18(%ebp),%eax
44bf69:	7d 0c                	jge    0x44bf77
44bf6b:	8b 45 fc             	mov    -0x4(%ebp),%eax
44bf6e:	3b 45 ec             	cmp    -0x14(%ebp),%eax
44bf71:	7c 04                	jl     0x44bf77
44bf73:	b3 03                	mov    $0x3,%bl
44bf75:	eb 14                	jmp    0x44bf8b
44bf77:	8b 45 e4             	mov    -0x1c(%ebp),%eax
44bf7a:	03 45 ec             	add    -0x14(%ebp),%eax
44bf7d:	d1 f8                	sar    $1,%eax
44bf7f:	79 03                	jns    0x44bf84
44bf81:	83 d0 00             	adc    $0x0,%eax
44bf84:	3b 45 f4             	cmp    -0xc(%ebp),%eax
44bf87:	7f 02                	jg     0x44bf8b
44bf89:	b3 02                	mov    $0x2,%bl
44bf8b:	8b c3                	mov    %ebx,%eax
44bf8d:	5f                   	pop    %edi
44bf8e:	5e                   	pop    %esi
44bf8f:	5b                   	pop    %ebx
44bf90:	8b e5                	mov    %ebp,%esp
44bf92:	5d                   	pop    %ebp
44bf93:	c3                   	ret
44bf94:	55                   	push   %ebp
44bf95:	8b ec                	mov    %esp,%ebp
44bf97:	53                   	push   %ebx
44bf98:	56                   	push   %esi
44bf99:	8b d8                	mov    %eax,%ebx
44bf9b:	8b c3                	mov    %ebx,%eax
44bf9d:	e8 52 dc ff ff       	call   0x449bf4
44bfa2:	84 c0                	test   %al,%al
44bfa4:	74 11                	je     0x44bfb7
44bfa6:	8b c3                	mov    %ebx,%eax
44bfa8:	e8 fb dc ff ff       	call   0x449ca8
44bfad:	8b 53 20             	mov    0x20(%ebx),%edx
44bfb0:	2b d0                	sub    %eax,%edx
44bfb2:	89 53 24             	mov    %edx,0x24(%ebx)
44bfb5:	eb 05                	jmp    0x44bfbc
44bfb7:	33 c0                	xor    %eax,%eax
44bfb9:	89 43 24             	mov    %eax,0x24(%ebx)
44bfbc:	8b 73 14             	mov    0x14(%ebx),%esi
44bfbf:	85 f6                	test   %esi,%esi
44bfc1:	74 18                	je     0x44bfdb
44bfc3:	8b c6                	mov    %esi,%eax
44bfc5:	e8 aa dc ff ff       	call   0x449c74
44bfca:	84 c0                	test   %al,%al
44bfcc:	75 0d                	jne    0x44bfdb
44bfce:	8b 45 08             	mov    0x8(%ebp),%eax
44bfd1:	50                   	push   %eax
44bfd2:	8b 43 14             	mov    0x14(%ebx),%eax
44bfd5:	e8 ba ff ff ff       	call   0x44bf94
44bfda:	59                   	pop    %ecx
44bfdb:	8b c3                	mov    %ebx,%eax
44bfdd:	e8 92 e2 ff ff       	call   0x44a274
44bfe2:	85 c0                	test   %eax,%eax
44bfe4:	74 0f                	je     0x44bff5
44bfe6:	8b c3                	mov    %ebx,%eax
44bfe8:	e8 87 e2 ff ff       	call   0x44a274
44bfed:	8b 53 20             	mov    0x20(%ebx),%edx
44bff0:	e8 d3 e1 ff ff       	call   0x44a1c8
44bff5:	8b 45 08             	mov    0x8(%ebp),%eax
44bff8:	8b 40 fc             	mov    -0x4(%eax),%eax
44bffb:	50                   	push   %eax
44bffc:	68 3c bd 44 00       	push   $0x44bd3c
44c001:	8b 45 08             	mov    0x8(%ebp),%eax
44c004:	8b 40 fc             	mov    -0x4(%eax),%eax
44c007:	8b 53 14             	mov    0x14(%ebx),%edx
44c00a:	e8 35 e5 ff ff       	call   0x44a544
44c00f:	5e                   	pop    %esi
44c010:	5b                   	pop    %ebx
44c011:	5d                   	pop    %ebp
44c012:	c3                   	ret
44c013:	90                   	nop
44c014:	55                   	push   %ebp
44c015:	8b ec                	mov    %esp,%ebp
44c017:	51                   	push   %ecx
44c018:	53                   	push   %ebx
44c019:	56                   	push   %esi
44c01a:	57                   	push   %edi
44c01b:	8b f8                	mov    %eax,%edi
44c01d:	8b 77 14             	mov    0x14(%edi),%esi
44c020:	85 f6                	test   %esi,%esi
44c022:	74 22                	je     0x44c046
44c024:	8b 45 08             	mov    0x8(%ebp),%eax
44c027:	8b 40 fc             	mov    -0x4(%eax),%eax
44c02a:	3b 70 64             	cmp    0x64(%eax),%esi
44c02d:	74 17                	je     0x44c046
44c02f:	8b c6                	mov    %esi,%eax
44c031:	e8 1a dc ff ff       	call   0x449c50
44c036:	48                   	dec    %eax
44c037:	75 0d                	jne    0x44c046
44c039:	8b 45 08             	mov    0x8(%ebp),%eax
44c03c:	50                   	push   %eax
44c03d:	8b 47 14             	mov    0x14(%edi),%eax
44c040:	e8 cf ff ff ff       	call   0x44c014
44c045:	59                   	pop    %ecx
44c046:	8b 47 14             	mov    0x14(%edi),%eax
44c049:	e8 02 dc ff ff       	call   0x449c50
44c04e:	48                   	dec    %eax
44c04f:	74 06                	je     0x44c057
44c051:	83 7f 24 00          	cmpl   $0x0,0x24(%edi)
44c055:	75 07                	jne    0x44c05e
44c057:	b3 01                	mov    $0x1,%bl
44c059:	e9 c2 00 00 00       	jmp    0x44c120
44c05e:	33 db                	xor    %ebx,%ebx
44c060:	8b 45 08             	mov    0x8(%ebp),%eax
44c063:	8b 40 fc             	mov    -0x4(%eax),%eax
44c066:	8b 40 18             	mov    0x18(%eax),%eax
44c069:	8b 55 08             	mov    0x8(%ebp),%edx
44c06c:	8b 52 fc             	mov    -0x4(%edx),%edx
44c06f:	03 42 0c             	add    0xc(%edx),%eax
44c072:	83 c0 0e             	add    $0xe,%eax
44c075:	89 45 fc             	mov    %eax,-0x4(%ebp)
44c078:	8b c7                	mov    %edi,%eax
44c07a:	e8 f5 e1 ff ff       	call   0x44a274
44c07f:	85 c0                	test   %eax,%eax
44c081:	74 5b                	je     0x44c0de
44c083:	8b c7                	mov    %edi,%eax
44c085:	e8 ea e1 ff ff       	call   0x44a274
44c08a:	8b f0                	mov    %eax,%esi
44c08c:	8b c6                	mov    %esi,%eax
44c08e:	e8 f9 e0 ff ff       	call   0x44a18c
44c093:	50                   	push   %eax
44c094:	8b c6                	mov    %esi,%eax
44c096:	e8 0d dc ff ff       	call   0x449ca8
44c09b:	5a                   	pop    %edx
44c09c:	2b d0                	sub    %eax,%edx
44c09e:	2b 57 24             	sub    0x24(%edi),%edx
44c0a1:	3b 55 fc             	cmp    -0x4(%ebp),%edx
44c0a4:	7d 04                	jge    0x44c0aa
44c0a6:	b3 01                	mov    $0x1,%bl
44c0a8:	eb 76                	jmp    0x44c120
44c0aa:	8b c6                	mov    %esi,%eax
44c0ac:	e8 db e0 ff ff       	call   0x44a18c
44c0b1:	8b d0                	mov    %eax,%edx
44c0b3:	2b 57 24             	sub    0x24(%edi),%edx
44c0b6:	8b c6                	mov    %esi,%eax
44c0b8:	e8 f7 e0 ff ff       	call   0x44a1b4
44c0bd:	8b c6                	mov    %esi,%eax
44c0bf:	e8 c8 e0 ff ff       	call   0x44a18c
44c0c4:	8b d0                	mov    %eax,%edx
44c0c6:	03 57 24             	add    0x24(%edi),%edx
44c0c9:	8b c7                	mov    %edi,%eax
44c0cb:	e8 e4 e0 ff ff       	call   0x44a1b4
44c0d0:	8b c7                	mov    %edi,%eax
44c0d2:	e8 9d e1 ff ff       	call   0x44a274
44c0d7:	e8 2c e1 ff ff       	call   0x44a208
44c0dc:	eb 42                	jmp    0x44c120
44c0de:	8b c7                	mov    %edi,%eax
44c0e0:	e8 83 e1 ff ff       	call   0x44a268
44c0e5:	85 c0                	test   %eax,%eax
44c0e7:	74 37                	je     0x44c120
44c0e9:	8b c7                	mov    %edi,%eax
44c0eb:	e8 78 e1 ff ff       	call   0x44a268
44c0f0:	e8 97 e0 ff ff       	call   0x44a18c
44c0f5:	2b 47 24             	sub    0x24(%edi),%eax
44c0f8:	3b 45 fc             	cmp    -0x4(%ebp),%eax
44c0fb:	7d 04                	jge    0x44c101
44c0fd:	b3 01                	mov    $0x1,%bl
44c0ff:	eb 1f                	jmp    0x44c120
44c101:	8b c7                	mov    %edi,%eax
44c103:	e8 a0 db ff ff       	call   0x449ca8
44c108:	8b d0                	mov    %eax,%edx
44c10a:	03 57 24             	add    0x24(%edi),%edx
44c10d:	8b c7                	mov    %edi,%eax
44c10f:	e8 a0 e0 ff ff       	call   0x44a1b4
44c114:	8b c7                	mov    %edi,%eax
44c116:	e8 4d e1 ff ff       	call   0x44a268
44c11b:	e8 e8 e0 ff ff       	call   0x44a208
44c120:	84 db                	test   %bl,%bl
44c122:	74 08                	je     0x44c12c
44c124:	8b 47 14             	mov    0x14(%edi),%eax
44c127:	e8 48 dd ff ff       	call   0x449e74
44c12c:	8b 45 08             	mov    0x8(%ebp),%eax
44c12f:	8b 40 fc             	mov    -0x4(%eax),%eax
44c132:	50                   	push   %eax
44c133:	68 3c bd 44 00       	push   $0x44bd3c
44c138:	8b 45 08             	mov    0x8(%ebp),%eax
44c13b:	8b 40 fc             	mov    -0x4(%eax),%eax
44c13e:	8b 57 14             	mov    0x14(%edi),%edx
44c141:	e8 fe e3 ff ff       	call   0x44a544
44c146:	5f                   	pop    %edi
44c147:	5e                   	pop    %esi
44c148:	5b                   	pop    %ebx
44c149:	59                   	pop    %ecx
44c14a:	5d                   	pop    %ebp
44c14b:	c3                   	ret
44c14c:	55                   	push   %ebp
44c14d:	8b ec                	mov    %esp,%ebp
44c14f:	83 c4 f0             	add    $0xfffffff0,%esp
44c152:	53                   	push   %ebx
44c153:	56                   	push   %esi
44c154:	8b d9                	mov    %ecx,%ebx
44c156:	8b f2                	mov    %edx,%esi
44c158:	89 45 fc             	mov    %eax,-0x4(%ebp)
44c15b:	8b d6                	mov    %esi,%edx
44c15d:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c160:	e8 77 e3 ff ff       	call   0x44a4dc
44c165:	85 c0                	test   %eax,%eax
44c167:	74 21                	je     0x44c18a
44c169:	84 db                	test   %bl,%bl
44c16b:	74 09                	je     0x44c176
44c16d:	55                   	push   %ebp
44c16e:	e8 a1 fe ff ff       	call   0x44c014
44c173:	59                   	pop    %ecx
44c174:	eb 07                	jmp    0x44c17d
44c176:	55                   	push   %ebp
44c177:	e8 18 fe ff ff       	call   0x44bf94
44c17c:	59                   	pop    %ecx
44c17d:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c180:	8b 40 14             	mov    0x14(%eax),%eax
44c183:	8b 10                	mov    (%eax),%edx
44c185:	ff 52 7c             	call   *0x7c(%edx)
44c188:	eb 41                	jmp    0x44c1cb
44c18a:	84 db                	test   %bl,%bl
44c18c:	74 3d                	je     0x44c1cb
44c18e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
44c191:	8b 56 44             	mov    0x44(%esi),%edx
44c194:	8b 46 40             	mov    0x40(%esi),%eax
44c197:	e8 dc 69 fc ff       	call   0x412b78
44c19c:	8d 55 f0             	lea    -0x10(%ebp),%edx
44c19f:	8d 4d f8             	lea    -0x8(%ebp),%ecx
44c1a2:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c1a5:	e8 26 eb ff ff       	call   0x44acd0
44c1aa:	85 c0                	test   %eax,%eax
44c1ac:	74 05                	je     0x44c1b3
44c1ae:	8b 58 04             	mov    0x4(%eax),%ebx
44c1b1:	eb 02                	jmp    0x44c1b5
44c1b3:	33 db                	xor    %ebx,%ebx
44c1b5:	53                   	push   %ebx
44c1b6:	8b d3                	mov    %ebx,%edx
44c1b8:	8b c6                	mov    %esi,%eax
44c1ba:	e8 59 fd ff ff       	call   0x44bf18
44c1bf:	8b c8                	mov    %eax,%ecx
44c1c1:	8b d6                	mov    %esi,%edx
44c1c3:	8b 45 fc             	mov    -0x4(%ebp),%eax
44c1c6:	8b 18                	mov    (%eax),%ebx
44c1c8:	ff 53 08             	call   *0x8(%ebx)
44c1cb:	5e                   	pop    %esi
44c1cc:	5b                   	pop    %ebx
44c1cd:	8b e5                	mov    %ebp,%esp
44c1cf:	5d                   	pop    %ebp
44c1d0:	c3                   	ret
44c1d1:	8d 40 00             	lea    0x0(%eax),%eax
44c1d4:	55                   	push   %ebp
44c1d5:	8b ec                	mov    %esp,%ebp
44c1d7:	53                   	push   %ebx
44c1d8:	56                   	push   %esi
44c1d9:	57                   	push   %edi
44c1da:	8b 7d 08             	mov    0x8(%ebp),%edi
44c1dd:	83 c7 fc             	add    $0xfffffffc,%edi
44c1e0:	8b 07                	mov    (%edi),%eax
44c1e2:	8b 58 18             	mov    0x18(%eax),%ebx
44c1e5:	8b 07                	mov    (%edi),%eax
44c1e7:	8b 70 60             	mov    0x60(%eax),%esi
44c1ea:	8b 46 14             	mov    0x14(%esi),%eax
44c1ed:	80 78 10 01          	cmpb   $0x1,0x10(%eax)
44c1f1:	75 36                	jne    0x44c229
44c1f3:	8b c6                	mov    %esi,%eax
44c1f5:	ba 01 00 00 00       	mov    $0x1,%edx
44c1fa:	e8 39 db ff ff       	call   0x449d38
44c1ff:	03 c3                	add    %ebx,%eax
44c201:	8b 17                	mov    (%edi),%edx
44c203:	3b 42 54             	cmp    0x54(%edx),%eax
44c206:	7c 05                	jl     0x44c20d
44c208:	8b 17                	mov    (%edi),%edx
44c20a:	89 42 54             	mov    %eax,0x54(%edx)
44c20d:	8b 07                	mov    (%edi),%eax
44c20f:	8b 50 60             	mov    0x60(%eax),%edx
44c212:	8b 07                	mov    (%edi),%eax
44c214:	e8 af fc ff ff       	call   0x44bec8
44c219:	2b c3                	sub    %ebx,%eax
44c21b:	8b 17                	mov    (%edi),%edx
44c21d:	3b 42 54             	cmp    0x54(%edx),%eax
44c220:	7f 3b                	jg     0x44c25d
44c222:	8b 17                	mov    (%edi),%edx
44c224:	89 42 54             	mov    %eax,0x54(%edx)
44c227:	eb 34                	jmp    0x44c25d
44c229:	8b c6                	mov    %esi,%eax
44c22b:	ba 02 00 00 00       	mov    $0x2,%edx
44c230:	e8 03 db ff ff       	call   0x449d38
44c235:	03 c3                	add    %ebx,%eax
44c237:	8b 17                	mov    (%edi),%edx
44c239:	3b 42 50             	cmp    0x50(%edx),%eax
44c23c:	7c 05                	jl     0x44c243
44c23e:	8b 17                	mov    (%edi),%edx
44c240:	89 42 50             	mov    %eax,0x50(%edx)
44c243:	8b 07                	mov    (%edi),%eax
44c245:	8b 50 60             	mov    0x60(%eax),%edx
44c248:	8b 07                	mov    (%edi),%eax
44c24a:	e8 79 fc ff ff       	call   0x44bec8
44c24f:	2b c3                	sub    %ebx,%eax
44c251:	8b 17                	mov    (%edi),%edx