43ef43:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43ef46:	33 cd                	xor    %ebp,%ecx
43ef48:	e8 03 e0 00 00       	call   0x44cf50
43ef4d:	8b e5                	mov    %ebp,%esp
43ef4f:	5d                   	pop    %ebp
43ef50:	c3                   	ret
43ef51:	8b 0d 1c f0 44 00    	mov    0x44f01c,%ecx
43ef57:	68 30 f0 44 00       	push   $0x44f030
43ef5c:	68 18 f0 44 00       	push   $0x44f018
43ef61:	68 b0 48 41 00       	push   $0x4148b0
43ef66:	8b 41 f0             	mov    -0x10(%ecx),%eax
43ef69:	89 45 ec             	mov    %eax,-0x14(%ebp)
43ef6c:	8b 41 f4             	mov    -0xc(%ecx),%eax
43ef6f:	89 45 f0             	mov    %eax,-0x10(%ebp)
43ef72:	8b 41 f8             	mov    -0x8(%ecx),%eax
43ef75:	89 45 f4             	mov    %eax,-0xc(%ebp)
43ef78:	8b 41 fc             	mov    -0x4(%ecx),%eax
43ef7b:	89 45 f8             	mov    %eax,-0x8(%ebp)
43ef7e:	8d 45 ec             	lea    -0x14(%ebp),%eax
43ef81:	50                   	push   %eax
43ef82:	c7 05 38 f0 44 00 00 	movl   $0x0,0x44f038
43ef89:	00 00 00
43ef8c:	c7 05 3c f0 44 00 00 	movl   $0x0,0x44f03c
43ef93:	00 00 00
43ef96:	ff 15 90 22 45 00    	call   *0x452290
43ef9c:	85 c0                	test   %eax,%eax
43ef9e:	75 77                	jne    0x43f017
43efa0:	8b 3d 1c f0 44 00    	mov    0x44f01c,%edi
43efa6:	8b 35 7c f7 44 00    	mov    0x44f77c,%esi
43efac:	0f b7 1f             	movzwl (%edi),%ebx
43efaf:	85 f6                	test   %esi,%esi
43efb1:	75 4a                	jne    0x43effd
43efb3:	8b 15 74 f7 44 00    	mov    0x44f774,%edx
43efb9:	8d 45 e8             	lea    -0x18(%ebp),%eax
43efbc:	8b 0d 68 f7 44 00    	mov    0x44f768,%ecx
43efc2:	81 e2 00 08 00 00    	and    $0x800,%edx
43efc8:	50                   	push   %eax
43efc9:	68 76 f7 44 00       	push   $0x44f776
43efce:	ff 35 6c f7 44 00    	push   0x44f76c
43efd4:	c1 ea 0b             	shr    $0xb,%edx
43efd7:	89 75 e8             	mov    %esi,-0x18(%ebp)
43efda:	e8 01 05 00 00       	call   0x43f4e0
43efdf:	8b 75 e8             	mov    -0x18(%ebp),%esi
43efe2:	89 35 7c f7 44 00    	mov    %esi,0x44f77c
43efe8:	a3 78 f7 44 00       	mov    %eax,0x44f778
43efed:	85 f6                	test   %esi,%esi
43efef:	75 0c                	jne    0x43effd
43eff1:	8b 35 70 f7 44 00    	mov    0x44f770,%esi
43eff7:	89 35 7c f7 44 00    	mov    %esi,0x44f77c
43effd:	53                   	push   %ebx
43effe:	57                   	push   %edi
43efff:	6a 02                	push   $0x2
43f001:	ff 35 34 f0 44 00    	push   0x44f034
43f007:	8b ce                	mov    %esi,%ecx
43f009:	ff 35 30 f0 44 00    	push   0x44f030
43f00f:	ff 15 84 23 45 00    	call   *0x452384
43f015:	ff d6                	call   *%esi
43f017:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43f01a:	33 c0                	xor    %eax,%eax
43f01c:	5f                   	pop    %edi
43f01d:	5e                   	pop    %esi
43f01e:	33 cd                	xor    %ebp,%ecx
43f020:	5b                   	pop    %ebx
43f021:	e8 2a df 00 00       	call   0x44cf50
43f026:	8b e5                	mov    %ebp,%esp
43f028:	5d                   	pop    %ebp
43f029:	c3                   	ret
43f02a:	cc                   	int3
43f02b:	cc                   	int3
43f02c:	cc                   	int3
43f02d:	cc                   	int3
43f02e:	cc                   	int3
43f02f:	cc                   	int3
43f030:	8b ff                	mov    %edi,%edi
43f032:	55                   	push   %ebp
43f033:	8b ec                	mov    %esp,%ebp
43f035:	83 e4 f8             	and    $0xfffffff8,%esp
43f038:	83 ec 5c             	sub    $0x5c,%esp
43f03b:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
43f040:	33 c4                	xor    %esp,%eax
43f042:	89 44 24 58          	mov    %eax,0x58(%esp)
43f046:	83 3d 18 f0 44 00 05 	cmpl   $0x5,0x44f018
43f04d:	53                   	push   %ebx
43f04e:	56                   	push   %esi
43f04f:	57                   	push   %edi
43f050:	8b fa                	mov    %edx,%edi
43f052:	8b d9                	mov    %ecx,%ebx
43f054:	0f 86 1a 01 00 00    	jbe    0x43f174
43f05a:	8b 35 24 f0 44 00    	mov    0x44f024,%esi
43f060:	33 c0                	xor    %eax,%eax
43f062:	81 e6 00 40 00 00    	and    $0x4000,%esi
43f068:	0b c6                	or     %esi,%eax
43f06a:	0f 84 04 01 00 00    	je     0x43f174
43f070:	8b 0d 2c f0 44 00    	mov    0x44f02c,%ecx
43f076:	33 d2                	xor    %edx,%edx
43f078:	8b c1                	mov    %ecx,%eax
43f07a:	25 00 40 00 00       	and    $0x4000,%eax
43f07f:	3b 15 28 f0 44 00    	cmp    0x44f028,%edx
43f085:	0f 85 e9 00 00 00    	jne    0x43f174
43f08b:	3b c1                	cmp    %ecx,%eax
43f08d:	0f 85 e1 00 00 00    	jne    0x43f174
43f093:	8b 55 08             	mov    0x8(%ebp),%edx
43f096:	85 d2                	test   %edx,%edx
43f098:	74 1e                	je     0x43f0b8
43f09a:	8b ca                	mov    %edx,%ecx
43f09c:	8d 71 02             	lea    0x2(%ecx),%esi
43f09f:	90                   	nop
43f0a0:	66 8b 01             	mov    (%ecx),%ax
43f0a3:	83 c1 02             	add    $0x2,%ecx
43f0a6:	66 85 c0             	test   %ax,%ax
43f0a9:	75 f5                	jne    0x43f0a0
43f0ab:	2b ce                	sub    %esi,%ecx
43f0ad:	d1 f9                	sar    $1,%ecx
43f0af:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
43f0b6:	eb 0a                	jmp    0x43f0c2
43f0b8:	ba 8c 20 40 00       	mov    $0x40208c,%edx
43f0bd:	b9 02 00 00 00       	mov    $0x2,%ecx
43f0c2:	89 54 24 50          	mov    %edx,0x50(%esp)
43f0c6:	c7 44 24 54 00 00 00 	movl   $0x0,0x54(%esp)
43f0cd:	00
43f0ce:	89 4c 24 58          	mov    %ecx,0x58(%esp)
43f0d2:	c7 44 24 5c 00 00 00 	movl   $0x0,0x5c(%esp)
43f0d9:	00
43f0da:	85 ff                	test   %edi,%edi
43f0dc:	74 11                	je     0x43f0ef
43f0de:	8b cf                	mov    %edi,%ecx
43f0e0:	8d 51 01             	lea    0x1(%ecx),%edx
43f0e3:	8a 01                	mov    (%ecx),%al
43f0e5:	41                   	inc    %ecx
43f0e6:	84 c0                	test   %al,%al
43f0e8:	75 f9                	jne    0x43f0e3
43f0ea:	2b ca                	sub    %edx,%ecx
43f0ec:	41                   	inc    %ecx
43f0ed:	eb 0a                	jmp    0x43f0f9
43f0ef:	bf 52 0d 41 00       	mov    $0x410d52,%edi
43f0f4:	b9 01 00 00 00       	mov    $0x1,%ecx
43f0f9:	89 7c 24 40          	mov    %edi,0x40(%esp)
43f0fd:	c7 44 24 44 00 00 00 	movl   $0x0,0x44(%esp)
43f104:	00
43f105:	89 4c 24 48          	mov    %ecx,0x48(%esp)
43f109:	c7 44 24 4c 00 00 00 	movl   $0x0,0x4c(%esp)
43f110:	00
43f111:	85 db                	test   %ebx,%ebx
43f113:	74 23                	je     0x43f138
43f115:	8b cb                	mov    %ebx,%ecx
43f117:	8d 51 02             	lea    0x2(%ecx),%edx
43f11a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
43f120:	66 8b 01             	mov    (%ecx),%ax
43f123:	83 c1 02             	add    $0x2,%ecx
43f126:	66 85 c0             	test   %ax,%ax
43f129:	75 f5                	jne    0x43f120
43f12b:	2b ca                	sub    %edx,%ecx
43f12d:	d1 f9                	sar    $1,%ecx
43f12f:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
43f136:	eb 0a                	jmp    0x43f142
43f138:	bb 8c 20 40 00       	mov    $0x40208c,%ebx
43f13d:	b9 02 00 00 00       	mov    $0x2,%ecx
43f142:	8d 44 24 10          	lea    0x10(%esp),%eax
43f146:	89 5c 24 30          	mov    %ebx,0x30(%esp)
43f14a:	50                   	push   %eax
43f14b:	6a 05                	push   $0x5
43f14d:	6a 00                	push   $0x0
43f14f:	6a 00                	push   $0x0
43f151:	68 34 44 41 00       	push   $0x414434
43f156:	68 18 f0 44 00       	push   $0x44f018
43f15b:	c7 44 24 4c 00 00 00 	movl   $0x0,0x4c(%esp)
43f162:	00
43f163:	89 4c 24 50          	mov    %ecx,0x50(%esp)
43f167:	c7 44 24 54 00 00 00 	movl   $0x0,0x54(%esp)
43f16e:	00
43f16f:	e8 cc 57 fd ff       	call   0x414940
43f174:	8b 4c 24 64          	mov    0x64(%esp),%ecx
43f178:	5f                   	pop    %edi
43f179:	5e                   	pop    %esi
43f17a:	5b                   	pop    %ebx
43f17b:	33 cc                	xor    %esp,%ecx
43f17d:	e8 ce dd 00 00       	call   0x44cf50
43f182:	8b e5                	mov    %ebp,%esp
43f184:	5d                   	pop    %ebp
43f185:	c2 04 00             	ret    $0x4
43f188:	cc                   	int3
43f189:	cc                   	int3
43f18a:	cc                   	int3
43f18b:	cc                   	int3
43f18c:	cc                   	int3
43f18d:	cc                   	int3
43f18e:	cc                   	int3
43f18f:	cc                   	int3
43f190:	8b ff                	mov    %edi,%edi
43f192:	55                   	push   %ebp
43f193:	8b ec                	mov    %esp,%ebp
43f195:	83 ec 48             	sub    $0x48,%esp
43f198:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
43f19d:	33 c5                	xor    %ebp,%eax
43f19f:	89 45 fc             	mov    %eax,-0x4(%ebp)
43f1a2:	83 3d 18 f0 44 00 05 	cmpl   $0x5,0x44f018
43f1a9:	56                   	push   %esi
43f1aa:	57                   	push   %edi
43f1ab:	8b f9                	mov    %ecx,%edi
43f1ad:	0f 86 c4 00 00 00    	jbe    0x43f277
43f1b3:	8b 35 24 f0 44 00    	mov    0x44f024,%esi
43f1b9:	33 c0                	xor    %eax,%eax
43f1bb:	81 e6 00 40 00 00    	and    $0x4000,%esi
43f1c1:	0b c6                	or     %esi,%eax
43f1c3:	0f 84 ae 00 00 00    	je     0x43f277
43f1c9:	8b 0d 2c f0 44 00    	mov    0x44f02c,%ecx
43f1cf:	33 f6                	xor    %esi,%esi
43f1d1:	8b c1                	mov    %ecx,%eax
43f1d3:	25 00 40 00 00       	and    $0x4000,%eax
43f1d8:	3b 35 28 f0 44 00    	cmp    0x44f028,%esi
43f1de:	0f 85 93 00 00 00    	jne    0x43f277
43f1e4:	3b c1                	cmp    %ecx,%eax
43f1e6:	0f 85 8b 00 00 00    	jne    0x43f277
43f1ec:	85 d2                	test   %edx,%edx
43f1ee:	74 1d                	je     0x43f20d
43f1f0:	8b ca                	mov    %edx,%ecx
43f1f2:	8d 71 02             	lea    0x2(%ecx),%esi
43f1f5:	66 8b 01             	mov    (%ecx),%ax
43f1f8:	83 c1 02             	add    $0x2,%ecx
43f1fb:	66 85 c0             	test   %ax,%ax
43f1fe:	75 f5                	jne    0x43f1f5
43f200:	2b ce                	sub    %esi,%ecx
43f202:	d1 f9                	sar    $1,%ecx
43f204:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
43f20b:	eb 0a                	jmp    0x43f217
43f20d:	ba 8c 20 40 00       	mov    $0x40208c,%edx
43f212:	b9 02 00 00 00       	mov    $0x2,%ecx
43f217:	89 55 e8             	mov    %edx,-0x18(%ebp)
43f21a:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
43f221:	89 4d f0             	mov    %ecx,-0x10(%ebp)
43f224:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
43f22b:	85 ff                	test   %edi,%edi
43f22d:	74 11                	je     0x43f240
43f22f:	8b cf                	mov    %edi,%ecx
43f231:	8d 51 01             	lea    0x1(%ecx),%edx
43f234:	8a 01                	mov    (%ecx),%al
43f236:	41                   	inc    %ecx
43f237:	84 c0                	test   %al,%al
43f239:	75 f9                	jne    0x43f234
43f23b:	2b ca                	sub    %edx,%ecx
43f23d:	41                   	inc    %ecx
43f23e:	eb 0a                	jmp    0x43f24a
43f240:	bf 52 0d 41 00       	mov    $0x410d52,%edi
43f245:	b9 01 00 00 00       	mov    $0x1,%ecx
43f24a:	8d 45 b8             	lea    -0x48(%ebp),%eax
43f24d:	89 7d d8             	mov    %edi,-0x28(%ebp)
43f250:	50                   	push   %eax
43f251:	6a 04                	push   $0x4
43f253:	6a 00                	push   $0x0
43f255:	6a 00                	push   $0x0
43f257:	68 ff 43 41 00       	push   $0x4143ff
43f25c:	68 18 f0 44 00       	push   $0x44f018
43f261:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
43f268:	89 4d e0             	mov    %ecx,-0x20(%ebp)
43f26b:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
43f272:	e8 c9 56 fd ff       	call   0x414940
43f277:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43f27a:	5f                   	pop    %edi
43f27b:	33 cd                	xor    %ebp,%ecx
43f27d:	5e                   	pop    %esi
43f27e:	e8 cd dc 00 00       	call   0x44cf50
43f283:	8b e5                	mov    %ebp,%esp
43f285:	5d                   	pop    %ebp
43f286:	c3                   	ret
43f287:	cc                   	int3
43f288:	cc                   	int3
43f289:	cc                   	int3
43f28a:	cc                   	int3
43f28b:	cc                   	int3
43f28c:	cc                   	int3
43f28d:	cc                   	int3
43f28e:	cc                   	int3
43f28f:	cc                   	int3
43f290:	8b ff                	mov    %edi,%edi
43f292:	55                   	push   %ebp
43f293:	8b ec                	mov    %esp,%ebp
43f295:	83 ec 6c             	sub    $0x6c,%esp
43f298:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
43f29d:	33 c5                	xor    %ebp,%eax
43f29f:	89 45 f8             	mov    %eax,-0x8(%ebp)
43f2a2:	83 3d 18 f0 44 00 05 	cmpl   $0x5,0x44f018
43f2a9:	56                   	push   %esi
43f2aa:	57                   	push   %edi
43f2ab:	8b f9                	mov    %ecx,%edi
43f2ad:	0f 86 91 00 00 00    	jbe    0x43f344
43f2b3:	8b 35 24 f0 44 00    	mov    0x44f024,%esi
43f2b9:	33 c0                	xor    %eax,%eax
43f2bb:	81 e6 00 20 00 00    	and    $0x2000,%esi
43f2c1:	0b c6                	or     %esi,%eax
43f2c3:	74 7f                	je     0x43f344
43f2c5:	8b 0d 2c f0 44 00    	mov    0x44f02c,%ecx
43f2cb:	33 f6                	xor    %esi,%esi
43f2cd:	8b c1                	mov    %ecx,%eax
43f2cf:	25 00 20 00 00       	and    $0x2000,%eax
43f2d4:	3b 35 28 f0 44 00    	cmp    0x44f028,%esi
43f2da:	75 68                	jne    0x43f344
43f2dc:	3b c1                	cmp    %ecx,%eax
43f2de:	75 64                	jne    0x43f344
43f2e0:	8b 45 08             	mov    0x8(%ebp),%eax
43f2e3:	89 45 a0             	mov    %eax,-0x60(%ebp)
43f2e6:	33 c0                	xor    %eax,%eax
43f2e8:	83 ff 01             	cmp    $0x1,%edi
43f2eb:	89 55 9c             	mov    %edx,-0x64(%ebp)
43f2ee:	89 75 e8             	mov    %esi,-0x18(%ebp)
43f2f1:	0f 94 c0             	sete   %al
43f2f4:	c7 45 ec 04 00 00 00 	movl   $0x4,-0x14(%ebp)
43f2fb:	89 45 98             	mov    %eax,-0x68(%ebp)
43f2fe:	8d 45 a0             	lea    -0x60(%ebp),%eax
43f301:	89 45 e4             	mov    %eax,-0x1c(%ebp)
43f304:	8d 45 9c             	lea    -0x64(%ebp),%eax
43f307:	89 45 d4             	mov    %eax,-0x2c(%ebp)
43f30a:	8d 45 98             	lea    -0x68(%ebp),%eax
43f30d:	89 45 c4             	mov    %eax,-0x3c(%ebp)
43f310:	8d 45 a4             	lea    -0x5c(%ebp),%eax
43f313:	50                   	push   %eax
43f314:	6a 05                	push   $0x5
43f316:	56                   	push   %esi
43f317:	56                   	push   %esi
43f318:	68 cc 43 41 00       	push   $0x4143cc
43f31d:	68 18 f0 44 00       	push   $0x44f018
43f322:	89 75 f0             	mov    %esi,-0x10(%ebp)
43f325:	89 75 d8             	mov    %esi,-0x28(%ebp)
43f328:	c7 45 dc 04 00 00 00 	movl   $0x4,-0x24(%ebp)
43f32f:	89 75 e0             	mov    %esi,-0x20(%ebp)
43f332:	89 75 c8             	mov    %esi,-0x38(%ebp)
43f335:	c7 45 cc 04 00 00 00 	movl   $0x4,-0x34(%ebp)
43f33c:	89 75 d0             	mov    %esi,-0x30(%ebp)
43f33f:	e8 fc 55 fd ff       	call   0x414940
43f344:	8b 4d f8             	mov    -0x8(%ebp),%ecx
43f347:	5f                   	pop    %edi
43f348:	33 cd                	xor    %ebp,%ecx
43f34a:	5e                   	pop    %esi
43f34b:	e8 00 dc 00 00       	call   0x44cf50
43f350:	8b e5                	mov    %ebp,%esp
43f352:	5d                   	pop    %ebp
43f353:	c2 04 00             	ret    $0x4
43f356:	cc                   	int3
43f357:	cc                   	int3
43f358:	cc                   	int3
43f359:	cc                   	int3
43f35a:	cc                   	int3
43f35b:	cc                   	int3
43f35c:	cc                   	int3
43f35d:	cc                   	int3
43f35e:	cc                   	int3
43f35f:	cc                   	int3
43f360:	8b ff                	mov    %edi,%edi
43f362:	55                   	push   %ebp
43f363:	8b ec                	mov    %esp,%ebp
43f365:	83 ec 60             	sub    $0x60,%esp