40fea1:	74 08                	je     0x40feab
40fea3:	56                   	push   %esi
40fea4:	ff 15 cc b2 41 00    	call   *0x41b2cc
40feaa:	59                   	pop    %ecx
40feab:	8b c6                	mov    %esi,%eax
40fead:	5e                   	pop    %esi
40feae:	5d                   	pop    %ebp
40feaf:	c2 04 00             	ret    $0x4
40feb2:	8b ff                	mov    %edi,%edi
40feb4:	55                   	push   %ebp
40feb5:	8b ec                	mov    %esp,%ebp
40feb7:	6a ff                	push   $0xffffffff
40feb9:	68 08 44 41 00       	push   $0x414408
40febe:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40fec4:	50                   	push   %eax
40fec5:	56                   	push   %esi
40fec6:	57                   	push   %edi
40fec7:	a1 18 51 41 00       	mov    0x415118,%eax
40fecc:	33 c5                	xor    %ebp,%eax
40fece:	50                   	push   %eax
40fecf:	8d 45 f4             	lea    -0xc(%ebp),%eax
40fed2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40fed8:	8b f9                	mov    %ecx,%edi
40feda:	8d 77 1c             	lea    0x1c(%edi),%esi
40fedd:	c7 07 c8 17 40 00    	movl   $0x4017c8,(%edi)
40fee3:	8b ce                	mov    %esi,%ecx
40fee5:	e8 9c 88 ff ff       	call   0x408786
40feea:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40feee:	8b ce                	mov    %esi,%ecx
40fef0:	c7 06 54 15 40 00    	movl   $0x401554,(%esi)
40fef6:	e8 8b 88 ff ff       	call   0x408786
40fefb:	8b cf                	mov    %edi,%ecx
40fefd:	e8 e0 30 00 00       	call   0x412fe2
40ff02:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40ff05:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40ff0c:	59                   	pop    %ecx
40ff0d:	5f                   	pop    %edi
40ff0e:	5e                   	pop    %esi
40ff0f:	c9                   	leave
40ff10:	c3                   	ret
40ff11:	6a 08                	push   $0x8
40ff13:	b8 33 44 41 00       	mov    $0x414433,%eax
40ff18:	e8 22 3d 00 00       	call   0x413c3f
40ff1d:	8b f9                	mov    %ecx,%edi
40ff1f:	89 7d f0             	mov    %edi,-0x10(%ebp)
40ff22:	51                   	push   %ecx
40ff23:	51                   	push   %ecx
40ff24:	e8 72 30 00 00       	call   0x412f9b
40ff29:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40ff2d:	8d 5f 1c             	lea    0x1c(%edi),%ebx
40ff30:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40ff33:	8d 73 04             	lea    0x4(%ebx),%esi
40ff36:	83 26 00             	andl   $0x0,(%esi)
40ff39:	c7 03 54 15 40 00    	movl   $0x401554,(%ebx)
40ff3f:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40ff43:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40ff47:	74 2e                	je     0x40ff77
40ff49:	8b cb                	mov    %ebx,%ecx
40ff4b:	e8 36 88 ff ff       	call   0x408786
40ff50:	8b 4d 08             	mov    0x8(%ebp),%ecx
40ff53:	56                   	push   %esi
40ff54:	68 04 40 40 00       	push   $0x404004
40ff59:	51                   	push   %ecx
40ff5a:	8b 01                	mov    (%ecx),%eax
40ff5c:	8b 30                	mov    (%eax),%esi
40ff5e:	8b ce                	mov    %esi,%ecx
40ff60:	ff 15 90 b3 41 00    	call   *0x41b390
40ff66:	ff d6                	call   *%esi
40ff68:	85 c0                	test   %eax,%eax
40ff6a:	79 0b                	jns    0x40ff77
40ff6c:	8b cb                	mov    %ebx,%ecx
40ff6e:	e8 13 88 ff ff       	call   0x408786
40ff73:	83 63 04 00          	andl   $0x0,0x4(%ebx)
40ff77:	c7 07 cc 17 40 00    	movl   $0x4017cc,(%edi)
40ff7d:	8b c7                	mov    %edi,%eax
40ff7f:	e8 98 3c 00 00       	call   0x413c1c
40ff84:	c2 04 00             	ret    $0x4
40ff87:	cc                   	int3
40ff88:	cc                   	int3
40ff89:	cc                   	int3
40ff8a:	cc                   	int3
40ff8b:	cc                   	int3
40ff8c:	cc                   	int3
40ff8d:	cc                   	int3
40ff8e:	cc                   	int3
40ff8f:	cc                   	int3
40ff90:	8b ff                	mov    %edi,%edi
40ff92:	55                   	push   %ebp
40ff93:	8b ec                	mov    %esp,%ebp
40ff95:	56                   	push   %esi
40ff96:	8b f1                	mov    %ecx,%esi
40ff98:	e8 3f 7e ff ff       	call   0x407ddc
40ff9d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40ffa1:	74 08                	je     0x40ffab
40ffa3:	56                   	push   %esi
40ffa4:	ff 15 cc b2 41 00    	call   *0x41b2cc
40ffaa:	59                   	pop    %ecx
40ffab:	8b c6                	mov    %esi,%eax
40ffad:	5e                   	pop    %esi
40ffae:	5d                   	pop    %ebp
40ffaf:	c2 04 00             	ret    $0x4
40ffb2:	8b ff                	mov    %edi,%edi
40ffb4:	55                   	push   %ebp
40ffb5:	8b ec                	mov    %esp,%ebp
40ffb7:	8b 45 10             	mov    0x10(%ebp),%eax
40ffba:	85 c0                	test   %eax,%eax
40ffbc:	74 03                	je     0x40ffc1
40ffbe:	83 20 00             	andl   $0x0,(%eax)
40ffc1:	8b 49 20             	mov    0x20(%ecx),%ecx
40ffc4:	85 c9                	test   %ecx,%ecx
40ffc6:	74 1c                	je     0x40ffe4
40ffc8:	56                   	push   %esi
40ffc9:	8b 31                	mov    (%ecx),%esi
40ffcb:	50                   	push   %eax
40ffcc:	ff 75 0c             	push   0xc(%ebp)
40ffcf:	68 04 04 00 00       	push   $0x404
40ffd4:	51                   	push   %ecx
40ffd5:	8b 4e 14             	mov    0x14(%esi),%ecx
40ffd8:	ff 15 90 b3 41 00    	call   *0x41b390
40ffde:	ff 56 14             	call   *0x14(%esi)
40ffe1:	5e                   	pop    %esi
40ffe2:	eb 05                	jmp    0x40ffe9
40ffe4:	b8 05 40 00 80       	mov    $0x80004005,%eax
40ffe9:	5d                   	pop    %ebp
40ffea:	c2 0c 00             	ret    $0xc
40ffed:	8b ff                	mov    %edi,%edi
40ffef:	56                   	push   %esi
40fff0:	8b f1                	mov    %ecx,%esi
40fff2:	85 f6                	test   %esi,%esi
40fff4:	78 04                	js     0x40fffa
40fff6:	33 c0                	xor    %eax,%eax
40fff8:	5e                   	pop    %esi
40fff9:	c3                   	ret
40fffa:	81 fe 17 00 00 c0    	cmp    $0xc0000017,%esi
410000:	75 07                	jne    0x410009
410002:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
410007:	5e                   	pop    %esi
410008:	c3                   	ret
410009:	57                   	push   %edi
41000a:	8b 3d 5c 97 41 00    	mov    0x41975c,%edi
410010:	85 ff                	test   %edi,%edi
410012:	74 24                	je     0x410038
410014:	56                   	push   %esi
410015:	8b cf                	mov    %edi,%ecx
410017:	ff 15 90 b3 41 00    	call   *0x41b390
41001d:	ff d7                	call   *%edi
41001f:	85 c0                	test   %eax,%eax
410021:	74 15                	je     0x410038
410023:	3d 3d 01 00 00       	cmp    $0x13d,%eax
410028:	74 0e                	je     0x410038
41002a:	85 c0                	test   %eax,%eax
41002c:	7e 12                	jle    0x410040
41002e:	0f b7 c0             	movzwl %ax,%eax
410031:	0d 00 00 07 80       	or     $0x80070000,%eax
410036:	eb 08                	jmp    0x410040
410038:	81 ce 00 00 00 10    	or     $0x10000000,%esi
41003e:	8b c6                	mov    %esi,%eax
410040:	5f                   	pop    %edi
410041:	5e                   	pop    %esi
410042:	c3                   	ret
410043:	8b ff                	mov    %edi,%edi
410045:	55                   	push   %ebp
410046:	8b ec                	mov    %esp,%ebp
410048:	68 ff ff 00 80       	push   $0x8000ffff
41004d:	6a 03                	push   $0x3
41004f:	ff 75 04             	push   0x4(%ebp)
410052:	ba 35 13 00 00       	mov    $0x1335,%edx
410057:	6a 00                	push   $0x0
410059:	6a 00                	push   $0x0
41005b:	68 18 41 40 00       	push   $0x404118
410060:	e8 1b 66 ff ff       	call   0x406680
410065:	5d                   	pop    %ebp
410066:	c2 04 00             	ret    $0x4
410069:	8b ff                	mov    %edi,%edi
41006b:	55                   	push   %ebp
41006c:	8b ec                	mov    %esp,%ebp
41006e:	56                   	push   %esi
41006f:	8b 35 3c a3 41 00    	mov    0x41a33c,%esi
410075:	57                   	push   %edi
410076:	8b f9                	mov    %ecx,%edi
410078:	85 f6                	test   %esi,%esi
41007a:	75 24                	jne    0x4100a0
41007c:	68 94 40 40 00       	push   $0x404094
410081:	e8 49 6f ff ff       	call   0x406fcf
410086:	50                   	push   %eax
410087:	ff 15 5c b1 41 00    	call   *0x41b15c
41008d:	8b f0                	mov    %eax,%esi
41008f:	89 35 3c a3 41 00    	mov    %esi,0x41a33c
410095:	85 f6                	test   %esi,%esi
410097:	75 07                	jne    0x4100a0
410099:	b8 39 01 00 c0       	mov    $0xc0000139,%eax
41009e:	eb 18                	jmp    0x4100b8
4100a0:	ff 75 14             	push   0x14(%ebp)
4100a3:	8b ce                	mov    %esi,%ecx
4100a5:	ff 75 10             	push   0x10(%ebp)
4100a8:	ff 75 0c             	push   0xc(%ebp)
4100ab:	6a 00                	push   $0x0
4100ad:	6a 00                	push   $0x0
4100af:	57                   	push   %edi
4100b0:	ff 15 90 b3 41 00    	call   *0x41b390
4100b6:	ff d6                	call   *%esi
4100b8:	5f                   	pop    %edi
4100b9:	5e                   	pop    %esi
4100ba:	5d                   	pop    %ebp
4100bb:	c2 10 00             	ret    $0x10
4100be:	8b ff                	mov    %edi,%edi
4100c0:	55                   	push   %ebp
4100c1:	8b ec                	mov    %esp,%ebp
4100c3:	53                   	push   %ebx
4100c4:	56                   	push   %esi
4100c5:	8b 35 44 a3 41 00    	mov    0x41a344,%esi
4100cb:	8b d9                	mov    %ecx,%ebx
4100cd:	57                   	push   %edi
4100ce:	8b fa                	mov    %edx,%edi
4100d0:	85 f6                	test   %esi,%esi
4100d2:	75 24                	jne    0x4100f8
4100d4:	68 a8 40 40 00       	push   $0x4040a8
4100d9:	e8 f1 6e ff ff       	call   0x406fcf
4100de:	50                   	push   %eax
4100df:	ff 15 5c b1 41 00    	call   *0x41b15c
4100e5:	8b f0                	mov    %eax,%esi
4100e7:	89 35 44 a3 41 00    	mov    %esi,0x41a344
4100ed:	85 f6                	test   %esi,%esi
4100ef:	75 07                	jne    0x4100f8
4100f1:	b8 39 01 00 c0       	mov    $0xc0000139,%eax
4100f6:	eb 19                	jmp    0x410111
4100f8:	ff 75 18             	push   0x18(%ebp)
4100fb:	8b ce                	mov    %esi,%ecx
4100fd:	ff 75 14             	push   0x14(%ebp)
410100:	6a 00                	push   $0x0
410102:	6a 00                	push   $0x0
410104:	ff 75 08             	push   0x8(%ebp)
410107:	57                   	push   %edi
410108:	53                   	push   %ebx
410109:	ff 15 90 b3 41 00    	call   *0x41b390
41010f:	ff d6                	call   *%esi
410111:	5f                   	pop    %edi
410112:	5e                   	pop    %esi
410113:	5b                   	pop    %ebx
410114:	5d                   	pop    %ebp
410115:	c2 14 00             	ret    $0x14
410118:	8b ff                	mov    %edi,%edi
41011a:	55                   	push   %ebp
41011b:	8b ec                	mov    %esp,%ebp
41011d:	53                   	push   %ebx
41011e:	56                   	push   %esi
41011f:	8b 35 34 a3 41 00    	mov    0x41a334,%esi
410125:	8b d9                	mov    %ecx,%ebx
410127:	57                   	push   %edi
410128:	8b fa                	mov    %edx,%edi
41012a:	85 f6                	test   %esi,%esi
41012c:	75 24                	jne    0x410152
41012e:	68 c0 40 40 00       	push   $0x4040c0
410133:	e8 97 6e ff ff       	call   0x406fcf
410138:	50                   	push   %eax
410139:	ff 15 5c b1 41 00    	call   *0x41b15c
41013f:	8b f0                	mov    %eax,%esi
410141:	89 35 34 a3 41 00    	mov    %esi,0x41a334
410147:	85 f6                	test   %esi,%esi
410149:	75 07                	jne    0x410152
41014b:	b8 39 01 00 c0       	mov    $0xc0000139,%eax
410150:	eb 1d                	jmp    0x41016f
410152:	33 c0                	xor    %eax,%eax
410154:	8b ce                	mov    %esi,%ecx
410156:	50                   	push   %eax
410157:	50                   	push   %eax
410158:	50                   	push   %eax
410159:	ff 75 14             	push   0x14(%ebp)
41015c:	ff 75 10             	push   0x10(%ebp)
41015f:	57                   	push   %edi
410160:	ff 75 0c             	push   0xc(%ebp)
410163:	ff 75 08             	push   0x8(%ebp)
410166:	53                   	push   %ebx
410167:	ff 15 90 b3 41 00    	call   *0x41b390
41016d:	ff d6                	call   *%esi
41016f:	5f                   	pop    %edi
410170:	5e                   	pop    %esi
410171:	5b                   	pop    %ebx
410172:	5d                   	pop    %ebp
410173:	c2 1c 00             	ret    $0x1c
410176:	8b ff                	mov    %edi,%edi
410178:	55                   	push   %ebp
410179:	8b ec                	mov    %esp,%ebp
41017b:	83 ec 30             	sub    $0x30,%esp
41017e:	a1 18 51 41 00       	mov    0x415118,%eax
410183:	33 c5                	xor    %ebp,%eax
410185:	89 45 f8             	mov    %eax,-0x8(%ebp)
410188:	53                   	push   %ebx
410189:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41018c:	56                   	push   %esi
41018d:	57                   	push   %edi
41018e:	6a 34                	push   $0x34
410190:	33 f6                	xor    %esi,%esi
410192:	89 55 d4             	mov    %edx,-0x2c(%ebp)
410195:	8b f9                	mov    %ecx,%edi
410197:	89 5d e0             	mov    %ebx,-0x20(%ebp)
41019a:	56                   	push   %esi
41019b:	57                   	push   %edi
41019c:	89 7d f4             	mov    %edi,-0xc(%ebp)
41019f:	89 75 d0             	mov    %esi,-0x30(%ebp)
4101a2:	e8 ba 3f 00 00       	call   0x414161
4101a7:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4101aa:	83 c4 0c             	add    $0xc,%esp
4101ad:	f7 db                	neg    %ebx
4101af:	89 07                	mov    %eax,(%edi)
4101b1:	89 75 dc             	mov    %esi,-0x24(%ebp)
4101b4:	1b db                	sbb    %ebx,%ebx
4101b6:	81 e3 c8 00 00 00    	and    $0xc8,%ebx
4101bc:	85 c0                	test   %eax,%eax
4101be:	75 0d                	jne    0x4101cd
4101c0:	a1 c8 41 40 00       	mov    0x4041c8,%eax
4101c5:	8b 0d cc 41 40 00    	mov    0x4041cc,%ecx
4101cb:	eb 0b                	jmp    0x4101d8
4101cd:	a1 68 41 40 00       	mov    0x404168,%eax
4101d2:	8b 0d 6c 41 40 00    	mov    0x40416c,%ecx
4101d8:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4101db:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4101de:	51                   	push   %ecx
4101df:	ff 75 e0             	push   -0x20(%ebp)
4101e2:	89 45 e8             	mov    %eax,-0x18(%ebp)
4101e5:	8d 47 08             	lea    0x8(%edi),%eax
4101e8:	50                   	push   %eax
4101e9:	51                   	push   %ecx
4101ea:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4101ed:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
4101f0:	e8 74 fe ff ff       	call   0x410069
4101f5:	89 45 d8             	mov    %eax,-0x28(%ebp)
4101f8:	6a 10                	push   $0x10
4101fa:	5a                   	pop    %edx
4101fb:	85 c0                	test   %eax,%eax
4101fd:	75 74                	jne    0x410273
4101ff:	8b 4d e0             	mov    -0x20(%ebp),%ecx
410202:	85 c9                	test   %ecx,%ecx
410204:	74 04                	je     0x41020a
410206:	8b f1                	mov    %ecx,%esi
410208:	eb 69                	jmp    0x410273
41020a:	b8 c8 00 00 00       	mov    $0xc8,%eax
41020f:	3b d8                	cmp    %eax,%ebx
410211:	73 02                	jae    0x410215
410213:	8b d8                	mov    %eax,%ebx
410215:	3b 5d e4             	cmp    -0x1c(%ebp),%ebx
410218:	73 03                	jae    0x41021d
41021a:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
41021d:	3b da                	cmp    %edx,%ebx
41021f:	73 02                	jae    0x410223
410221:	8b da                	mov    %edx,%ebx
410223:	8b 45 dc             	mov    -0x24(%ebp),%eax
410226:	85 c0                	test   %eax,%eax
410228:	74 11                	je     0x41023b
41022a:	50                   	push   %eax