40dba5:	53                   	push   %ebx
40dba6:	50                   	push   %eax
40dba7:	e8 99 d8 ff ff       	call   0x40b445
40dbac:	83 c4 0c             	add    $0xc,%esp
40dbaf:	85 c0                	test   %eax,%eax
40dbb1:	75 48                	jne    0x40dbfb
40dbb3:	83 c7 04             	add    $0x4,%edi
40dbb6:	03 f3                	add    %ebx,%esi
40dbb8:	80 3e 00             	cmpb   $0x0,(%esi)
40dbbb:	75 c8                	jne    0x40db85
40dbbd:	8b 35 48 1c 42 00    	mov    0x421c48,%esi
40dbc3:	56                   	push   %esi
40dbc4:	e8 4f 75 ff ff       	call   0x405118
40dbc9:	83 25 48 1c 42 00 00 	andl   $0x0,0x421c48
40dbd0:	83 27 00             	andl   $0x0,(%edi)
40dbd3:	c7 05 30 2b 42 00 01 	movl   $0x1,0x422b30
40dbda:	00 00 00
40dbdd:	33 c0                	xor    %eax,%eax
40dbdf:	59                   	pop    %ecx
40dbe0:	5b                   	pop    %ebx
40dbe1:	5f                   	pop    %edi
40dbe2:	5e                   	pop    %esi
40dbe3:	c3                   	ret
40dbe4:	ff 35 e8 20 42 00    	push   0x4220e8
40dbea:	e8 29 75 ff ff       	call   0x405118
40dbef:	83 25 e8 20 42 00 00 	andl   $0x0,0x4220e8
40dbf6:	83 c8 ff             	or     $0xffffffff,%eax
40dbf9:	eb e4                	jmp    0x40dbdf
40dbfb:	33 c0                	xor    %eax,%eax
40dbfd:	50                   	push   %eax
40dbfe:	50                   	push   %eax
40dbff:	50                   	push   %eax
40dc00:	50                   	push   %eax
40dc01:	50                   	push   %eax
40dc02:	e8 fe d9 ff ff       	call   0x40b605
40dc07:	cc                   	int3
40dc08:	55                   	push   %ebp
40dc09:	8b ec                	mov    %esp,%ebp
40dc0b:	8b 45 08             	mov    0x8(%ebp),%eax
40dc0e:	a3 10 21 42 00       	mov    %eax,0x422110
40dc13:	5d                   	pop    %ebp
40dc14:	c3                   	ret
40dc15:	55                   	push   %ebp
40dc16:	8b ec                	mov    %esp,%ebp
40dc18:	8b 45 08             	mov    0x8(%ebp),%eax
40dc1b:	85 c0                	test   %eax,%eax
40dc1d:	78 21                	js     0x40dc40
40dc1f:	83 f8 02             	cmp    $0x2,%eax
40dc22:	7e 0d                	jle    0x40dc31
40dc24:	83 f8 03             	cmp    $0x3,%eax
40dc27:	75 17                	jne    0x40dc40
40dc29:	8b 0d 88 28 42 00    	mov    0x422888,%ecx
40dc2f:	eb 0b                	jmp    0x40dc3c
40dc31:	8b 0d 88 28 42 00    	mov    0x422888,%ecx
40dc37:	a3 88 28 42 00       	mov    %eax,0x422888
40dc3c:	8b c1                	mov    %ecx,%eax
40dc3e:	5d                   	pop    %ebp
40dc3f:	c3                   	ret
40dc40:	e8 38 a5 ff ff       	call   0x40817d
40dc45:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40dc4b:	e8 a5 d9 ff ff       	call   0x40b5f5
40dc50:	83 c8 ff             	or     $0xffffffff,%eax
40dc53:	5d                   	pop    %ebp
40dc54:	c3                   	ret
40dc55:	55                   	push   %ebp
40dc56:	8b ec                	mov    %esp,%ebp
40dc58:	83 ec 14             	sub    $0x14,%esp
40dc5b:	a1 90 08 42 00       	mov    0x420890,%eax
40dc60:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
40dc64:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40dc68:	56                   	push   %esi
40dc69:	57                   	push   %edi
40dc6a:	bf 4e e6 40 bb       	mov    $0xbb40e64e,%edi
40dc6f:	be 00 00 ff ff       	mov    $0xffff0000,%esi
40dc74:	3b c7                	cmp    %edi,%eax
40dc76:	74 0d                	je     0x40dc85
40dc78:	85 c6                	test   %eax,%esi
40dc7a:	74 09                	je     0x40dc85
40dc7c:	f7 d0                	not    %eax
40dc7e:	a3 94 08 42 00       	mov    %eax,0x420894
40dc83:	eb 66                	jmp    0x40dceb
40dc85:	8d 45 f4             	lea    -0xc(%ebp),%eax
40dc88:	50                   	push   %eax
40dc89:	ff 15 e0 90 41 00    	call   *0x4190e0
40dc8f:	8b 45 f8             	mov    -0x8(%ebp),%eax
40dc92:	33 45 f4             	xor    -0xc(%ebp),%eax
40dc95:	89 45 fc             	mov    %eax,-0x4(%ebp)
40dc98:	ff 15 cc 90 41 00    	call   *0x4190cc
40dc9e:	31 45 fc             	xor    %eax,-0x4(%ebp)
40dca1:	ff 15 e4 90 41 00    	call   *0x4190e4
40dca7:	31 45 fc             	xor    %eax,-0x4(%ebp)
40dcaa:	8d 45 ec             	lea    -0x14(%ebp),%eax
40dcad:	50                   	push   %eax
40dcae:	ff 15 24 90 41 00    	call   *0x419024
40dcb4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40dcb7:	33 4d ec             	xor    -0x14(%ebp),%ecx
40dcba:	8d 45 fc             	lea    -0x4(%ebp),%eax
40dcbd:	33 4d fc             	xor    -0x4(%ebp),%ecx
40dcc0:	33 c8                	xor    %eax,%ecx
40dcc2:	3b cf                	cmp    %edi,%ecx
40dcc4:	75 07                	jne    0x40dccd
40dcc6:	b9 4f e6 40 bb       	mov    $0xbb40e64f,%ecx
40dccb:	eb 10                	jmp    0x40dcdd
40dccd:	85 ce                	test   %ecx,%esi
40dccf:	75 0c                	jne    0x40dcdd
40dcd1:	8b c1                	mov    %ecx,%eax
40dcd3:	0d 11 47 00 00       	or     $0x4711,%eax
40dcd8:	c1 e0 10             	shl    $0x10,%eax
40dcdb:	0b c8                	or     %eax,%ecx
40dcdd:	89 0d 90 08 42 00    	mov    %ecx,0x420890
40dce3:	f7 d1                	not    %ecx
40dce5:	89 0d 94 08 42 00    	mov    %ecx,0x420894
40dceb:	5f                   	pop    %edi
40dcec:	5e                   	pop    %esi
40dced:	c9                   	leave
40dcee:	c3                   	ret
40dcef:	56                   	push   %esi
40dcf0:	57                   	push   %edi
40dcf1:	be e0 df 41 00       	mov    $0x41dfe0,%esi
40dcf6:	bf e0 df 41 00       	mov    $0x41dfe0,%edi
40dcfb:	eb 0b                	jmp    0x40dd08
40dcfd:	8b 06                	mov    (%esi),%eax
40dcff:	85 c0                	test   %eax,%eax
40dd01:	74 02                	je     0x40dd05
40dd03:	ff d0                	call   *%eax
40dd05:	83 c6 04             	add    $0x4,%esi
40dd08:	3b f7                	cmp    %edi,%esi
40dd0a:	72 f1                	jb     0x40dcfd
40dd0c:	5f                   	pop    %edi
40dd0d:	5e                   	pop    %esi
40dd0e:	c3                   	ret
40dd0f:	56                   	push   %esi
40dd10:	57                   	push   %edi
40dd11:	be e8 df 41 00       	mov    $0x41dfe8,%esi
40dd16:	bf e8 df 41 00       	mov    $0x41dfe8,%edi
40dd1b:	eb 0b                	jmp    0x40dd28
40dd1d:	8b 06                	mov    (%esi),%eax
40dd1f:	85 c0                	test   %eax,%eax
40dd21:	74 02                	je     0x40dd25
40dd23:	ff d0                	call   *%eax
40dd25:	83 c6 04             	add    $0x4,%esi
40dd28:	3b f7                	cmp    %edi,%esi
40dd2a:	72 f1                	jb     0x40dd1d
40dd2c:	5f                   	pop    %edi
40dd2d:	5e                   	pop    %esi
40dd2e:	c3                   	ret
40dd2f:	55                   	push   %ebp
40dd30:	8b ec                	mov    %esp,%ebp
40dd32:	51                   	push   %ecx
40dd33:	57                   	push   %edi
40dd34:	ff 15 e8 90 41 00    	call   *0x4190e8
40dd3a:	8b f8                	mov    %eax,%edi
40dd3c:	33 c0                	xor    %eax,%eax
40dd3e:	85 ff                	test   %edi,%edi
40dd40:	74 75                	je     0x40ddb7
40dd42:	56                   	push   %esi
40dd43:	8b f7                	mov    %edi,%esi
40dd45:	66 39 07             	cmp    %ax,(%edi)
40dd48:	74 10                	je     0x40dd5a
40dd4a:	83 c6 02             	add    $0x2,%esi
40dd4d:	66 39 06             	cmp    %ax,(%esi)
40dd50:	75 f8                	jne    0x40dd4a
40dd52:	83 c6 02             	add    $0x2,%esi
40dd55:	66 39 06             	cmp    %ax,(%esi)
40dd58:	75 f0                	jne    0x40dd4a
40dd5a:	53                   	push   %ebx
40dd5b:	50                   	push   %eax
40dd5c:	50                   	push   %eax
40dd5d:	50                   	push   %eax
40dd5e:	2b f7                	sub    %edi,%esi
40dd60:	50                   	push   %eax
40dd61:	d1 fe                	sar    $1,%esi
40dd63:	46                   	inc    %esi
40dd64:	56                   	push   %esi
40dd65:	57                   	push   %edi
40dd66:	50                   	push   %eax
40dd67:	50                   	push   %eax
40dd68:	ff 15 4c 90 41 00    	call   *0x41904c
40dd6e:	89 45 fc             	mov    %eax,-0x4(%ebp)
40dd71:	85 c0                	test   %eax,%eax
40dd73:	74 37                	je     0x40ddac
40dd75:	50                   	push   %eax
40dd76:	e8 27 ad ff ff       	call   0x408aa2
40dd7b:	8b d8                	mov    %eax,%ebx
40dd7d:	59                   	pop    %ecx
40dd7e:	85 db                	test   %ebx,%ebx
40dd80:	74 2a                	je     0x40ddac
40dd82:	33 c0                	xor    %eax,%eax
40dd84:	50                   	push   %eax
40dd85:	50                   	push   %eax
40dd86:	ff 75 fc             	push   -0x4(%ebp)
40dd89:	53                   	push   %ebx
40dd8a:	56                   	push   %esi
40dd8b:	57                   	push   %edi
40dd8c:	50                   	push   %eax
40dd8d:	50                   	push   %eax
40dd8e:	ff 15 4c 90 41 00    	call   *0x41904c
40dd94:	85 c0                	test   %eax,%eax
40dd96:	75 09                	jne    0x40dda1
40dd98:	53                   	push   %ebx
40dd99:	e8 7a 73 ff ff       	call   0x405118
40dd9e:	59                   	pop    %ecx
40dd9f:	33 db                	xor    %ebx,%ebx
40dda1:	57                   	push   %edi
40dda2:	ff 15 ec 90 41 00    	call   *0x4190ec
40dda8:	8b c3                	mov    %ebx,%eax
40ddaa:	eb 09                	jmp    0x40ddb5
40ddac:	57                   	push   %edi
40ddad:	ff 15 ec 90 41 00    	call   *0x4190ec
40ddb3:	33 c0                	xor    %eax,%eax
40ddb5:	5b                   	pop    %ebx
40ddb6:	5e                   	pop    %esi
40ddb7:	5f                   	pop    %edi
40ddb8:	c9                   	leave
40ddb9:	c3                   	ret
40ddba:	cc                   	int3
40ddbb:	cc                   	int3
40ddbc:	cc                   	int3
40ddbd:	cc                   	int3
40ddbe:	cc                   	int3
40ddbf:	cc                   	int3
40ddc0:	55                   	push   %ebp
40ddc1:	8b ec                	mov    %esp,%ebp
40ddc3:	83 ec 04             	sub    $0x4,%esp
40ddc6:	53                   	push   %ebx
40ddc7:	51                   	push   %ecx
40ddc8:	8b 45 0c             	mov    0xc(%ebp),%eax
40ddcb:	83 c0 0c             	add    $0xc,%eax
40ddce:	89 45 fc             	mov    %eax,-0x4(%ebp)
40ddd1:	8b 45 08             	mov    0x8(%ebp),%eax
40ddd4:	55                   	push   %ebp
40ddd5:	ff 75 10             	push   0x10(%ebp)
40ddd8:	8b 4d 10             	mov    0x10(%ebp),%ecx
40dddb:	8b 6d fc             	mov    -0x4(%ebp),%ebp
40ddde:	e8 89 5d 00 00       	call   0x413b6c
40dde3:	56                   	push   %esi
40dde4:	57                   	push   %edi
40dde5:	ff d0                	call   *%eax
40dde7:	5f                   	pop    %edi
40dde8:	5e                   	pop    %esi
40dde9:	8b dd                	mov    %ebp,%ebx
40ddeb:	5d                   	pop    %ebp
40ddec:	8b 4d 10             	mov    0x10(%ebp),%ecx
40ddef:	55                   	push   %ebp
40ddf0:	8b eb                	mov    %ebx,%ebp
40ddf2:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
40ddf8:	75 05                	jne    0x40ddff
40ddfa:	b9 02 00 00 00       	mov    $0x2,%ecx
40ddff:	51                   	push   %ecx
40de00:	e8 67 5d 00 00       	call   0x413b6c
40de05:	5d                   	pop    %ebp
40de06:	59                   	pop    %ecx
40de07:	5b                   	pop    %ebx
40de08:	c9                   	leave
40de09:	c2 0c 00             	ret    $0xc
40de0c:	6a 08                	push   $0x8
40de0e:	68 38 e6 41 00       	push   $0x41e638
40de13:	e8 98 cf ff ff       	call   0x40adb0
40de18:	ff 35 8c 28 42 00    	push   0x42288c
40de1e:	ff 15 5c 90 41 00    	call   *0x41905c
40de24:	85 c0                	test   %eax,%eax
40de26:	74 16                	je     0x40de3e
40de28:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40de2c:	ff d0                	call   *%eax
40de2e:	eb 07                	jmp    0x40de37
40de30:	33 c0                	xor    %eax,%eax
40de32:	40                   	inc    %eax
40de33:	c3                   	ret
40de34:	8b 65 e8             	mov    -0x18(%ebp),%esp
40de37:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40de3e:	e8 01 00 00 00       	call   0x40de44
40de43:	cc                   	int3
40de44:	6a 08                	push   $0x8
40de46:	68 18 e6 41 00       	push   $0x41e618
40de4b:	e8 60 cf ff ff       	call   0x40adb0
40de50:	e8 81 e5 ff ff       	call   0x40c3d6
40de55:	8b 40 78             	mov    0x78(%eax),%eax
40de58:	85 c0                	test   %eax,%eax
40de5a:	74 16                	je     0x40de72
40de5c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40de60:	ff d0                	call   *%eax
40de62:	eb 07                	jmp    0x40de6b
40de64:	33 c0                	xor    %eax,%eax
40de66:	40                   	inc    %eax
40de67:	c3                   	ret
40de68:	8b 65 e8             	mov    -0x18(%ebp),%esp
40de6b:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40de72:	e8 df ac ff ff       	call   0x408b56
40de77:	cc                   	int3
40de78:	e8 59 e5 ff ff       	call   0x40c3d6
40de7d:	8b 40 7c             	mov    0x7c(%eax),%eax
40de80:	85 c0                	test   %eax,%eax
40de82:	74 02                	je     0x40de86
40de84:	ff d0                	call   *%eax
40de86:	e9 b9 ff ff ff       	jmp    0x40de44
40de8b:	68 44 de 40 00       	push   $0x40de44
40de90:	ff 15 58 90 41 00    	call   *0x419058
40de96:	a3 8c 28 42 00       	mov    %eax,0x42288c
40de9b:	c3                   	ret
40de9c:	6a 10                	push   $0x10
40de9e:	68 58 e6 41 00       	push   $0x41e658
40dea3:	e8 08 cf ff ff       	call   0x40adb0
40dea8:	33 ff                	xor    %edi,%edi
40deaa:	89 7d e4             	mov    %edi,-0x1c(%ebp)
40dead:	6a 01                	push   $0x1
40deaf:	e8 f3 a5 ff ff       	call   0x4084a7
40deb4:	59                   	pop    %ecx
40deb5:	21 7d fc             	and    %edi,-0x4(%ebp)
40deb8:	6a 03                	push   $0x3
40deba:	5e                   	pop    %esi
40debb:	89 75 e0             	mov    %esi,-0x20(%ebp)
40debe:	3b 35 38 2b 42 00    	cmp    0x422b38,%esi
40dec4:	7d 53                	jge    0x40df19
40dec6:	a1 34 2b 42 00       	mov    0x422b34,%eax
40decb:	8b 04 b0             	mov    (%eax,%esi,4),%eax
40dece:	85 c0                	test   %eax,%eax
40ded0:	74 44                	je     0x40df16
40ded2:	f6 40 0c 83          	testb  $0x83,0xc(%eax)
40ded6:	74 10                	je     0x40dee8
40ded8:	50                   	push   %eax
40ded9:	e8 7f 85 ff ff       	call   0x40645d
40dede:	59                   	pop    %ecx
40dedf:	83 f8 ff             	cmp    $0xffffffff,%eax
40dee2:	74 04                	je     0x40dee8
40dee4:	47                   	inc    %edi
40dee5:	89 7d e4             	mov    %edi,-0x1c(%ebp)
40dee8:	83 fe 14             	cmp    $0x14,%esi
40deeb:	7c 29                	jl     0x40df16
40deed:	a1 34 2b 42 00       	mov    0x422b34,%eax
40def2:	8b 04 b0             	mov    (%eax,%esi,4),%eax
40def5:	83 c0 20             	add    $0x20,%eax
40def8:	50                   	push   %eax
40def9:	ff 15 6c 90 41 00    	call   *0x41906c
40deff:	a1 34 2b 42 00       	mov    0x422b34,%eax
40df04:	ff 34 b0             	push   (%eax,%esi,4)
40df07:	e8 0c 72 ff ff       	call   0x405118
40df0c:	59                   	pop    %ecx
40df0d:	a1 34 2b 42 00       	mov    0x422b34,%eax
40df12:	83 24 b0 00          	andl   $0x0,(%eax,%esi,4)
40df16:	46                   	inc    %esi
40df17:	eb a2                	jmp    0x40debb
40df19:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40df20:	e8 0b 00 00 00       	call   0x40df30
40df25:	8b c7                	mov    %edi,%eax
40df27:	e8 c9 ce ff ff       	call   0x40adf5
40df2c:	c3                   	ret
40df2d:	8b 7d e4             	mov    -0x1c(%ebp),%edi
40df30:	6a 01                	push   $0x1
40df32:	e8 d4 a6 ff ff       	call   0x40860b
40df37:	59                   	pop    %ecx