40ce61:	c7 45 cc 02 00 00 00 	movl   $0x2,-0x34(%ebp)
40ce68:	ff 15 40 34 42 00    	call   *0x423440
40ce6e:	6a ff                	push   $0xffffffff
40ce70:	8d 4b 20             	lea    0x20(%ebx),%ecx
40ce73:	ff 15 7c 33 42 00    	call   *0x42337c
40ce79:	8b 43 24             	mov    0x24(%ebx),%eax
40ce7c:	8d 4b 24             	lea    0x24(%ebx),%ecx
40ce7f:	8b 40 f8             	mov    -0x8(%eax),%eax
40ce82:	40                   	inc    %eax
40ce83:	50                   	push   %eax
40ce84:	ff 15 78 33 42 00    	call   *0x423378
40ce8a:	89 45 d8             	mov    %eax,-0x28(%ebp)
40ce8d:	85 c0                	test   %eax,%eax
40ce8f:	74 33                	je     0x40cec4
40ce91:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40ce94:	c7 45 c4 01 00 00 00 	movl   $0x1,-0x3c(%ebp)
40ce9b:	50                   	push   %eax
40ce9c:	6a 00                	push   $0x0
40ce9e:	68 4c 10 00 00       	push   $0x104c
40cea3:	ff b7 08 01 00 00    	push   0x108(%edi)
40cea9:	89 75 c8             	mov    %esi,-0x38(%ebp)
40ceac:	c7 45 cc 03 00 00 00 	movl   $0x3,-0x34(%ebp)
40ceb3:	ff 15 40 34 42 00    	call   *0x423440
40ceb9:	6a ff                	push   $0xffffffff
40cebb:	8d 4b 24             	lea    0x24(%ebx),%ecx
40cebe:	ff 15 7c 33 42 00    	call   *0x42337c
40cec4:	5f                   	pop    %edi
40cec5:	8b c6                	mov    %esi,%eax
40cec7:	5e                   	pop    %esi
40cec8:	5b                   	pop    %ebx
40cec9:	c9                   	leave
40ceca:	c2 08 00             	ret    $0x8
40cecd:	83 b9 94 00 00 00 00 	cmpl   $0x0,0x94(%ecx)
40ced4:	8b 81 08 01 00 00    	mov    0x108(%ecx),%eax
40ceda:	74 07                	je     0x40cee3
40cedc:	68 00 cf 40 00       	push   $0x40cf00
40cee1:	eb 05                	jmp    0x40cee8
40cee3:	68 c0 cf 40 00       	push   $0x40cfc0
40cee8:	51                   	push   %ecx
40cee9:	68 30 10 00 00       	push   $0x1030
40ceee:	50                   	push   %eax
40ceef:	ff 15 40 34 42 00    	call   *0x423440
40cef5:	c3                   	ret
40cef6:	cc                   	int3
40cef7:	cc                   	int3
40cef8:	cc                   	int3
40cef9:	cc                   	int3
40cefa:	cc                   	int3
40cefb:	cc                   	int3
40cefc:	cc                   	int3
40cefd:	cc                   	int3
40cefe:	cc                   	int3
40ceff:	cc                   	int3
40cf00:	6a 08                	push   $0x8
40cf02:	b8 d0 c7 41 00       	mov    $0x41c7d0,%eax
40cf07:	e8 2c f5 00 00       	call   0x41c438
40cf0c:	33 db                	xor    %ebx,%ebx
40cf0e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40cf11:	8b f3                	mov    %ebx,%esi
40cf13:	ff 15 40 32 42 00    	call   *0x423240
40cf19:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40cf1c:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40cf1f:	ff 15 40 32 42 00    	call   *0x423240
40cf25:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40cf29:	8d 45 ec             	lea    -0x14(%ebp),%eax
40cf2c:	8b 7d 10             	mov    0x10(%ebp),%edi
40cf2f:	8b cf                	mov    %edi,%ecx
40cf31:	50                   	push   %eax
40cf32:	ff 75 08             	push   0x8(%ebp)
40cf35:	e8 32 01 00 00       	call   0x40d06c
40cf3a:	85 c0                	test   %eax,%eax
40cf3c:	74 51                	je     0x40cf8f
40cf3e:	8d 45 f0             	lea    -0x10(%ebp),%eax
40cf41:	8b cf                	mov    %edi,%ecx
40cf43:	50                   	push   %eax
40cf44:	ff 75 0c             	push   0xc(%ebp)
40cf47:	e8 20 01 00 00       	call   0x40d06c
40cf4c:	85 c0                	test   %eax,%eax
40cf4e:	74 3f                	je     0x40cf8f
40cf50:	ff 75 f0             	push   -0x10(%ebp)
40cf53:	ff 75 ec             	push   -0x14(%ebp)
40cf56:	ff 15 64 35 42 00    	call   *0x423564
40cf5c:	8b f0                	mov    %eax,%esi
40cf5e:	8b 87 94 00 00 00    	mov    0x94(%edi),%eax
40cf64:	59                   	pop    %ecx
40cf65:	59                   	pop    %ecx
40cf66:	83 e8 01             	sub    $0x1,%eax
40cf69:	74 1a                	je     0x40cf85
40cf6b:	83 e8 01             	sub    $0x1,%eax
40cf6e:	74 0d                	je     0x40cf7d
40cf70:	83 e8 01             	sub    $0x1,%eax
40cf73:	75 1a                	jne    0x40cf8f
40cf75:	39 9f a4 00 00 00    	cmp    %ebx,0xa4(%edi)
40cf7b:	eb 0e                	jmp    0x40cf8b
40cf7d:	39 9f a0 00 00 00    	cmp    %ebx,0xa0(%edi)
40cf83:	eb 06                	jmp    0x40cf8b
40cf85:	39 9f 9c 00 00 00    	cmp    %ebx,0x9c(%edi)
40cf8b:	74 02                	je     0x40cf8f
40cf8d:	f7 de                	neg    %esi
40cf8f:	88 5d fc             	mov    %bl,-0x4(%ebp)
40cf92:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40cf95:	ff 15 44 32 42 00    	call   *0x423244
40cf9b:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40cf9f:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40cfa2:	ff 15 44 32 42 00    	call   *0x423244
40cfa8:	8b c6                	mov    %esi,%eax
40cfaa:	e8 57 f4 00 00       	call   0x41c406
40cfaf:	c2 0c 00             	ret    $0xc
40cfb2:	cc                   	int3
40cfb3:	cc                   	int3
40cfb4:	cc                   	int3
40cfb5:	cc                   	int3
40cfb6:	cc                   	int3
40cfb7:	cc                   	int3
40cfb8:	cc                   	int3
40cfb9:	cc                   	int3
40cfba:	cc                   	int3
40cfbb:	cc                   	int3
40cfbc:	cc                   	int3
40cfbd:	cc                   	int3
40cfbe:	cc                   	int3
40cfbf:	cc                   	int3
40cfc0:	8b ff                	mov    %edi,%edi
40cfc2:	55                   	push   %ebp
40cfc3:	8b ec                	mov    %esp,%ebp
40cfc5:	83 ec 18             	sub    $0x18,%esp
40cfc8:	53                   	push   %ebx
40cfc9:	56                   	push   %esi
40cfca:	8b 75 10             	mov    0x10(%ebp),%esi
40cfcd:	33 c0                	xor    %eax,%eax
40cfcf:	57                   	push   %edi
40cfd0:	6a 06                	push   $0x6
40cfd2:	59                   	pop    %ecx
40cfd3:	8d 7d e8             	lea    -0x18(%ebp),%edi
40cfd6:	33 db                	xor    %ebx,%ebx
40cfd8:	f3 ab                	rep stos %eax,%es:(%edi)
40cfda:	8b 45 08             	mov    0x8(%ebp),%eax
40cfdd:	89 45 f0             	mov    %eax,-0x10(%ebp)
40cfe0:	8d 45 e8             	lea    -0x18(%ebp),%eax
40cfe3:	50                   	push   %eax
40cfe4:	6a ff                	push   $0xffffffff
40cfe6:	68 53 10 00 00       	push   $0x1053
40cfeb:	ff b6 08 01 00 00    	push   0x108(%esi)
40cff1:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
40cff8:	ff 15 40 34 42 00    	call   *0x423440
40cffe:	8b c8                	mov    %eax,%ecx
40d000:	85 c9                	test   %ecx,%ecx
40d002:	78 5f                	js     0x40d063
40d004:	51                   	push   %ecx
40d005:	8d 8e e8 00 00 00    	lea    0xe8(%esi),%ecx
40d00b:	ff 15 20 31 42 00    	call   *0x423120
40d011:	8b f8                	mov    %eax,%edi
40d013:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
40d01a:	8b 45 0c             	mov    0xc(%ebp),%eax
40d01d:	89 45 f0             	mov    %eax,-0x10(%ebp)
40d020:	8d 45 e8             	lea    -0x18(%ebp),%eax
40d023:	50                   	push   %eax
40d024:	6a ff                	push   $0xffffffff
40d026:	68 53 10 00 00       	push   $0x1053
40d02b:	ff b6 08 01 00 00    	push   0x108(%esi)
40d031:	ff 15 40 34 42 00    	call   *0x423440
40d037:	85 c0                	test   %eax,%eax
40d039:	78 28                	js     0x40d063
40d03b:	50                   	push   %eax
40d03c:	8d 8e e8 00 00 00    	lea    0xe8(%esi),%ecx
40d042:	ff 15 20 31 42 00    	call   *0x423120
40d048:	3b f8                	cmp    %eax,%edi
40d04a:	74 17                	je     0x40d063
40d04c:	85 ff                	test   %edi,%edi
40d04e:	0f 95 c3             	setne  %bl
40d051:	83 be 98 00 00 00 00 	cmpl   $0x0,0x98(%esi)
40d058:	8d 1c 5d ff ff ff ff 	lea    -0x1(,%ebx,2),%ebx
40d05f:	74 02                	je     0x40d063
40d061:	f7 db                	neg    %ebx
40d063:	5f                   	pop    %edi
40d064:	5e                   	pop    %esi
40d065:	8b c3                	mov    %ebx,%eax
40d067:	5b                   	pop    %ebx
40d068:	c9                   	leave
40d069:	c2 0c 00             	ret    $0xc
40d06c:	8b ff                	mov    %edi,%edi
40d06e:	55                   	push   %ebp
40d06f:	8b ec                	mov    %esp,%ebp
40d071:	56                   	push   %esi
40d072:	ff 75 08             	push   0x8(%ebp)
40d075:	8b f1                	mov    %ecx,%esi
40d077:	8b 0d 08 0a 42 00    	mov    0x420a08,%ecx
40d07d:	8d 49 78             	lea    0x78(%ecx),%ecx
40d080:	e8 57 69 00 00       	call   0x4139dc
40d085:	8b 8e 94 00 00 00    	mov    0x94(%esi),%ecx
40d08b:	5e                   	pop    %esi
40d08c:	83 e9 01             	sub    $0x1,%ecx
40d08f:	74 14                	je     0x40d0a5
40d091:	83 e9 01             	sub    $0x1,%ecx
40d094:	74 0a                	je     0x40d0a0
40d096:	83 e9 01             	sub    $0x1,%ecx
40d099:	75 17                	jne    0x40d0b2
40d09b:	83 c0 24             	add    $0x24,%eax
40d09e:	eb 08                	jmp    0x40d0a8
40d0a0:	83 c0 20             	add    $0x20,%eax
40d0a3:	eb 03                	jmp    0x40d0a8
40d0a5:	83 c0 08             	add    $0x8,%eax
40d0a8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40d0ab:	50                   	push   %eax
40d0ac:	ff 15 80 33 42 00    	call   *0x423380
40d0b2:	33 c0                	xor    %eax,%eax
40d0b4:	40                   	inc    %eax
40d0b5:	5d                   	pop    %ebp
40d0b6:	c2 08 00             	ret    $0x8
40d0b9:	cc                   	int3
40d0ba:	cc                   	int3
40d0bb:	cc                   	int3
40d0bc:	cc                   	int3
40d0bd:	cc                   	int3
40d0be:	cc                   	int3
40d0bf:	cc                   	int3
40d0c0:	8b ff                	mov    %edi,%edi
40d0c2:	56                   	push   %esi
40d0c3:	8b f1                	mov    %ecx,%esi
40d0c5:	6a 05                	push   $0x5
40d0c7:	6a 00                	push   $0x0
40d0c9:	68 70 04 00 00       	push   $0x470
40d0ce:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
40d0d4:	ff 70 20             	push   0x20(%eax)
40d0d7:	ff 15 50 34 42 00    	call   *0x423450
40d0dd:	8d 8e a8 00 00 00    	lea    0xa8(%esi),%ecx
40d0e3:	ba 8d 00 00 00       	mov    $0x8d,%edx
40d0e8:	e8 61 1b 00 00       	call   0x40ec4e
40d0ed:	8b ce                	mov    %esi,%ecx
40d0ef:	5e                   	pop    %esi
40d0f0:	ff 25 8c 33 42 00    	jmp    *0x42338c
40d0f6:	cc                   	int3
40d0f7:	cc                   	int3
40d0f8:	cc                   	int3
40d0f9:	cc                   	int3
40d0fa:	cc                   	int3
40d0fb:	cc                   	int3
40d0fc:	cc                   	int3
40d0fd:	cc                   	int3
40d0fe:	cc                   	int3
40d0ff:	cc                   	int3
40d100:	8b ff                	mov    %edi,%edi
40d102:	55                   	push   %ebp
40d103:	8b ec                	mov    %esp,%ebp
40d105:	51                   	push   %ecx
40d106:	53                   	push   %ebx
40d107:	56                   	push   %esi
40d108:	57                   	push   %edi
40d109:	8b f1                	mov    %ecx,%esi
40d10b:	ff 15 90 33 42 00    	call   *0x423390
40d111:	33 ff                	xor    %edi,%edi
40d113:	57                   	push   %edi
40d114:	57                   	push   %edi
40d115:	68 37 10 00 00       	push   $0x1037
40d11a:	ff b6 08 01 00 00    	push   0x108(%esi)
40d120:	ff 15 40 34 42 00    	call   *0x423440
40d126:	83 c8 25             	or     $0x25,%eax
40d129:	50                   	push   %eax
40d12a:	57                   	push   %edi
40d12b:	68 36 10 00 00       	push   $0x1036
40d130:	ff b6 08 01 00 00    	push   0x108(%esi)
40d136:	ff 15 40 34 42 00    	call   *0x423440
40d13c:	8b ce                	mov    %esi,%ecx
40d13e:	e8 f3 f9 ff ff       	call   0x40cb36
40d143:	8b 1d 08 0a 42 00    	mov    0x420a08,%ebx
40d149:	57                   	push   %edi
40d14a:	57                   	push   %edi
40d14b:	68 09 10 00 00       	push   $0x1009
40d150:	ff b6 08 01 00 00    	push   0x108(%esi)
40d156:	ff 15 40 34 42 00    	call   *0x423440
40d15c:	8b 83 80 00 00 00    	mov    0x80(%ebx),%eax
40d162:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d165:	85 c0                	test   %eax,%eax
40d167:	7e 18                	jle    0x40d181
40d169:	57                   	push   %edi
40d16a:	8d 4b 78             	lea    0x78(%ebx),%ecx
40d16d:	e8 6a 68 00 00       	call   0x4139dc
40d172:	50                   	push   %eax
40d173:	57                   	push   %edi
40d174:	8b ce                	mov    %esi,%ecx
40d176:	e8 f1 fb ff ff       	call   0x40cd6c
40d17b:	47                   	inc    %edi
40d17c:	3b 7d fc             	cmp    -0x4(%ebp),%edi
40d17f:	7c e8                	jl     0x40d169
40d181:	8b ce                	mov    %esi,%ecx
40d183:	e8 45 fd ff ff       	call   0x40cecd
40d188:	33 ff                	xor    %edi,%edi
40d18a:	57                   	push   %edi
40d18b:	57                   	push   %edi
40d18c:	68 04 10 00 00       	push   $0x1004
40d191:	ff b6 08 01 00 00    	push   0x108(%esi)
40d197:	ff 15 40 34 42 00    	call   *0x423440
40d19d:	85 c0                	test   %eax,%eax
40d19f:	7e 11                	jle    0x40d1b2
40d1a1:	6a 03                	push   $0x3
40d1a3:	6a 03                	push   $0x3
40d1a5:	57                   	push   %edi
40d1a6:	8d 8e e8 00 00 00    	lea    0xe8(%esi),%ecx
40d1ac:	ff 15 88 33 42 00    	call   *0x423388
40d1b2:	5f                   	pop    %edi
40d1b3:	33 c0                	xor    %eax,%eax
40d1b5:	5e                   	pop    %esi
40d1b6:	40                   	inc    %eax
40d1b7:	5b                   	pop    %ebx
40d1b8:	c9                   	leave
40d1b9:	c3                   	ret
40d1ba:	cc                   	int3
40d1bb:	cc                   	int3
40d1bc:	cc                   	int3
40d1bd:	cc                   	int3
40d1be:	cc                   	int3
40d1bf:	cc                   	int3
40d1c0:	8b ff                	mov    %edi,%edi
40d1c2:	55                   	push   %ebp
40d1c3:	8b ec                	mov    %esp,%ebp
40d1c5:	83 ec 14             	sub    $0x14,%esp
40d1c8:	a1 08 0a 42 00       	mov    0x420a08,%eax
40d1cd:	56                   	push   %esi
40d1ce:	57                   	push   %edi
40d1cf:	33 f6                	xor    %esi,%esi
40d1d1:	8b f9                	mov    %ecx,%edi
40d1d3:	56                   	push   %esi
40d1d4:	56                   	push   %esi
40d1d5:	68 04 10 00 00       	push   $0x1004
40d1da:	ff b7 08 01 00 00    	push   0x108(%edi)
40d1e0:	83 c0 78             	add    $0x78,%eax
40d1e3:	89 7d ec             	mov    %edi,-0x14(%ebp)
40d1e6:	89 45 f0             	mov    %eax,-0x10(%ebp)
40d1e9:	ff 15 40 34 42 00    	call   *0x423440
40d1ef:	89 45 f4             	mov    %eax,-0xc(%ebp)
40d1f2:	85 c0                	test   %eax,%eax
40d1f4:	7e 42                	jle    0x40d238
40d1f6:	8d 87 e8 00 00 00    	lea    0xe8(%edi),%eax
40d1fc:	8b 7d f4             	mov    -0xc(%ebp),%edi
40d1ff:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d202:	53                   	push   %ebx
40d203:	56                   	push   %esi
40d204:	8b c8                	mov    %eax,%ecx
40d206:	ff 15 20 31 42 00    	call   *0x423120
40d20c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40d20f:	33 db                	xor    %ebx,%ebx
40d211:	85 c0                	test   %eax,%eax
40d213:	56                   	push   %esi
40d214:	0f 95 c3             	setne  %bl
40d217:	43                   	inc    %ebx
40d218:	ff 15 2c 34 42 00    	call   *0x42342c
40d21e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40d221:	50                   	push   %eax
40d222:	e8 b5 67 00 00       	call   0x4139dc
40d227:	46                   	inc    %esi