41ef7d:	8b c7                	mov    %edi,%eax
41ef7f:	8b 08                	mov    (%eax),%ecx
41ef81:	ff 51 38             	call   *0x38(%ecx)
41ef84:	8b d8                	mov    %eax,%ebx
41ef86:	84 db                	test   %bl,%bl
41ef88:	74 09                	je     0x41ef93
41ef8a:	8b d6                	mov    %esi,%edx
41ef8c:	8b c7                	mov    %edi,%eax
41ef8e:	8b 08                	mov    (%eax),%ecx
41ef90:	ff 51 3c             	call   *0x3c(%ecx)
41ef93:	8b c3                	mov    %ebx,%eax
41ef95:	5f                   	pop    %edi
41ef96:	5e                   	pop    %esi
41ef97:	5b                   	pop    %ebx
41ef98:	c3                   	ret
41ef99:	8d 40 00             	lea    0x0(%eax),%eax
41ef9c:	53                   	push   %ebx
41ef9d:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
41efa1:	74 0a                	je     0x41efad
41efa3:	8b 40 20             	mov    0x20(%eax),%eax
41efa6:	8b 18                	mov    (%eax),%ebx
41efa8:	ff 53 1c             	call   *0x1c(%ebx)
41efab:	5b                   	pop    %ebx
41efac:	c3                   	ret
41efad:	e8 b2 4b fe ff       	call   0x403b64
41efb2:	5b                   	pop    %ebx
41efb3:	c3                   	ret
41efb4:	55                   	push   %ebp
41efb5:	8b ec                	mov    %esp,%ebp
41efb7:	5d                   	pop    %ebp
41efb8:	c2 04 00             	ret    $0x4
41efbb:	90                   	nop
41efbc:	55                   	push   %ebp
41efbd:	8b ec                	mov    %esp,%ebp
41efbf:	53                   	push   %ebx
41efc0:	56                   	push   %esi
41efc1:	57                   	push   %edi
41efc2:	8b 7d 10             	mov    0x10(%ebp),%edi
41efc5:	8b 75 0c             	mov    0xc(%ebp),%esi
41efc8:	8b 5d 08             	mov    0x8(%ebp),%ebx
41efcb:	83 7b 20 00          	cmpl   $0x0,0x20(%ebx)
41efcf:	75 1a                	jne    0x41efeb
41efd1:	8b cf                	mov    %edi,%ecx
41efd3:	8b d6                	mov    %esi,%edx
41efd5:	8b c3                	mov    %ebx,%eax
41efd7:	e8 f4 49 fe ff       	call   0x4039d0
41efdc:	84 c0                	test   %al,%al
41efde:	74 04                	je     0x41efe4
41efe0:	33 c0                	xor    %eax,%eax
41efe2:	eb 11                	jmp    0x41eff5
41efe4:	b8 02 40 00 80       	mov    $0x80004002,%eax
41efe9:	eb 0a                	jmp    0x41eff5
41efeb:	57                   	push   %edi
41efec:	56                   	push   %esi
41efed:	8b 43 20             	mov    0x20(%ebx),%eax
41eff0:	50                   	push   %eax
41eff1:	8b 00                	mov    (%eax),%eax
41eff3:	ff 10                	call   *(%eax)
41eff5:	5f                   	pop    %edi
41eff6:	5e                   	pop    %esi
41eff7:	5b                   	pop    %ebx
41eff8:	5d                   	pop    %ebp
41eff9:	c2 0c 00             	ret    $0xc
41effc:	55                   	push   %ebp
41effd:	8b ec                	mov    %esp,%ebp
41efff:	8b 45 08             	mov    0x8(%ebp),%eax
41f002:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
41f006:	75 05                	jne    0x41f00d
41f008:	83 c8 ff             	or     $0xffffffff,%eax
41f00b:	eb 09                	jmp    0x41f016
41f00d:	8b 40 20             	mov    0x20(%eax),%eax
41f010:	50                   	push   %eax
41f011:	8b 00                	mov    (%eax),%eax
41f013:	ff 50 04             	call   *0x4(%eax)
41f016:	5d                   	pop    %ebp
41f017:	c2 04 00             	ret    $0x4
41f01a:	8b c0                	mov    %eax,%eax
41f01c:	55                   	push   %ebp
41f01d:	8b ec                	mov    %esp,%ebp
41f01f:	8b 45 08             	mov    0x8(%ebp),%eax
41f022:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
41f026:	75 05                	jne    0x41f02d
41f028:	83 c8 ff             	or     $0xffffffff,%eax
41f02b:	eb 09                	jmp    0x41f036
41f02d:	8b 40 20             	mov    0x20(%eax),%eax
41f030:	50                   	push   %eax
41f031:	8b 00                	mov    (%eax),%eax
41f033:	ff 50 08             	call   *0x8(%eax)
41f036:	5d                   	pop    %ebp
41f037:	c2 04 00             	ret    $0x4
41f03a:	8b c0                	mov    %eax,%eax
41f03c:	c3                   	ret
41f03d:	8d 40 00             	lea    0x0(%eax),%eax
41f040:	53                   	push   %ebx
41f041:	56                   	push   %esi
41f042:	57                   	push   %edi
41f043:	84 d2                	test   %dl,%dl
41f045:	74 08                	je     0x41f04f
41f047:	83 c4 f0             	add    $0xfffffff0,%esp
41f04a:	e8 f1 4b fe ff       	call   0x403c40
41f04f:	8b f1                	mov    %ecx,%esi
41f051:	8b da                	mov    %edx,%ebx
41f053:	8b f8                	mov    %eax,%edi
41f055:	33 d2                	xor    %edx,%edx
41f057:	8b c7                	mov    %edi,%eax
41f059:	e8 8e 48 fe ff       	call   0x4038ec
41f05e:	8b d6                	mov    %esi,%edx
41f060:	8b c7                	mov    %edi,%eax
41f062:	8b 08                	mov    (%eax),%ecx
41f064:	ff 11                	call   *(%ecx)
41f066:	8b c7                	mov    %edi,%eax
41f068:	84 db                	test   %bl,%bl
41f06a:	74 0f                	je     0x41f07b
41f06c:	e8 27 4c fe ff       	call   0x403c98
41f071:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41f078:	83 c4 0c             	add    $0xc,%esp
41f07b:	8b c7                	mov    %edi,%eax
41f07d:	5f                   	pop    %edi
41f07e:	5e                   	pop    %esi
41f07f:	5b                   	pop    %ebx
41f080:	c3                   	ret
41f081:	8d 40 00             	lea    0x0(%eax),%eax
41f084:	c3                   	ret
41f085:	8d 40 00             	lea    0x0(%eax),%eax
41f088:	53                   	push   %ebx
41f089:	56                   	push   %esi
41f08a:	e8 59 4c fe ff       	call   0x403ce8
41f08f:	8b da                	mov    %edx,%ebx
41f091:	8b f0                	mov    %eax,%esi
41f093:	8b 46 10             	mov    0x10(%esi),%eax
41f096:	85 c0                	test   %eax,%eax
41f098:	74 07                	je     0x41f0a1
41f09a:	8b d6                	mov    %esi,%edx
41f09c:	e8 1f 02 00 00       	call   0x41f2c0
41f0a1:	8b d3                	mov    %ebx,%edx
41f0a3:	80 e2 fc             	and    $0xfc,%dl
41f0a6:	8b c6                	mov    %esi,%eax
41f0a8:	e8 5f 48 fe ff       	call   0x40390c
41f0ad:	84 db                	test   %bl,%bl
41f0af:	7e 07                	jle    0x41f0b8
41f0b1:	8b c6                	mov    %esi,%eax
41f0b3:	e8 d8 4b fe ff       	call   0x403c90
41f0b8:	5e                   	pop    %esi
41f0b9:	5b                   	pop    %ebx
41f0ba:	c3                   	ret
41f0bb:	90                   	nop
41f0bc:	53                   	push   %ebx
41f0bd:	66 83 78 0a 00       	cmpw   $0x0,0xa(%eax)
41f0c2:	74 0b                	je     0x41f0cf
41f0c4:	8b d8                	mov    %eax,%ebx
41f0c6:	8b 50 10             	mov    0x10(%eax),%edx
41f0c9:	8b 43 0c             	mov    0xc(%ebx),%eax
41f0cc:	ff 53 08             	call   *0x8(%ebx)
41f0cf:	5b                   	pop    %ebx
41f0d0:	c3                   	ret
41f0d1:	8d 40 00             	lea    0x0(%eax),%eax
41f0d4:	53                   	push   %ebx
41f0d5:	56                   	push   %esi
41f0d6:	8b d8                	mov    %eax,%ebx
41f0d8:	8b 43 10             	mov    0x10(%ebx),%eax
41f0db:	e8 20 02 00 00       	call   0x41f300
41f0e0:	8b 43 10             	mov    0x10(%ebx),%eax
41f0e3:	66 be ef ff          	mov    $0xffef,%si
41f0e7:	e8 2c 4a fe ff       	call   0x403b18
41f0ec:	5e                   	pop    %esi
41f0ed:	5b                   	pop    %ebx
41f0ee:	c3                   	ret
41f0ef:	90                   	nop
41f0f0:	53                   	push   %ebx
41f0f1:	56                   	push   %esi
41f0f2:	8b f2                	mov    %edx,%esi
41f0f4:	8b d8                	mov    %eax,%ebx
41f0f6:	8b 43 10             	mov    0x10(%ebx),%eax
41f0f9:	3b f0                	cmp    %eax,%esi
41f0fb:	74 1b                	je     0x41f118
41f0fd:	85 c0                	test   %eax,%eax
41f0ff:	74 07                	je     0x41f108
41f101:	8b d3                	mov    %ebx,%edx
41f103:	e8 b8 01 00 00       	call   0x41f2c0
41f108:	89 73 10             	mov    %esi,0x10(%ebx)
41f10b:	85 f6                	test   %esi,%esi
41f10d:	74 09                	je     0x41f118
41f10f:	8b d3                	mov    %ebx,%edx
41f111:	8b c6                	mov    %esi,%eax
41f113:	e8 9c 01 00 00       	call   0x41f2b4
41f118:	5e                   	pop    %esi
41f119:	5b                   	pop    %ebx
41f11a:	c3                   	ret
41f11b:	90                   	nop
41f11c:	b0 01                	mov    $0x1,%al
41f11e:	c3                   	ret
41f11f:	90                   	nop
41f120:	55                   	push   %ebp
41f121:	8b ec                	mov    %esp,%ebp
41f123:	5d                   	pop    %ebp
41f124:	c2 08 00             	ret    $0x8
41f127:	90                   	nop
41f128:	8b 40 10             	mov    0x10(%eax),%eax
41f12b:	8b 10                	mov    (%eax),%edx
41f12d:	ff 52 44             	call   *0x44(%edx)
41f130:	c3                   	ret
41f131:	8d 40 00             	lea    0x0(%eax),%eax
41f134:	53                   	push   %ebx
41f135:	56                   	push   %esi
41f136:	84 d2                	test   %dl,%dl
41f138:	74 08                	je     0x41f142
41f13a:	83 c4 f0             	add    $0xfffffff0,%esp
41f13d:	e8 fe 4a fe ff       	call   0x403c40
41f142:	8b da                	mov    %edx,%ebx
41f144:	8b f0                	mov    %eax,%esi
41f146:	33 d2                	xor    %edx,%edx
41f148:	8b c6                	mov    %esi,%eax
41f14a:	e8 c1 f6 ff ff       	call   0x41e810
41f14f:	b2 01                	mov    $0x1,%dl
41f151:	a1 a0 5c 41 00       	mov    0x415ca0,%eax
41f156:	e8 91 47 fe ff       	call   0x4038ec
41f15b:	89 46 50             	mov    %eax,0x50(%esi)
41f15e:	8b c6                	mov    %esi,%eax
41f160:	84 db                	test   %bl,%bl
41f162:	74 0f                	je     0x41f173
41f164:	e8 2f 4b fe ff       	call   0x403c98
41f169:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41f170:	83 c4 0c             	add    $0xc,%esp
41f173:	8b c6                	mov    %esi,%eax
41f175:	5e                   	pop    %esi
41f176:	5b                   	pop    %ebx
41f177:	c3                   	ret
41f178:	53                   	push   %ebx
41f179:	56                   	push   %esi
41f17a:	57                   	push   %edi
41f17b:	e8 68 4b fe ff       	call   0x403ce8
41f180:	8b da                	mov    %edx,%ebx
41f182:	8b f8                	mov    %eax,%edi
41f184:	8b d3                	mov    %ebx,%edx
41f186:	80 e2 fc             	and    $0xfc,%dl
41f189:	8b c7                	mov    %edi,%eax
41f18b:	e8 cc f6 ff ff       	call   0x41e85c
41f190:	8b 47 30             	mov    0x30(%edi),%eax
41f193:	85 c0                	test   %eax,%eax
41f195:	74 07                	je     0x41f19e
41f197:	8b d7                	mov    %edi,%edx
41f199:	e8 86 f9 ff ff       	call   0x41eb24
41f19e:	83 7f 50 00          	cmpl   $0x0,0x50(%edi)
41f1a2:	74 1b                	je     0x41f1bf
41f1a4:	eb 10                	jmp    0x41f1b6
41f1a6:	8b c6                	mov    %esi,%eax
41f1a8:	e8 13 91 ff ff       	call   0x4182c0
41f1ad:	8b d0                	mov    %eax,%edx
41f1af:	8b c7                	mov    %edi,%eax
41f1b1:	e8 0a 01 00 00       	call   0x41f2c0
41f1b6:	8b 77 50             	mov    0x50(%edi),%esi
41f1b9:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
41f1bd:	7f e7                	jg     0x41f1a6
41f1bf:	8d 47 50             	lea    0x50(%edi),%eax
41f1c2:	e8 61 ef fe ff       	call   0x40e128
41f1c7:	84 db                	test   %bl,%bl
41f1c9:	7e 07                	jle    0x41f1d2
41f1cb:	8b c7                	mov    %edi,%eax
41f1cd:	e8 be 4a fe ff       	call   0x403c90
41f1d2:	5f                   	pop    %edi
41f1d3:	5e                   	pop    %esi
41f1d4:	5b                   	pop    %ebx
41f1d5:	c3                   	ret
41f1d6:	8b c0                	mov    %eax,%eax
41f1d8:	33 c0                	xor    %eax,%eax
41f1da:	c3                   	ret
41f1db:	90                   	nop
41f1dc:	c3                   	ret
41f1dd:	8d 40 00             	lea    0x0(%eax),%eax
41f1e0:	53                   	push   %ebx
41f1e1:	56                   	push   %esi
41f1e2:	57                   	push   %edi
41f1e3:	8b d9                	mov    %ecx,%ebx
41f1e5:	8b f2                	mov    %edx,%esi
41f1e7:	8b f8                	mov    %eax,%edi
41f1e9:	8b cb                	mov    %ebx,%ecx
41f1eb:	8b d6                	mov    %esi,%edx
41f1ed:	8b c7                	mov    %edi,%eax
41f1ef:	e8 4c f9 ff ff       	call   0x41eb40
41f1f4:	80 fb 01             	cmp    $0x1,%bl
41f1f7:	75 0a                	jne    0x41f203
41f1f9:	3b 77 30             	cmp    0x30(%edi),%esi
41f1fc:	75 05                	jne    0x41f203
41f1fe:	33 c0                	xor    %eax,%eax
41f200:	89 47 30             	mov    %eax,0x30(%edi)
41f203:	5f                   	pop    %edi
41f204:	5e                   	pop    %esi
41f205:	5b                   	pop    %ebx
41f206:	c3                   	ret
41f207:	90                   	nop
41f208:	c3                   	ret
41f209:	8d 40 00             	lea    0x0(%eax),%eax
41f20c:	53                   	push   %ebx
41f20d:	66 83 78 42 00       	cmpw   $0x0,0x42(%eax)
41f212:	74 0e                	je     0x41f222
41f214:	8b d8                	mov    %eax,%ebx
41f216:	8b d0                	mov    %eax,%edx
41f218:	8b 43 44             	mov    0x44(%ebx),%eax
41f21b:	ff 53 40             	call   *0x40(%ebx)
41f21e:	b0 01                	mov    $0x1,%al
41f220:	5b                   	pop    %ebx
41f221:	c3                   	ret
41f222:	33 c0                	xor    %eax,%eax
41f224:	5b                   	pop    %ebx
41f225:	c3                   	ret
41f226:	8b c0                	mov    %eax,%eax
41f228:	53                   	push   %ebx
41f229:	66 83 78 4a 00       	cmpw   $0x0,0x4a(%eax)
41f22e:	74 0e                	je     0x41f23e
41f230:	8b d8                	mov    %eax,%ebx
41f232:	8b d0                	mov    %eax,%edx
41f234:	8b 43 4c             	mov    0x4c(%ebx),%eax
41f237:	ff 53 48             	call   *0x48(%ebx)
41f23a:	b0 01                	mov    $0x1,%al
41f23c:	5b                   	pop    %ebx
41f23d:	c3                   	ret
41f23e:	33 c0                	xor    %eax,%eax
41f240:	5b                   	pop    %ebx
41f241:	c3                   	ret
41f242:	8b c0                	mov    %eax,%eax
41f244:	55                   	push   %ebp
41f245:	8b ec                	mov    %esp,%ebp
41f247:	53                   	push   %ebx
41f248:	56                   	push   %esi
41f249:	57                   	push   %edi
41f24a:	8b d8                	mov    %eax,%ebx
41f24c:	8b 45 08             	mov    0x8(%ebp),%eax
41f24f:	3b 43 40             	cmp    0x40(%ebx),%eax
41f252:	75 08                	jne    0x41f25c
41f254:	8b 45 0c             	mov    0xc(%ebp),%eax
41f257:	3b 43 44             	cmp    0x44(%ebx),%eax
41f25a:	74 3a                	je     0x41f296
41f25c:	8b 43 50             	mov    0x50(%ebx),%eax
41f25f:	8b 70 08             	mov    0x8(%eax),%esi
41f262:	4e                   	dec    %esi
41f263:	85 f6                	test   %esi,%esi
41f265:	7c 1c                	jl     0x41f283
41f267:	46                   	inc    %esi
41f268:	33 ff                	xor    %edi,%edi
41f26a:	ff 75 0c             	push   0xc(%ebp)
41f26d:	ff 75 08             	push   0x8(%ebp)
41f270:	8b d7                	mov    %edi,%edx
41f272:	8b 43 50             	mov    0x50(%ebx),%eax
41f275:	e8 5e 8f ff ff       	call   0x4181d8
41f27a:	8b 10                	mov    (%eax),%edx
41f27c:	ff 52 10             	call   *0x10(%edx)
41f27f:	47                   	inc    %edi
41f280:	4e                   	dec    %esi
41f281:	75 e7                	jne    0x41f26a
41f283:	8b 45 08             	mov    0x8(%ebp),%eax