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
40df38:	c3                   	ret
40df39:	55                   	push   %ebp
40df3a:	8b ec                	mov    %esp,%ebp
40df3c:	8b 45 08             	mov    0x8(%ebp),%eax
40df3f:	85 c0                	test   %eax,%eax
40df41:	75 15                	jne    0x40df58
40df43:	e8 35 a2 ff ff       	call   0x40817d
40df48:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40df4e:	e8 a2 d6 ff ff       	call   0x40b5f5
40df53:	83 c8 ff             	or     $0xffffffff,%eax
40df56:	5d                   	pop    %ebp
40df57:	c3                   	ret
40df58:	8b 40 10             	mov    0x10(%eax),%eax
40df5b:	5d                   	pop    %ebp
40df5c:	c3                   	ret
40df5d:	6a 10                	push   $0x10
40df5f:	68 78 e6 41 00       	push   $0x41e678
40df64:	e8 47 ce ff ff       	call   0x40adb0
40df69:	8b 75 08             	mov    0x8(%ebp),%esi
40df6c:	83 fe fe             	cmp    $0xfffffffe,%esi
40df6f:	75 18                	jne    0x40df89
40df71:	e8 d3 a1 ff ff       	call   0x408149
40df76:	83 20 00             	andl   $0x0,(%eax)
40df79:	e8 ff a1 ff ff       	call   0x40817d
40df7e:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
40df84:	e9 a2 00 00 00       	jmp    0x40e02b
40df89:	e8 64 f6 ff ff       	call   0x40d5f2
40df8e:	85 c0                	test   %eax,%eax
40df90:	0f 88 95 00 00 00    	js     0x40e02b
40df96:	85 f6                	test   %esi,%esi
40df98:	78 79                	js     0x40e013
40df9a:	3b 35 14 2a 42 00    	cmp    0x422a14,%esi
40dfa0:	73 71                	jae    0x40e013
40dfa2:	8b de                	mov    %esi,%ebx
40dfa4:	c1 fb 05             	sar    $0x5,%ebx
40dfa7:	8b fe                	mov    %esi,%edi
40dfa9:	83 e7 1f             	and    $0x1f,%edi
40dfac:	c1 e7 06             	shl    $0x6,%edi
40dfaf:	8b 04 9d 20 2a 42 00 	mov    0x422a20(,%ebx,4),%eax
40dfb6:	0f be 44 38 04       	movsbl 0x4(%eax,%edi,1),%eax
40dfbb:	83 e0 01             	and    $0x1,%eax
40dfbe:	74 53                	je     0x40e013
40dfc0:	56                   	push   %esi
40dfc1:	e8 d1 5b 00 00       	call   0x413b97
40dfc6:	59                   	pop    %ecx
40dfc7:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40dfcb:	8b 04 9d 20 2a 42 00 	mov    0x422a20(,%ebx,4),%eax
40dfd2:	f6 44 38 04 01       	testb  $0x1,0x4(%eax,%edi,1)
40dfd7:	74 0b                	je     0x40dfe4
40dfd9:	56                   	push   %esi
40dfda:	e8 55 00 00 00       	call   0x40e034
40dfdf:	59                   	pop    %ecx
40dfe0:	8b f8                	mov    %eax,%edi
40dfe2:	eb 0e                	jmp    0x40dff2
40dfe4:	e8 94 a1 ff ff       	call   0x40817d
40dfe9:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
40dfef:	83 cf ff             	or     $0xffffffff,%edi
40dff2:	89 7d e4             	mov    %edi,-0x1c(%ebp)
40dff5:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40dffc:	e8 0a 00 00 00       	call   0x40e00b
40e001:	8b c7                	mov    %edi,%eax
40e003:	eb 29                	jmp    0x40e02e
40e005:	8b 75 08             	mov    0x8(%ebp),%esi
40e008:	8b 7d e4             	mov    -0x1c(%ebp),%edi
40e00b:	56                   	push   %esi
40e00c:	e8 0a 5d 00 00       	call   0x413d1b
40e011:	59                   	pop    %ecx
40e012:	c3                   	ret
40e013:	e8 31 a1 ff ff       	call   0x408149
40e018:	83 20 00             	andl   $0x0,(%eax)
40e01b:	e8 5d a1 ff ff       	call   0x40817d
40e020:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
40e026:	e8 ca d5 ff ff       	call   0x40b5f5
40e02b:	83 c8 ff             	or     $0xffffffff,%eax
40e02e:	e8 c2 cd ff ff       	call   0x40adf5
40e033:	c3                   	ret
40e034:	55                   	push   %ebp
40e035:	8b ec                	mov    %esp,%ebp
40e037:	e8 b6 f5 ff ff       	call   0x40d5f2
40e03c:	85 c0                	test   %eax,%eax
40e03e:	79 05                	jns    0x40e045
40e040:	83 c8 ff             	or     $0xffffffff,%eax
40e043:	5d                   	pop    %ebp
40e044:	c3                   	ret
40e045:	56                   	push   %esi
40e046:	57                   	push   %edi
40e047:	8b 7d 08             	mov    0x8(%ebp),%edi
40e04a:	57                   	push   %edi
40e04b:	e8 59 5c 00 00       	call   0x413ca9
40e050:	59                   	pop    %ecx
40e051:	83 f8 ff             	cmp    $0xffffffff,%eax
40e054:	74 50                	je     0x40e0a6
40e056:	a1 20 2a 42 00       	mov    0x422a20,%eax
40e05b:	83 ff 01             	cmp    $0x1,%edi
40e05e:	75 09                	jne    0x40e069
40e060:	f6 80 84 00 00 00 01 	testb  $0x1,0x84(%eax)
40e067:	75 0b                	jne    0x40e074
40e069:	83 ff 02             	cmp    $0x2,%edi
40e06c:	75 1c                	jne    0x40e08a
40e06e:	f6 40 44 01          	testb  $0x1,0x44(%eax)
40e072:	74 16                	je     0x40e08a
40e074:	6a 02                	push   $0x2
40e076:	e8 2e 5c 00 00       	call   0x413ca9
40e07b:	6a 01                	push   $0x1
40e07d:	8b f0                	mov    %eax,%esi
40e07f:	e8 25 5c 00 00       	call   0x413ca9
40e084:	59                   	pop    %ecx
40e085:	59                   	pop    %ecx
40e086:	3b c6                	cmp    %esi,%eax
40e088:	74 1c                	je     0x40e0a6
40e08a:	57                   	push   %edi
40e08b:	e8 19 5c 00 00       	call   0x413ca9
40e090:	59                   	pop    %ecx
40e091:	50                   	push   %eax
40e092:	ff 15 40 90 41 00    	call   *0x419040
40e098:	85 c0                	test   %eax,%eax
40e09a:	75 0a                	jne    0x40e0a6
40e09c:	ff 15 18 90 41 00    	call   *0x419018
40e0a2:	8b f0                	mov    %eax,%esi
40e0a4:	eb 02                	jmp    0x40e0a8
40e0a6:	33 f6                	xor    %esi,%esi
40e0a8:	57                   	push   %edi
40e0a9:	e8 75 5b 00 00       	call   0x413c23
40e0ae:	59                   	pop    %ecx
40e0af:	8b cf                	mov    %edi,%ecx
40e0b1:	c1 f9 05             	sar    $0x5,%ecx
40e0b4:	83 e7 1f             	and    $0x1f,%edi
40e0b7:	8b 0c 8d 20 2a 42 00 	mov    0x422a20(,%ecx,4),%ecx
40e0be:	c1 e7 06             	shl    $0x6,%edi
40e0c1:	c6 44 39 04 00       	movb   $0x0,0x4(%ecx,%edi,1)
40e0c6:	85 f6                	test   %esi,%esi
40e0c8:	74 0c                	je     0x40e0d6
40e0ca:	56                   	push   %esi
40e0cb:	e8 8c a0 ff ff       	call   0x40815c
40e0d0:	59                   	pop    %ecx
40e0d1:	83 c8 ff             	or     $0xffffffff,%eax
40e0d4:	eb 02                	jmp    0x40e0d8
40e0d6:	33 c0                	xor    %eax,%eax
40e0d8:	5f                   	pop    %edi
40e0d9:	5e                   	pop    %esi
40e0da:	5d                   	pop    %ebp
40e0db:	c3                   	ret
40e0dc:	55                   	push   %ebp
40e0dd:	8b ec                	mov    %esp,%ebp
40e0df:	56                   	push   %esi
40e0e0:	8b 75 08             	mov    0x8(%ebp),%esi
40e0e3:	f6 46 0c 83          	testb  $0x83,0xc(%esi)
40e0e7:	74 20                	je     0x40e109
40e0e9:	f6 46 0c 08          	testb  $0x8,0xc(%esi)
40e0ed:	74 1a                	je     0x40e109
40e0ef:	ff 76 08             	push   0x8(%esi)
40e0f2:	e8 21 70 ff ff       	call   0x405118
40e0f7:	81 66 0c f7 fb ff ff 	andl   $0xfffffbf7,0xc(%esi)
40e0fe:	33 c0                	xor    %eax,%eax
40e100:	59                   	pop    %ecx
40e101:	89 06                	mov    %eax,(%esi)
40e103:	89 46 08             	mov    %eax,0x8(%esi)
40e106:	89 46 04             	mov    %eax,0x4(%esi)
40e109:	5e                   	pop    %esi
40e10a:	5d                   	pop    %ebp
40e10b:	c3                   	ret
40e10c:	6a 14                	push   $0x14
40e10e:	68 98 e6 41 00       	push   $0x41e698
40e113:	e8 98 cc ff ff       	call   0x40adb0
40e118:	8b 7d 08             	mov    0x8(%ebp),%edi
40e11b:	83 ff fe             	cmp    $0xfffffffe,%edi
40e11e:	75 10                	jne    0x40e130
40e120:	e8 58 a0 ff ff       	call   0x40817d
40e125:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
40e12b:	e9 ca 00 00 00       	jmp    0x40e1fa
40e130:	e8 bd f4 ff ff       	call   0x40d5f2
40e135:	85 c0                	test   %eax,%eax
40e137:	79 08                	jns    0x40e141
40e139:	6a 09                	push   $0x9
40e13b:	58                   	pop    %eax