41bf2e:	59                   	pop    %ecx
41bf2f:	85 f6                	test   %esi,%esi
41bf31:	74 3f                	je     0x41bf72
41bf33:	c7 06 dd dd 00 00    	movl   $0xdddd,(%esi)
41bf39:	83 c6 08             	add    $0x8,%esi
41bf3c:	eb 02                	jmp    0x41bf40
41bf3e:	8b f7                	mov    %edi,%esi
41bf40:	85 f6                	test   %esi,%esi
41bf42:	74 2e                	je     0x41bf72
41bf44:	53                   	push   %ebx
41bf45:	56                   	push   %esi
41bf46:	ff 75 10             	push   0x10(%ebp)
41bf49:	ff 75 0c             	push   0xc(%ebp)
41bf4c:	e8 64 d1 ff ff       	call   0x4190b5
41bf51:	85 c0                	test   %eax,%eax
41bf53:	74 1d                	je     0x41bf72
41bf55:	8b 45 18             	mov    0x18(%ebp),%eax
41bf58:	57                   	push   %edi
41bf59:	57                   	push   %edi
41bf5a:	50                   	push   %eax
41bf5b:	f7 d8                	neg    %eax
41bf5d:	1b c0                	sbb    %eax,%eax
41bf5f:	23 45 14             	and    0x14(%ebp),%eax
41bf62:	50                   	push   %eax
41bf63:	6a ff                	push   $0xffffffff
41bf65:	56                   	push   %esi
41bf66:	57                   	push   %edi
41bf67:	ff 75 f8             	push   -0x8(%ebp)
41bf6a:	ff 15 2c 71 42 00    	call   *0x42712c
41bf70:	8b f8                	mov    %eax,%edi
41bf72:	56                   	push   %esi
41bf73:	e8 16 a3 fe ff       	call   0x40628e
41bf78:	59                   	pop    %ecx
41bf79:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
41bf7d:	74 0a                	je     0x41bf89
41bf7f:	8b 45 e8             	mov    -0x18(%ebp),%eax
41bf82:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
41bf89:	8b c7                	mov    %edi,%eax
41bf8b:	8d 65 dc             	lea    -0x24(%ebp),%esp
41bf8e:	5f                   	pop    %edi
41bf8f:	5e                   	pop    %esi
41bf90:	5b                   	pop    %ebx
41bf91:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41bf94:	33 cd                	xor    %ebp,%ecx
41bf96:	e8 c5 b0 fe ff       	call   0x407060
41bf9b:	8b e5                	mov    %ebp,%esp
41bf9d:	5d                   	pop    %ebp
41bf9e:	c3                   	ret
41bf9f:	8b ff                	mov    %edi,%edi
41bfa1:	55                   	push   %ebp
41bfa2:	8b ec                	mov    %esp,%ebp
41bfa4:	81 ec 90 00 00 00    	sub    $0x90,%esp
41bfaa:	a1 28 ba 43 00       	mov    0x43ba28,%eax
41bfaf:	33 c5                	xor    %ebp,%eax
41bfb1:	89 45 fc             	mov    %eax,-0x4(%ebp)
41bfb4:	8b 45 0c             	mov    0xc(%ebp),%eax
41bfb7:	8b 4d 08             	mov    0x8(%ebp),%ecx
41bfba:	53                   	push   %ebx
41bfbb:	8b 5d 18             	mov    0x18(%ebp),%ebx
41bfbe:	56                   	push   %esi
41bfbf:	8b 75 10             	mov    0x10(%ebp),%esi
41bfc2:	57                   	push   %edi
41bfc3:	33 ff                	xor    %edi,%edi
41bfc5:	89 8d 70 ff ff ff    	mov    %ecx,-0x90(%ebp)
41bfcb:	89 b5 78 ff ff ff    	mov    %esi,-0x88(%ebp)
41bfd1:	89 3b                	mov    %edi,(%ebx)
41bfd3:	83 f8 01             	cmp    $0x1,%eax
41bfd6:	0f 85 e2 00 00 00    	jne    0x41c0be
41bfdc:	68 80 00 00 00       	push   $0x80
41bfe1:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
41bfe7:	50                   	push   %eax
41bfe8:	ff 75 14             	push   0x14(%ebp)
41bfeb:	56                   	push   %esi
41bfec:	51                   	push   %ecx
41bfed:	e8 b2 fe ff ff       	call   0x41bea4
41bff2:	83 c4 14             	add    $0x14,%esp
41bff5:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
41bffb:	85 c0                	test   %eax,%eax
41bffd:	74 46                	je     0x41c045
41bfff:	6a 01                	push   $0x1
41c001:	50                   	push   %eax
41c002:	e8 28 84 ff ff       	call   0x41442f
41c007:	57                   	push   %edi
41c008:	89 03                	mov    %eax,(%ebx)
41c00a:	e8 01 8d ff ff       	call   0x414d10
41c00f:	83 c4 0c             	add    $0xc,%esp
41c012:	39 3b                	cmp    %edi,(%ebx)
41c014:	0f 84 18 01 00 00    	je     0x41c132
41c01a:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
41c020:	8d 41 ff             	lea    -0x1(%ecx),%eax
41c023:	50                   	push   %eax
41c024:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
41c02a:	50                   	push   %eax
41c02b:	51                   	push   %ecx
41c02c:	ff 33                	push   (%ebx)
41c02e:	e8 c9 8e 00 00       	call   0x424efc
41c033:	83 c4 10             	add    $0x10,%esp
41c036:	85 c0                	test   %eax,%eax
41c038:	0f 85 08 01 00 00    	jne    0x41c146
41c03e:	33 c0                	xor    %eax,%eax
41c040:	e9 f0 00 00 00       	jmp    0x41c135
41c045:	ff 15 c4 71 42 00    	call   *0x4271c4
41c04b:	83 f8 7a             	cmp    $0x7a,%eax
41c04e:	0f 85 de 00 00 00    	jne    0x41c132
41c054:	57                   	push   %edi
41c055:	57                   	push   %edi
41c056:	ff 75 14             	push   0x14(%ebp)
41c059:	56                   	push   %esi
41c05a:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
41c060:	e8 3f fe ff ff       	call   0x41bea4
41c065:	83 c4 14             	add    $0x14,%esp
41c068:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
41c06e:	85 c0                	test   %eax,%eax
41c070:	0f 84 bc 00 00 00    	je     0x41c132
41c076:	6a 01                	push   $0x1
41c078:	50                   	push   %eax
41c079:	e8 b1 83 ff ff       	call   0x41442f
41c07e:	8b f0                	mov    %eax,%esi
41c080:	59                   	pop    %ecx
41c081:	59                   	pop    %ecx
41c082:	85 f6                	test   %esi,%esi
41c084:	74 2a                	je     0x41c0b0
41c086:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
41c08c:	56                   	push   %esi
41c08d:	ff 75 14             	push   0x14(%ebp)
41c090:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
41c096:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
41c09c:	e8 03 fe ff ff       	call   0x41bea4
41c0a1:	83 c4 14             	add    $0x14,%esp
41c0a4:	85 c0                	test   %eax,%eax
41c0a6:	74 08                	je     0x41c0b0
41c0a8:	8b c6                	mov    %esi,%eax
41c0aa:	8b f7                	mov    %edi,%esi
41c0ac:	89 03                	mov    %eax,(%ebx)
41c0ae:	eb 03                	jmp    0x41c0b3
41c0b0:	83 cf ff             	or     $0xffffffff,%edi
41c0b3:	56                   	push   %esi
41c0b4:	e8 57 8c ff ff       	call   0x414d10
41c0b9:	59                   	pop    %ecx
41c0ba:	8b c7                	mov    %edi,%eax
41c0bc:	eb 77                	jmp    0x41c135
41c0be:	83 f8 02             	cmp    $0x2,%eax
41c0c1:	75 3c                	jne    0x41c0ff
41c0c3:	57                   	push   %edi
41c0c4:	57                   	push   %edi
41c0c5:	ff 75 14             	push   0x14(%ebp)
41c0c8:	56                   	push   %esi
41c0c9:	e8 e7 cf ff ff       	call   0x4190b5
41c0ce:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
41c0d4:	85 c0                	test   %eax,%eax
41c0d6:	74 5a                	je     0x41c132
41c0d8:	6a 02                	push   $0x2
41c0da:	50                   	push   %eax
41c0db:	e8 4f 83 ff ff       	call   0x41442f
41c0e0:	8b f0                	mov    %eax,%esi
41c0e2:	59                   	pop    %ecx
41c0e3:	59                   	pop    %ecx
41c0e4:	85 f6                	test   %esi,%esi
41c0e6:	74 c8                	je     0x41c0b0
41c0e8:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
41c0ee:	56                   	push   %esi
41c0ef:	ff 75 14             	push   0x14(%ebp)
41c0f2:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
41c0f8:	e8 b8 cf ff ff       	call   0x4190b5
41c0fd:	eb a5                	jmp    0x41c0a4
41c0ff:	85 c0                	test   %eax,%eax
41c101:	75 2f                	jne    0x41c132
41c103:	6a 02                	push   $0x2
41c105:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
41c10b:	89 bd 78 ff ff ff    	mov    %edi,-0x88(%ebp)
41c111:	50                   	push   %eax
41c112:	8b 45 14             	mov    0x14(%ebp),%eax
41c115:	0d 00 00 00 20       	or     $0x20000000,%eax
41c11a:	50                   	push   %eax
41c11b:	56                   	push   %esi
41c11c:	e8 94 cf ff ff       	call   0x4190b5
41c121:	85 c0                	test   %eax,%eax
41c123:	74 0d                	je     0x41c132
41c125:	8a 85 78 ff ff ff    	mov    -0x88(%ebp),%al
41c12b:	88 03                	mov    %al,(%ebx)
41c12d:	e9 0c ff ff ff       	jmp    0x41c03e
41c132:	83 c8 ff             	or     $0xffffffff,%eax
41c135:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41c138:	5f                   	pop    %edi
41c139:	5e                   	pop    %esi
41c13a:	33 cd                	xor    %ebp,%ecx
41c13c:	5b                   	pop    %ebx
41c13d:	e8 1e af fe ff       	call   0x407060
41c142:	8b e5                	mov    %ebp,%esp
41c144:	5d                   	pop    %ebp
41c145:	c3                   	ret
41c146:	57                   	push   %edi
41c147:	57                   	push   %edi
41c148:	57                   	push   %edi
41c149:	57                   	push   %edi
41c14a:	57                   	push   %edi
41c14b:	e8 bf fb fe ff       	call   0x40bd0f
41c150:	cc                   	int3
41c151:	8b ff                	mov    %edi,%edi
41c153:	55                   	push   %ebp
41c154:	8b ec                	mov    %esp,%ebp
41c156:	83 ec 18             	sub    $0x18,%esp
41c159:	a1 28 ba 43 00       	mov    0x43ba28,%eax
41c15e:	33 c5                	xor    %ebp,%eax
41c160:	89 45 fc             	mov    %eax,-0x4(%ebp)
41c163:	53                   	push   %ebx
41c164:	56                   	push   %esi
41c165:	57                   	push   %edi
41c166:	ff 75 08             	push   0x8(%ebp)
41c169:	8d 4d e8             	lea    -0x18(%ebp),%ecx
41c16c:	e8 57 06 ff ff       	call   0x40c7c8
41c171:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
41c174:	85 c9                	test   %ecx,%ecx
41c176:	75 0b                	jne    0x41c183
41c178:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c17b:	8b 40 08             	mov    0x8(%eax),%eax
41c17e:	8b c8                	mov    %eax,%ecx
41c180:	89 45 1c             	mov    %eax,0x1c(%ebp)
41c183:	33 c0                	xor    %eax,%eax
41c185:	33 ff                	xor    %edi,%edi
41c187:	39 45 20             	cmp    %eax,0x20(%ebp)
41c18a:	57                   	push   %edi
41c18b:	57                   	push   %edi
41c18c:	ff 75 14             	push   0x14(%ebp)
41c18f:	0f 95 c0             	setne  %al
41c192:	ff 75 10             	push   0x10(%ebp)
41c195:	8d 04 c5 01 00 00 00 	lea    0x1(,%eax,8),%eax
41c19c:	50                   	push   %eax
41c19d:	51                   	push   %ecx
41c19e:	ff 15 30 71 42 00    	call   *0x427130
41c1a4:	89 45 f8             	mov    %eax,-0x8(%ebp)
41c1a7:	85 c0                	test   %eax,%eax
41c1a9:	0f 84 99 00 00 00    	je     0x41c248
41c1af:	8d 1c 00             	lea    (%eax,%eax,1),%ebx
41c1b2:	8d 4b 08             	lea    0x8(%ebx),%ecx
41c1b5:	3b d9                	cmp    %ecx,%ebx
41c1b7:	1b c0                	sbb    %eax,%eax
41c1b9:	85 c1                	test   %eax,%ecx
41c1bb:	74 4a                	je     0x41c207
41c1bd:	8d 4b 08             	lea    0x8(%ebx),%ecx
41c1c0:	3b d9                	cmp    %ecx,%ebx
41c1c2:	1b c0                	sbb    %eax,%eax
41c1c4:	23 c1                	and    %ecx,%eax
41c1c6:	8d 4b 08             	lea    0x8(%ebx),%ecx
41c1c9:	3d 00 04 00 00       	cmp    $0x400,%eax
41c1ce:	77 19                	ja     0x41c1e9
41c1d0:	3b d9                	cmp    %ecx,%ebx
41c1d2:	1b c0                	sbb    %eax,%eax
41c1d4:	23 c1                	and    %ecx,%eax
41c1d6:	e8 25 af fe ff       	call   0x407100
41c1db:	8b f4                	mov    %esp,%esi
41c1dd:	85 f6                	test   %esi,%esi
41c1df:	74 60                	je     0x41c241
41c1e1:	c7 06 cc cc 00 00    	movl   $0xcccc,(%esi)
41c1e7:	eb 19                	jmp    0x41c202
41c1e9:	3b d9                	cmp    %ecx,%ebx
41c1eb:	1b c0                	sbb    %eax,%eax
41c1ed:	23 c1                	and    %ecx,%eax
41c1ef:	50                   	push   %eax
41c1f0:	e8 55 8b ff ff       	call   0x414d4a
41c1f5:	8b f0                	mov    %eax,%esi
41c1f7:	59                   	pop    %ecx
41c1f8:	85 f6                	test   %esi,%esi
41c1fa:	74 45                	je     0x41c241
41c1fc:	c7 06 dd dd 00 00    	movl   $0xdddd,(%esi)
41c202:	83 c6 08             	add    $0x8,%esi
41c205:	eb 02                	jmp    0x41c209
41c207:	8b f7                	mov    %edi,%esi
41c209:	85 f6                	test   %esi,%esi
41c20b:	74 34                	je     0x41c241
41c20d:	53                   	push   %ebx
41c20e:	57                   	push   %edi
41c20f:	56                   	push   %esi
41c210:	e8 cb c7 fe ff       	call   0x4089e0
41c215:	83 c4 0c             	add    $0xc,%esp
41c218:	ff 75 f8             	push   -0x8(%ebp)
41c21b:	56                   	push   %esi
41c21c:	ff 75 14             	push   0x14(%ebp)
41c21f:	ff 75 10             	push   0x10(%ebp)
41c222:	6a 01                	push   $0x1
41c224:	ff 75 1c             	push   0x1c(%ebp)
41c227:	ff 15 30 71 42 00    	call   *0x427130
41c22d:	85 c0                	test   %eax,%eax
41c22f:	74 10                	je     0x41c241
41c231:	ff 75 18             	push   0x18(%ebp)
41c234:	50                   	push   %eax
41c235:	56                   	push   %esi
41c236:	ff 75 0c             	push   0xc(%ebp)
41c239:	ff 15 34 71 42 00    	call   *0x427134
41c23f:	8b f8                	mov    %eax,%edi
41c241:	56                   	push   %esi
41c242:	e8 47 a0 fe ff       	call   0x40628e
41c247:	59                   	pop    %ecx
41c248:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
41c24c:	74 0a                	je     0x41c258
41c24e:	8b 45 e8             	mov    -0x18(%ebp),%eax
41c251:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
41c258:	8b c7                	mov    %edi,%eax
41c25a:	8d 65 dc             	lea    -0x24(%ebp),%esp
41c25d:	5f                   	pop    %edi
41c25e:	5e                   	pop    %esi
41c25f:	5b                   	pop    %ebx
41c260:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41c263:	33 cd                	xor    %ebp,%ecx
41c265:	e8 f6 ad fe ff       	call   0x407060
41c26a:	8b e5                	mov    %ebp,%esp
41c26c:	5d                   	pop    %ebp
41c26d:	c3                   	ret
41c26e:	8b ff                	mov    %edi,%edi
41c270:	55                   	push   %ebp
41c271:	8b ec                	mov    %esp,%ebp
41c273:	51                   	push   %ecx
41c274:	51                   	push   %ecx
41c275:	a1 28 ba 43 00       	mov    0x43ba28,%eax
41c27a:	33 c5                	xor    %ebp,%eax
41c27c:	89 45 fc             	mov    %eax,-0x4(%ebp)
41c27f:	53                   	push   %ebx
41c280:	56                   	push   %esi
41c281:	8b 75 18             	mov    0x18(%ebp),%esi
41c284:	57                   	push   %edi
41c285:	85 f6                	test   %esi,%esi
41c287:	7e 14                	jle    0x41c29d
41c289:	56                   	push   %esi
41c28a:	ff 75 14             	push   0x14(%ebp)
41c28d:	e8 62 8a ff ff       	call   0x414cf4
41c292:	59                   	pop    %ecx
41c293:	3b c6                	cmp    %esi,%eax
41c295:	59                   	pop    %ecx
41c296:	8d 70 01             	lea    0x1(%eax),%esi
41c299:	7c 02                	jl     0x41c29d
41c29b:	8b f0                	mov    %eax,%esi
41c29d:	8b 7d 24             	mov    0x24(%ebp),%edi
41c2a0:	85 ff                	test   %edi,%edi
41c2a2:	75 0b                	jne    0x41c2af
41c2a4:	8b 45 08             	mov    0x8(%ebp),%eax
41c2a7:	8b 00                	mov    (%eax),%eax
41c2a9:	8b 78 08             	mov    0x8(%eax),%edi
41c2ac:	89 7d 24             	mov    %edi,0x24(%ebp)
41c2af:	33 c0                	xor    %eax,%eax
41c2b1:	39 45 28             	cmp    %eax,0x28(%ebp)
41c2b4:	6a 00                	push   $0x0
41c2b6:	6a 00                	push   $0x0
41c2b8:	56                   	push   %esi
41c2b9:	ff 75 14             	push   0x14(%ebp)
41c2bc:	0f 95 c0             	setne  %al
41c2bf:	8d 04 c5 01 00 00 00 	lea    0x1(,%eax,8),%eax
41c2c6:	50                   	push   %eax
41c2c7:	57                   	push   %edi
41c2c8:	ff 15 30 71 42 00    	call   *0x427130
41c2ce:	89 45 f8             	mov    %eax,-0x8(%ebp)