40def8:	8b 50 18             	mov    0x18(%eax),%edx
40defb:	52                   	push   %edx
40defc:	8b 40 10             	mov    0x10(%eax),%eax
40deff:	50                   	push   %eax
40df00:	e8 53 8a ff ff       	call   0x406958
40df05:	c3                   	ret
40df06:	8b c0                	mov    %eax,%eax
40df08:	8b 50 18             	mov    0x18(%eax),%edx
40df0b:	52                   	push   %edx
40df0c:	8b 40 14             	mov    0x14(%eax),%eax
40df0f:	50                   	push   %eax
40df10:	e8 43 8a ff ff       	call   0x406958
40df15:	c3                   	ret
40df16:	8b c0                	mov    %eax,%eax
40df18:	53                   	push   %ebx
40df19:	56                   	push   %esi
40df1a:	57                   	push   %edi
40df1b:	55                   	push   %ebp
40df1c:	51                   	push   %ecx
40df1d:	8b f8                	mov    %eax,%edi
40df1f:	b3 01                	mov    $0x1,%bl
40df21:	e8 92 88 ff ff       	call   0x4067b8
40df26:	8b f0                	mov    %eax,%esi
40df28:	3b 77 24             	cmp    0x24(%edi),%esi
40df2b:	74 7c                	je     0x40dfa9
40df2d:	8b c7                	mov    %edi,%eax
40df2f:	e8 a0 ff ff ff       	call   0x40ded4
40df34:	8b 6f 28             	mov    0x28(%edi),%ebp
40df37:	8b d4                	mov    %esp,%edx
40df39:	8b 47 20             	mov    0x20(%edi),%eax
40df3c:	e8 0f fe ff ff       	call   0x40dd50
40df41:	8b 04 24             	mov    (%esp),%eax
40df44:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
40df48:	0f 97 c3             	seta   %bl
40df4b:	84 db                	test   %bl,%bl
40df4d:	74 22                	je     0x40df71
40df4f:	8d 47 0c             	lea    0xc(%edi),%eax
40df52:	e8 69 fd ff ff       	call   0x40dcc0
40df57:	eb 18                	jmp    0x40df71
40df59:	8d 47 0c             	lea    0xc(%edi),%eax
40df5c:	ba ff ff 00 00       	mov    $0xffff,%edx
40df61:	e8 7a fd ff ff       	call   0x40dce0
40df66:	85 c0                	test   %eax,%eax
40df68:	74 07                	je     0x40df71
40df6a:	8b c7                	mov    %edi,%eax
40df6c:	e8 97 ff ff ff       	call   0x40df08
40df71:	8d 47 0c             	lea    0xc(%edi),%eax
40df74:	ba 01 00 ff ff       	mov    $0xffff0001,%edx
40df79:	e8 62 fd ff ff       	call   0x40dce0
40df7e:	3d ff ff 00 00       	cmp    $0xffff,%eax
40df83:	75 d4                	jne    0x40df59
40df85:	8b c7                	mov    %edi,%eax
40df87:	e8 48 ff ff ff       	call   0x40ded4
40df8c:	84 db                	test   %bl,%bl
40df8e:	74 08                	je     0x40df98
40df90:	8d 47 0c             	lea    0xc(%edi),%eax
40df93:	e8 34 fd ff ff       	call   0x40dccc
40df98:	89 77 24             	mov    %esi,0x24(%edi)
40df9b:	8d 47 28             	lea    0x28(%edi),%eax
40df9e:	e8 1d fd ff ff       	call   0x40dcc0
40dfa3:	48                   	dec    %eax
40dfa4:	3b c5                	cmp    %ebp,%eax
40dfa6:	0f 94 c3             	sete   %bl
40dfa9:	ff 47 1c             	incl   0x1c(%edi)
40dfac:	8b c3                	mov    %ebx,%eax
40dfae:	5a                   	pop    %edx
40dfaf:	5d                   	pop    %ebp
40dfb0:	5f                   	pop    %edi
40dfb1:	5e                   	pop    %esi
40dfb2:	5b                   	pop    %ebx
40dfb3:	c3                   	ret
40dfb4:	53                   	push   %ebx
40dfb5:	51                   	push   %ecx
40dfb6:	8b d8                	mov    %eax,%ebx
40dfb8:	8b d4                	mov    %esp,%edx
40dfba:	8b 43 20             	mov    0x20(%ebx),%eax
40dfbd:	e8 8e fd ff ff       	call   0x40dd50
40dfc2:	ff 4b 1c             	decl   0x1c(%ebx)
40dfc5:	83 7b 1c 00          	cmpl   $0x0,0x1c(%ebx)
40dfc9:	75 20                	jne    0x40dfeb
40dfcb:	33 c0                	xor    %eax,%eax
40dfcd:	89 43 24             	mov    %eax,0x24(%ebx)
40dfd0:	8d 43 0c             	lea    0xc(%ebx),%eax
40dfd3:	ba ff ff 00 00       	mov    $0xffff,%edx
40dfd8:	e8 03 fd ff ff       	call   0x40dce0
40dfdd:	8b c3                	mov    %ebx,%eax
40dfdf:	e8 08 ff ff ff       	call   0x40deec
40dfe4:	8b c3                	mov    %ebx,%eax
40dfe6:	e8 f5 fe ff ff       	call   0x40dee0
40dfeb:	8b 04 24             	mov    (%esp),%eax
40dfee:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
40dff2:	75 0a                	jne    0x40dffe
40dff4:	8b d4                	mov    %esp,%edx
40dff6:	8b 43 20             	mov    0x20(%ebx),%eax
40dff9:	e8 ca fd ff ff       	call   0x40ddc8
40dffe:	5a                   	pop    %edx
40dfff:	5b                   	pop    %ebx
40e000:	c3                   	ret
40e001:	8d 40 00             	lea    0x0(%eax),%eax
40e004:	53                   	push   %ebx
40e005:	56                   	push   %esi
40e006:	51                   	push   %ecx
40e007:	8b f0                	mov    %eax,%esi
40e009:	8b d4                	mov    %esp,%edx
40e00b:	8b 46 20             	mov    0x20(%esi),%eax
40e00e:	e8 3d fd ff ff       	call   0x40dd50
40e013:	8b 04 24             	mov    (%esp),%eax
40e016:	ff 40 0c             	incl   0xc(%eax)
40e019:	8b 04 24             	mov    (%esp),%eax
40e01c:	83 78 0c 01          	cmpl   $0x1,0xc(%eax)
40e020:	0f 97 c3             	seta   %bl
40e023:	e8 90 87 ff ff       	call   0x4067b8
40e028:	3b 46 24             	cmp    0x24(%esi),%eax
40e02b:	74 3d                	je     0x40e06a
40e02d:	84 db                	test   %bl,%bl
40e02f:	75 39                	jne    0x40e06a
40e031:	8b c6                	mov    %esi,%eax
40e033:	e8 c0 fe ff ff       	call   0x40def8
40e038:	eb 24                	jmp    0x40e05e
40e03a:	8d 46 0c             	lea    0xc(%esi),%eax
40e03d:	e8 7e fc ff ff       	call   0x40dcc0
40e042:	3d ff ff 00 00       	cmp    $0xffff,%eax
40e047:	75 07                	jne    0x40e050
40e049:	8b c6                	mov    %esi,%eax
40e04b:	e8 9c fe ff ff       	call   0x40deec
40e050:	6a 00                	push   $0x0
40e052:	e8 dd f9 ff ff       	call   0x40da34
40e057:	8b c6                	mov    %esi,%eax
40e059:	e8 9a fe ff ff       	call   0x40def8
40e05e:	8d 46 0c             	lea    0xc(%esi),%eax
40e061:	e8 66 fc ff ff       	call   0x40dccc
40e066:	85 c0                	test   %eax,%eax
40e068:	7e d0                	jle    0x40e03a
40e06a:	5a                   	pop    %edx
40e06b:	5e                   	pop    %esi
40e06c:	5b                   	pop    %ebx
40e06d:	c3                   	ret
40e06e:	8b c0                	mov    %eax,%eax
40e070:	53                   	push   %ebx
40e071:	51                   	push   %ecx
40e072:	8b d8                	mov    %eax,%ebx
40e074:	8b d4                	mov    %esp,%edx
40e076:	8b 43 20             	mov    0x20(%ebx),%eax
40e079:	e8 d2 fc ff ff       	call   0x40dd50
40e07e:	8b 04 24             	mov    (%esp),%eax
40e081:	ff 48 0c             	decl   0xc(%eax)
40e084:	8b 04 24             	mov    (%esp),%eax
40e087:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
40e08b:	75 48                	jne    0x40e0d5
40e08d:	8b d4                	mov    %esp,%edx
40e08f:	8b 43 20             	mov    0x20(%ebx),%eax
40e092:	e8 31 fd ff ff       	call   0x40ddc8
40e097:	e8 1c 87 ff ff       	call   0x4067b8
40e09c:	3b 43 24             	cmp    0x24(%ebx),%eax
40e09f:	74 34                	je     0x40e0d5
40e0a1:	8d 43 0c             	lea    0xc(%ebx),%eax
40e0a4:	e8 17 fc ff ff       	call   0x40dcc0
40e0a9:	8b c8                	mov    %eax,%ecx
40e0ab:	81 f9 ff ff 00 00    	cmp    $0xffff,%ecx
40e0b1:	75 09                	jne    0x40e0bc
40e0b3:	8b c3                	mov    %ebx,%eax
40e0b5:	e8 32 fe ff ff       	call   0x40deec
40e0ba:	eb 19                	jmp    0x40e0d5
40e0bc:	85 c9                	test   %ecx,%ecx
40e0be:	7f 15                	jg     0x40e0d5
40e0c0:	8b c1                	mov    %ecx,%eax
40e0c2:	b9 ff ff 00 00       	mov    $0xffff,%ecx
40e0c7:	99                   	cltd
40e0c8:	f7 f9                	idiv   %ecx
40e0ca:	85 d2                	test   %edx,%edx
40e0cc:	75 07                	jne    0x40e0d5
40e0ce:	8b c3                	mov    %ebx,%eax
40e0d0:	e8 17 fe ff ff       	call   0x40deec
40e0d5:	5a                   	pop    %edx
40e0d6:	5b                   	pop    %ebx
40e0d7:	c3                   	ret
40e0d8:	8b 10                	mov    (%eax),%edx
40e0da:	33 c9                	xor    %ecx,%ecx
40e0dc:	89 08                	mov    %ecx,(%eax)
40e0de:	8b c2                	mov    %edx,%eax
40e0e0:	e8 07 53 ff ff       	call   0x4033ec
40e0e5:	c3                   	ret
40e0e6:	8b c0                	mov    %eax,%eax
40e0e8:	53                   	push   %ebx
40e0e9:	56                   	push   %esi
40e0ea:	57                   	push   %edi
40e0eb:	8b f9                	mov    %ecx,%edi
40e0ed:	8b f2                	mov    %edx,%esi
40e0ef:	8b d8                	mov    %eax,%ebx
40e0f1:	85 db                	test   %ebx,%ebx
40e0f3:	74 0b                	je     0x40e100
40e0f5:	57                   	push   %edi
40e0f6:	56                   	push   %esi
40e0f7:	53                   	push   %ebx
40e0f8:	8b 03                	mov    (%ebx),%eax
40e0fa:	ff 10                	call   *(%eax)
40e0fc:	85 c0                	test   %eax,%eax
40e0fe:	74 04                	je     0x40e104
40e100:	33 c0                	xor    %eax,%eax
40e102:	eb 02                	jmp    0x40e106
40e104:	b0 01                	mov    $0x1,%al
40e106:	5f                   	pop    %edi
40e107:	5e                   	pop    %esi
40e108:	5b                   	pop    %ebx
40e109:	c3                   	ret
40e10a:	8b c0                	mov    %eax,%eax
40e10c:	55                   	push   %ebp
40e10d:	8b ec                	mov    %esp,%ebp
40e10f:	6a 00                	push   $0x0
40e111:	53                   	push   %ebx
40e112:	56                   	push   %esi
40e113:	57                   	push   %edi
40e114:	8b f9                	mov    %ecx,%edi
40e116:	8b f2                	mov    %edx,%esi
40e118:	8b d8                	mov    %eax,%ebx
40e11a:	33 c0                	xor    %eax,%eax
40e11c:	55                   	push   %ebp
40e11d:	68 83 e1 40 00       	push   $0x40e183
40e122:	64 ff 30             	push   %fs:(%eax)
40e125:	64 89 20             	mov    %esp,%fs:(%eax)
40e128:	85 db                	test   %ebx,%ebx
40e12a:	74 39                	je     0x40e165
40e12c:	8d 45 fc             	lea    -0x4(%ebp),%eax
40e12f:	e8 40 7c ff ff       	call   0x405d74
40e134:	8b c8                	mov    %eax,%ecx
40e136:	ba 94 e1 40 00       	mov    $0x40e194,%edx
40e13b:	8b c3                	mov    %ebx,%eax
40e13d:	e8 5e 53 ff ff       	call   0x4034a0
40e142:	84 c0                	test   %al,%al
40e144:	74 10                	je     0x40e156
40e146:	8b cf                	mov    %edi,%ecx
40e148:	8b d6                	mov    %esi,%edx
40e14a:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e14d:	e8 96 ff ff ff       	call   0x40e0e8
40e152:	84 c0                	test   %al,%al
40e154:	75 13                	jne    0x40e169
40e156:	8b cf                	mov    %edi,%ecx
40e158:	8b d6                	mov    %esi,%edx
40e15a:	8b c3                	mov    %ebx,%eax
40e15c:	e8 3f 53 ff ff       	call   0x4034a0
40e161:	84 c0                	test   %al,%al
40e163:	75 04                	jne    0x40e169
40e165:	33 c0                	xor    %eax,%eax
40e167:	eb 02                	jmp    0x40e16b
40e169:	b0 01                	mov    $0x1,%al
40e16b:	8b d8                	mov    %eax,%ebx
40e16d:	33 c0                	xor    %eax,%eax
40e16f:	5a                   	pop    %edx
40e170:	59                   	pop    %ecx
40e171:	59                   	pop    %ecx
40e172:	64 89 10             	mov    %edx,%fs:(%eax)
40e175:	68 8a e1 40 00       	push   $0x40e18a
40e17a:	8d 45 fc             	lea    -0x4(%ebp),%eax
40e17d:	e8 f2 7b ff ff       	call   0x405d74
40e182:	c3                   	ret
40e183:	e9 e0 59 ff ff       	jmp    0x403b68
40e188:	eb f0                	jmp    0x40e17a
40e18a:	8b c3                	mov    %ebx,%eax
40e18c:	5f                   	pop    %edi
40e18d:	5e                   	pop    %esi
40e18e:	5b                   	pop    %ebx
40e18f:	59                   	pop    %ecx
40e190:	5d                   	pop    %ebp
40e191:	c3                   	ret
40e19a:	00 00                	add    %al,(%eax)
40e19c:	c0 00 00             	rolb   $0x0,(%eax)
40e19f:	00 00                	add    %al,(%eax)
40e1a1:	00 00                	add    %al,(%eax)
40e1a3:	46                   	inc    %esi
40e1a4:	55                   	push   %ebp
40e1a5:	8b ec                	mov    %esp,%ebp
40e1a7:	83 c4 f4             	add    $0xfffffff4,%esp
40e1aa:	53                   	push   %ebx
40e1ab:	8b d8                	mov    %eax,%ebx
40e1ad:	52                   	push   %edx
40e1ae:	e8 65 87 ff ff       	call   0x406918
40e1b3:	89 45 f4             	mov    %eax,-0xc(%ebp)
40e1b6:	33 c0                	xor    %eax,%eax
40e1b8:	55                   	push   %ebp
40e1b9:	68 16 e2 40 00       	push   $0x40e216
40e1be:	64 ff 30             	push   %fs:(%eax)
40e1c1:	64 89 20             	mov    %esp,%fs:(%eax)
40e1c4:	d9 7d fe             	fnstcw -0x2(%ebp)
40e1c7:	33 c0                	xor    %eax,%eax
40e1c9:	55                   	push   %ebp
40e1ca:	68 f8 e1 40 00       	push   $0x40e1f8
40e1cf:	64 ff 30             	push   %fs:(%eax)
40e1d2:	64 89 20             	mov    %esp,%fs:(%eax)
40e1d5:	8b c3                	mov    %ebx,%eax
40e1d7:	e8 48 64 ff ff       	call   0x404624
40e1dc:	50                   	push   %eax
40e1dd:	e8 d6 86 ff ff       	call   0x4068b8
40e1e2:	89 45 f8             	mov    %eax,-0x8(%ebp)
40e1e5:	33 c0                	xor    %eax,%eax
40e1e7:	5a                   	pop    %edx
40e1e8:	59                   	pop    %ecx
40e1e9:	59                   	pop    %ecx
40e1ea:	64 89 10             	mov    %edx,%fs:(%eax)
40e1ed:	68 ff e1 40 00       	push   $0x40e1ff
40e1f2:	db e2                	fnclex
40e1f4:	d9 6d fe             	fldcw  -0x2(%ebp)
40e1f7:	c3                   	ret
40e1f8:	e9 6b 59 ff ff       	jmp    0x403b68
40e1fd:	eb f3                	jmp    0x40e1f2
40e1ff:	33 c0                	xor    %eax,%eax
40e201:	5a                   	pop    %edx
40e202:	59                   	pop    %ecx
40e203:	59                   	pop    %ecx
40e204:	64 89 10             	mov    %edx,%fs:(%eax)
40e207:	68 1d e2 40 00       	push   $0x40e21d
40e20c:	8b 45 f4             	mov    -0xc(%ebp),%eax
40e20f:	50                   	push   %eax
40e210:	e8 03 87 ff ff       	call   0x406918
40e215:	c3                   	ret
40e216:	e9 4d 59 ff ff       	jmp    0x403b68
40e21b:	eb ef                	jmp    0x40e20c
40e21d:	8b 45 f8             	mov    -0x8(%ebp),%eax
40e220:	5b                   	pop    %ebx
40e221:	8b e5                	mov    %ebp,%esp
40e223:	5d                   	pop    %ebp
40e224:	c3                   	ret
40e225:	8d 40 00             	lea    0x0(%eax),%eax
40e228:	1d 00 00 00 04       	sbb    $0x4000000,%eax
40e22d:	d3 48 00             	rorl   %cl,0x0(%eax)
40e230:	04 b3                	add    $0xb3,%al
40e232:	49                   	dec    %ecx
40e233:	00 fc                	add    %bh,%ah
40e235:	d2 48 00             	rorb   %cl,0x0(%eax)
40e238:	a8 b1                	test   $0xb1,%al
40e23a:	49                   	dec    %ecx
40e23b:	00 f4                	add    %dh,%ah
40e23d:	d2 48 00             	rorb   %cl,0x0(%eax)
40e240:	60                   	pusha
40e241:	af                   	scas   %es:(%edi),%eax
40e242:	49                   	dec    %ecx
40e243:	00 ec                	add    %ch,%ah
40e245:	d2 48 00             	rorb   %cl,0x0(%eax)
40e248:	6c                   	insb   (%dx),%es:(%edi)
40e249:	b3 49                	mov    $0x49,%bl
40e24b:	00 e4                	add    %ah,%ah
40e24d:	d2 48 00             	rorb   %cl,0x0(%eax)
40e250:	b4 b3                	mov    $0xb3,%ah
40e252:	49                   	dec    %ecx
40e253:	00 dc                	add    %bl,%ah
40e255:	d2 48 00             	rorb   %cl,0x0(%eax)
40e258:	64 b0 49             	fs mov $0x49,%al
40e25b:	00 d4                	add    %dl,%ah
40e25d:	d2 48 00             	rorb   %cl,0x0(%eax)
40e260:	80 b1 49 00 cc d2 48 	xorb   $0x48,-0x2d33ffb7(%ecx)
40e267:	00 08                	add    %cl,(%eax)