439ef5:	ff 51 08             	call   *0x8(%ecx)
439ef8:	eb 0f                	jmp    0x439f09
439efa:	8b 03                	mov    (%ebx),%eax
439efc:	68 00 08 00 00       	push   $0x800
439f01:	6a 00                	push   $0x0
439f03:	53                   	push   %ebx
439f04:	ff 50 10             	call   *0x10(%eax)
439f07:	8b f8                	mov    %eax,%edi
439f09:	85 ff                	test   %edi,%edi
439f0b:	0f 88 a8 01 00 00    	js     0x43a0b9
439f11:	8b 4d fc             	mov    -0x4(%ebp),%ecx
439f14:	85 c9                	test   %ecx,%ecx
439f16:	0f 84 9d 01 00 00    	je     0x43a0b9
439f1c:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
439f20:	8b 01                	mov    (%ecx),%eax
439f22:	8d 55 e4             	lea    -0x1c(%ebp),%edx
439f25:	52                   	push   %edx
439f26:	8d 55 f8             	lea    -0x8(%ebp),%edx
439f29:	52                   	push   %edx
439f2a:	51                   	push   %ecx
439f2b:	ff 50 48             	call   *0x48(%eax)
439f2e:	85 c0                	test   %eax,%eax
439f30:	0f 88 7a 01 00 00    	js     0x43a0b0
439f36:	8b 4d f8             	mov    -0x8(%ebp),%ecx
439f39:	85 c9                	test   %ecx,%ecx
439f3b:	0f 84 6f 01 00 00    	je     0x43a0b0
439f41:	8b 01                	mov    (%ecx),%eax
439f43:	8d 55 f0             	lea    -0x10(%ebp),%edx
439f46:	52                   	push   %edx
439f47:	ff 75 e4             	push   -0x1c(%ebp)
439f4a:	51                   	push   %ecx
439f4b:	ff 50 14             	call   *0x14(%eax)
439f4e:	83 7d f0 05          	cmpl   $0x5,-0x10(%ebp)
439f52:	0f 84 dc 00 00 00    	je     0x43a034
439f58:	8b 45 f8             	mov    -0x8(%ebp),%eax
439f5b:	50                   	push   %eax
439f5c:	8b 08                	mov    (%eax),%ecx
439f5e:	ff 51 0c             	call   *0xc(%ecx)
439f61:	8b d8                	mov    %eax,%ebx
439f63:	33 ff                	xor    %edi,%edi
439f65:	33 f6                	xor    %esi,%esi
439f67:	89 7d dc             	mov    %edi,-0x24(%ebp)
439f6a:	85 db                	test   %ebx,%ebx
439f6c:	0f 84 bc 00 00 00    	je     0x43a02e
439f72:	85 ff                	test   %edi,%edi
439f74:	0f 85 b4 00 00 00    	jne    0x43a02e
439f7a:	8b 45 f8             	mov    -0x8(%ebp),%eax
439f7d:	21 7d f0             	and    %edi,-0x10(%ebp)
439f80:	8b 08                	mov    (%eax),%ecx
439f82:	8d 55 f0             	lea    -0x10(%ebp),%edx
439f85:	52                   	push   %edx
439f86:	56                   	push   %esi
439f87:	50                   	push   %eax
439f88:	ff 51 14             	call   *0x14(%ecx)
439f8b:	83 7d f0 05          	cmpl   $0x5,-0x10(%ebp)
439f8f:	0f 85 90 00 00 00    	jne    0x43a025
439f95:	8b 45 f8             	mov    -0x8(%ebp),%eax
439f98:	8d 55 f4             	lea    -0xc(%ebp),%edx
439f9b:	8b 08                	mov    (%eax),%ecx
439f9d:	52                   	push   %edx
439f9e:	56                   	push   %esi
439f9f:	50                   	push   %eax
439fa0:	ff 51 10             	call   *0x10(%ecx)
439fa3:	8b 45 f4             	mov    -0xc(%ebp),%eax
439fa6:	8d 55 d4             	lea    -0x2c(%ebp),%edx
439fa9:	8b 08                	mov    (%eax),%ecx
439fab:	52                   	push   %edx
439fac:	50                   	push   %eax
439fad:	ff 51 0c             	call   *0xc(%ecx)
439fb0:	8b 55 d4             	mov    -0x2c(%ebp),%edx
439fb3:	52                   	push   %edx
439fb4:	0f b7 42 30          	movzwl 0x30(%edx),%eax
439fb8:	89 45 e0             	mov    %eax,-0x20(%ebp)
439fbb:	8b 45 f4             	mov    -0xc(%ebp),%eax
439fbe:	50                   	push   %eax
439fbf:	8b 08                	mov    (%eax),%ecx
439fc1:	ff 51 4c             	call   *0x4c(%ecx)
439fc4:	83 4d e8 ff          	orl    $0xffffffff,-0x18(%ebp)
439fc8:	39 7d e0             	cmp    %edi,-0x20(%ebp)
439fcb:	76 4c                	jbe    0x43a019
439fcd:	8b 45 f4             	mov    -0xc(%ebp),%eax
439fd0:	8d 55 d0             	lea    -0x30(%ebp),%edx
439fd3:	8b 08                	mov    (%eax),%ecx
439fd5:	52                   	push   %edx
439fd6:	57                   	push   %edi
439fd7:	50                   	push   %eax
439fd8:	ff 51 20             	call   *0x20(%ecx)
439fdb:	85 c0                	test   %eax,%eax
439fdd:	75 34                	jne    0x43a013
439fdf:	8b 45 fc             	mov    -0x4(%ebp),%eax
439fe2:	8d 55 ec             	lea    -0x14(%ebp),%edx
439fe5:	8b 08                	mov    (%eax),%ecx
439fe7:	52                   	push   %edx
439fe8:	ff 75 d0             	push   -0x30(%ebp)
439feb:	50                   	push   %eax
439fec:	ff 51 38             	call   *0x38(%ecx)
439fef:	8b 45 ec             	mov    -0x14(%ebp),%eax
439ff2:	8d 55 e8             	lea    -0x18(%ebp),%edx
439ff5:	8b 08                	mov    (%eax),%ecx
439ff7:	52                   	push   %edx
439ff8:	6a 00                	push   $0x0
439ffa:	50                   	push   %eax
439ffb:	ff 51 48             	call   *0x48(%ecx)
439ffe:	8b 45 e8             	mov    -0x18(%ebp),%eax
43a001:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
43a004:	8b 45 ec             	mov    -0x14(%ebp),%eax
43a007:	50                   	push   %eax
43a008:	8b 08                	mov    (%eax),%ecx
43a00a:	0f 84 bf 00 00 00    	je     0x43a0cf
43a010:	ff 51 08             	call   *0x8(%ecx)
43a013:	47                   	inc    %edi
43a014:	3b 7d e0             	cmp    -0x20(%ebp),%edi
43a017:	72 b4                	jb     0x439fcd
43a019:	8b 45 f4             	mov    -0xc(%ebp),%eax
43a01c:	50                   	push   %eax
43a01d:	8b 08                	mov    (%eax),%ecx
43a01f:	ff 51 08             	call   *0x8(%ecx)
43a022:	8b 7d dc             	mov    -0x24(%ebp),%edi
43a025:	46                   	inc    %esi
43a026:	3b f3                	cmp    %ebx,%esi
43a028:	0f 82 44 ff ff ff    	jb     0x439f72
43a02e:	83 7d f0 05          	cmpl   $0x5,-0x10(%ebp)
43a032:	75 7c                	jne    0x43a0b0
43a034:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43a037:	8d 55 dc             	lea    -0x24(%ebp),%edx
43a03a:	8b 01                	mov    (%ecx),%eax
43a03c:	52                   	push   %edx
43a03d:	51                   	push   %ecx
43a03e:	ff 50 0c             	call   *0xc(%eax)
43a041:	8b 75 dc             	mov    -0x24(%ebp),%esi
43a044:	8b 45 fc             	mov    -0x4(%ebp),%eax
43a047:	ff 75 dc             	push   -0x24(%ebp)
43a04a:	8d 7d ac             	lea    -0x54(%ebp),%edi
43a04d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43a04e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43a04f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43a050:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43a051:	8b 08                	mov    (%eax),%ecx
43a053:	50                   	push   %eax
43a054:	ff 51 4c             	call   *0x4c(%ecx)
43a057:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
43a05b:	75 53                	jne    0x43a0b0
43a05d:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
43a061:	8d 45 ec             	lea    -0x14(%ebp),%eax
43a064:	50                   	push   %eax
43a065:	8d 45 ac             	lea    -0x54(%ebp),%eax
43a068:	50                   	push   %eax
43a069:	ff 15 18 d8 48 00    	call   *0x48d818
43a06f:	85 c0                	test   %eax,%eax
43a071:	78 3d                	js     0x43a0b0
43a073:	ff 75 ec             	push   -0x14(%ebp)
43a076:	8d 4d bc             	lea    -0x44(%ebp),%ecx
43a079:	e8 9b 2d fd ff       	call   0x40ce19
43a07e:	ff 75 ec             	push   -0x14(%ebp)
43a081:	ff 15 10 d8 48 00    	call   *0x48d810
43a087:	6a ff                	push   $0xffffffff
43a089:	51                   	push   %ecx
43a08a:	8d 4d bc             	lea    -0x44(%ebp),%ecx
43a08d:	e8 af 04 00 00       	call   0x43a541
43a092:	50                   	push   %eax
43a093:	8d 4d bc             	lea    -0x44(%ebp),%ecx
43a096:	e8 f0 10 fd ff       	call   0x40b18b
43a09b:	8d 45 ac             	lea    -0x54(%ebp),%eax
43a09e:	50                   	push   %eax
43a09f:	ff 75 bc             	push   -0x44(%ebp)
43a0a2:	ff 15 1c d8 48 00    	call   *0x48d81c
43a0a8:	8d 4d bc             	lea    -0x44(%ebp),%ecx
43a0ab:	e8 87 2a fd ff       	call   0x40cb37
43a0b0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43a0b3:	51                   	push   %ecx
43a0b4:	8b 01                	mov    (%ecx),%eax
43a0b6:	ff 50 08             	call   *0x8(%eax)
43a0b9:	8d 55 ac             	lea    -0x54(%ebp),%edx
43a0bc:	8d 4d 08             	lea    0x8(%ebp),%ecx
43a0bf:	e8 8c f8 ff ff       	call   0x439950
43a0c4:	f7 d8                	neg    %eax
43a0c6:	5f                   	pop    %edi
43a0c7:	1b c0                	sbb    %eax,%eax
43a0c9:	5e                   	pop    %esi
43a0ca:	f7 d8                	neg    %eax
43a0cc:	5b                   	pop    %ebx
43a0cd:	c9                   	leave
43a0ce:	c3                   	ret
43a0cf:	33 ff                	xor    %edi,%edi
43a0d1:	47                   	inc    %edi
43a0d2:	89 7d dc             	mov    %edi,-0x24(%ebp)
43a0d5:	ff 51 08             	call   *0x8(%ecx)
43a0d8:	8b 45 fc             	mov    -0x4(%ebp),%eax
43a0db:	50                   	push   %eax
43a0dc:	8b 08                	mov    (%eax),%ecx
43a0de:	ff 51 08             	call   *0x8(%ecx)
43a0e1:	8b 45 f4             	mov    -0xc(%ebp),%eax
43a0e4:	89 45 fc             	mov    %eax,-0x4(%ebp)
43a0e7:	e9 39 ff ff ff       	jmp    0x43a025
43a0ec:	55                   	push   %ebp
43a0ed:	8b ec                	mov    %esp,%ebp
43a0ef:	51                   	push   %ecx
43a0f0:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43a0f4:	56                   	push   %esi
43a0f5:	57                   	push   %edi
43a0f6:	8b f1                	mov    %ecx,%esi
43a0f8:	8d 4d fc             	lea    -0x4(%ebp),%ecx
43a0fb:	8b 06                	mov    (%esi),%eax
43a0fd:	51                   	push   %ecx
43a0fe:	68 ac d9 48 00       	push   $0x48d9ac
43a103:	56                   	push   %esi
43a104:	bf 05 40 00 80       	mov    $0x80004005,%edi
43a109:	ff 10                	call   *(%eax)
43a10b:	85 c0                	test   %eax,%eax
43a10d:	75 13                	jne    0x43a122
43a10f:	8b 75 fc             	mov    -0x4(%ebp),%esi
43a112:	56                   	push   %esi
43a113:	8b 06                	mov    (%esi),%eax
43a115:	ff 50 20             	call   *0x20(%eax)
43a118:	8b 0e                	mov    (%esi),%ecx
43a11a:	56                   	push   %esi
43a11b:	8b f8                	mov    %eax,%edi
43a11d:	ff 51 08             	call   *0x8(%ecx)
43a120:	eb 25                	jmp    0x43a147
43a122:	8b 06                	mov    (%esi),%eax
43a124:	8d 4d fc             	lea    -0x4(%ebp),%ecx
43a127:	51                   	push   %ecx
43a128:	68 5c d9 48 00       	push   $0x48d95c
43a12d:	56                   	push   %esi
43a12e:	ff 10                	call   *(%eax)
43a130:	85 c0                	test   %eax,%eax
43a132:	75 13                	jne    0x43a147
43a134:	8b 75 fc             	mov    -0x4(%ebp),%esi
43a137:	6a 00                	push   $0x0
43a139:	8b 06                	mov    (%esi),%eax
43a13b:	56                   	push   %esi
43a13c:	ff 50 14             	call   *0x14(%eax)
43a13f:	8b f8                	mov    %eax,%edi
43a141:	8b 06                	mov    (%esi),%eax
43a143:	56                   	push   %esi
43a144:	ff 50 08             	call   *0x8(%eax)
43a147:	8b c7                	mov    %edi,%eax
43a149:	5f                   	pop    %edi
43a14a:	5e                   	pop    %esi
43a14b:	c9                   	leave
43a14c:	c3                   	ret
43a14d:	55                   	push   %ebp
43a14e:	8b ec                	mov    %esp,%ebp
43a150:	81 ec 70 02 00 00    	sub    $0x270,%esp
43a156:	53                   	push   %ebx
43a157:	56                   	push   %esi
43a158:	8b f1                	mov    %ecx,%esi
43a15a:	33 db                	xor    %ebx,%ebx
43a15c:	57                   	push   %edi
43a15d:	8d 4d d0             	lea    -0x30(%ebp),%ecx
43a160:	8b fa                	mov    %edx,%edi
43a162:	89 5d f0             	mov    %ebx,-0x10(%ebp)
43a165:	89 5d f8             	mov    %ebx,-0x8(%ebp)
43a168:	e8 8a 36 fd ff       	call   0x40d7f7
43a16d:	8d 4d e0             	lea    -0x20(%ebp),%ecx
43a170:	e8 82 36 fd ff       	call   0x40d7f7
43a175:	8d 4d c0             	lea    -0x40(%ebp),%ecx
43a178:	e8 7a 36 fd ff       	call   0x40d7f7
43a17d:	68 ac 28 4b 00       	push   $0x4b28ac
43a182:	8d 4d d0             	lea    -0x30(%ebp),%ecx
43a185:	e8 d9 c8 fc ff       	call   0x406a63
43a18a:	56                   	push   %esi
43a18b:	8d 4d d0             	lea    -0x30(%ebp),%ecx
43a18e:	e8 f9 af fc ff       	call   0x40518c
43a193:	68 d0 28 4b 00       	push   $0x4b28d0
43a198:	8d 4d d0             	lea    -0x30(%ebp),%ecx
43a19b:	e8 ec af fc ff       	call   0x40518c
43a1a0:	8d 4d e0             	lea    -0x20(%ebp),%ecx
43a1a3:	e8 26 1b fd ff       	call   0x40bcce
43a1a8:	85 ff                	test   %edi,%edi
43a1aa:	74 24                	je     0x43a1d0
43a1ac:	6a 5c                	push   $0x5c
43a1ae:	58                   	pop    %eax
43a1af:	66 39 07             	cmp    %ax,(%edi)
43a1b2:	74 1c                	je     0x43a1d0
43a1b4:	66 39 47 02          	cmp    %ax,0x2(%edi)
43a1b8:	74 16                	je     0x43a1d0
43a1ba:	68 e0 28 4b 00       	push   $0x4b28e0
43a1bf:	8d 4d e0             	lea    -0x20(%ebp),%ecx
43a1c2:	e8 9c c8 fc ff       	call   0x406a63
43a1c7:	57                   	push   %edi
43a1c8:	8d 4d e0             	lea    -0x20(%ebp),%ecx
43a1cb:	e8 bc af fc ff       	call   0x40518c
43a1d0:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
43a1d3:	74 4c                	je     0x43a221
43a1d5:	6a 20                	push   $0x20
43a1d7:	8d 45 a0             	lea    -0x60(%ebp),%eax
43a1da:	53                   	push   %ebx
43a1db:	50                   	push   %eax
43a1dc:	e8 6f 6b fe ff       	call   0x420d50
43a1e1:	83 c4 0c             	add    $0xc,%esp
43a1e4:	8d 45 e0             	lea    -0x20(%ebp),%eax
43a1e7:	50                   	push   %eax
43a1e8:	8d 4d c0             	lea    -0x40(%ebp),%ecx
43a1eb:	89 5d a4             	mov    %ebx,-0x5c(%ebp)
43a1ee:	e8 fa cc fc ff       	call   0x406eed
43a1f3:	68 e8 28 4b 00       	push   $0x4b28e8
43a1f8:	8d 4d c0             	lea    -0x40(%ebp),%ecx
43a1fb:	e8 8c af fc ff       	call   0x40518c
43a200:	8b 45 c0             	mov    -0x40(%ebp),%eax
43a203:	53                   	push   %ebx
43a204:	ff 75 0c             	push   0xc(%ebp)
43a207:	89 45 b4             	mov    %eax,-0x4c(%ebp)
43a20a:	ff 75 10             	push   0x10(%ebp)
43a20d:	8d 45 a0             	lea    -0x60(%ebp),%eax
43a210:	50                   	push   %eax
43a211:	ff 15 f4 d3 48 00    	call   *0x48d3f4
43a217:	8b f0                	mov    %eax,%esi
43a219:	85 f6                	test   %esi,%esi
43a21b:	0f 88 8c 00 00 00    	js     0x43a2ad
43a221:	8d 45 f0             	lea    -0x10(%ebp),%eax
43a224:	50                   	push   %eax
43a225:	68 02 00 00 80       	push   $0x80000002
43a22a:	ff 75 e0             	push   -0x20(%ebp)
43a22d:	ff 15 2c d0 48 00    	call   *0x48d02c
43a233:	8b f0                	mov    %eax,%esi
43a235:	85 f6                	test   %esi,%esi
43a237:	75 74                	jne    0x43a2ad
43a239:	8d 45 f8             	lea    -0x8(%ebp),%eax
43a23c:	50                   	push   %eax
43a23d:	68 19 00 02 00       	push   $0x20019
43a242:	53                   	push   %ebx
43a243:	ff 75 d0             	push   -0x30(%ebp)
43a246:	ff 75 f0             	push   -0x10(%ebp)
43a249:	ff 15 20 d0 48 00    	call   *0x48d020
43a24f:	8b 3d 24 d0 48 00    	mov    0x48d024,%edi
43a255:	8b f0                	mov    %eax,%esi
43a257:	85 f6                	test   %esi,%esi
43a259:	75 4d                	jne    0x43a2a8
43a25b:	8d 45 f4             	lea    -0xc(%ebp),%eax
43a25e:	50                   	push   %eax
43a25f:	8d 85 94 fd ff ff    	lea    -0x26c(%ebp),%eax
43a265:	50                   	push   %eax
43a266:	53                   	push   %ebx
43a267:	53                   	push   %ebx
43a268:	53                   	push   %ebx
43a269:	ff 75 f8             	push   -0x8(%ebp)
43a26c:	c7 45 f4 fe 01 00 00 	movl   $0x1fe,-0xc(%ebp)
43a273:	ff 15 28 d0 48 00    	call   *0x48d028
43a279:	8b f0                	mov    %eax,%esi
43a27b:	85 f6                	test   %esi,%esi
43a27d:	75 24                	jne    0x43a2a3
43a27f:	8b 45 f4             	mov    -0xc(%ebp),%eax
43a282:	ff 75 08             	push   0x8(%ebp)
43a285:	d1 e8                	shr    $1,%eax
43a287:	33 c9                	xor    %ecx,%ecx
43a289:	89 45 f4             	mov    %eax,-0xc(%ebp)
43a28c:	66 89 8c 45 94 fd ff 	mov    %cx,-0x26c(%ebp,%eax,2)
43a293:	ff
43a294:	8d 85 94 fd ff ff    	lea    -0x26c(%ebp),%eax