43ddc6:	83 ec 1c             	sub    $0x1c,%esp
43ddc9:	8b 45 10             	mov    0x10(%ebp),%eax
43ddcc:	8b d1                	mov    %ecx,%edx
43ddce:	89 54 24 0c          	mov    %edx,0xc(%esp)
43ddd2:	0f 57 c0             	xorps  %xmm0,%xmm0
43ddd5:	66 0f 13 44 24 14    	movlpd %xmm0,0x14(%esp)
43dddb:	89 44 24 04          	mov    %eax,0x4(%esp)
43dddf:	53                   	push   %ebx
43dde0:	56                   	push   %esi
43dde1:	57                   	push   %edi
43dde2:	85 c0                	test   %eax,%eax
43dde4:	0f 8c 00 01 00 00    	jl     0x43deea
43ddea:	8b 7d 0c             	mov    0xc(%ebp),%edi
43dded:	7f 08                	jg     0x43ddf7
43ddef:	85 ff                	test   %edi,%edi
43ddf1:	0f 84 f3 00 00 00    	je     0x43deea
43ddf7:	8b 44 24 24          	mov    0x24(%esp),%eax
43ddfb:	89 44 24 1c          	mov    %eax,0x1c(%esp)
43ddff:	8b 44 24 20          	mov    0x20(%esp),%eax
43de03:	89 44 24 14          	mov    %eax,0x14(%esp)
43de07:	8b ca                	mov    %edx,%ecx
43de09:	e8 62 17 00 00       	call   0x43f570
43de0e:	8b da                	mov    %edx,%ebx
43de10:	8b f0                	mov    %eax,%esi
43de12:	85 db                	test   %ebx,%ebx
43de14:	7c 61                	jl     0x43de77
43de16:	7f 04                	jg     0x43de1c
43de18:	85 f6                	test   %esi,%esi
43de1a:	74 5b                	je     0x43de77
43de1c:	8b 4c 24 10          	mov    0x10(%esp),%ecx
43de20:	3b cb                	cmp    %ebx,%ecx
43de22:	7f 0a                	jg     0x43de2e
43de24:	7c 04                	jl     0x43de2a
43de26:	3b fe                	cmp    %esi,%edi
43de28:	73 04                	jae    0x43de2e
43de2a:	8b f7                	mov    %edi,%esi
43de2c:	8b d9                	mov    %ecx,%ebx
43de2e:	85 f6                	test   %esi,%esi
43de30:	74 1c                	je     0x43de4e
43de32:	8b 4c 24 18          	mov    0x18(%esp),%ecx
43de36:	8d 04 36             	lea    (%esi,%esi,1),%eax
43de39:	50                   	push   %eax
43de3a:	8b 41 1c             	mov    0x1c(%ecx),%eax
43de3d:	ff 30                	push   (%eax)
43de3f:	ff 75 08             	push   0x8(%ebp)
43de42:	e8 b9 50 1a 00       	call   0x5e2f00
43de47:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
43de4b:	83 c4 0c             	add    $0xc,%esp
43de4e:	8b 54 24 18          	mov    0x18(%esp),%edx
43de52:	8d 04 36             	lea    (%esi,%esi,1),%eax
43de55:	89 44 24 20          	mov    %eax,0x20(%esp)
43de59:	2b fe                	sub    %esi,%edi
43de5b:	1b cb                	sbb    %ebx,%ecx
43de5d:	8b 42 2c             	mov    0x2c(%edx),%eax
43de60:	89 4c 24 10          	mov    %ecx,0x10(%esp)
43de64:	8d 0c 36             	lea    (%esi,%esi,1),%ecx
43de67:	29 30                	sub    %esi,(%eax)
43de69:	8b 42 1c             	mov    0x1c(%edx),%eax
43de6c:	01 08                	add    %ecx,(%eax)
43de6e:	8b 4c 24 10          	mov    0x10(%esp),%ecx
43de72:	8b 45 08             	mov    0x8(%ebp),%eax
43de75:	eb 3d                	jmp    0x43deb4
43de77:	8b 4c 24 18          	mov    0x18(%esp),%ecx
43de7b:	8b 01                	mov    (%ecx),%eax
43de7d:	ff 50 1c             	call   *0x1c(%eax)
43de80:	0f b7 c8             	movzwl %ax,%ecx
43de83:	b8 ff ff 00 00       	mov    $0xffff,%eax
43de88:	66 3b c1             	cmp    %cx,%ax
43de8b:	74 70                	je     0x43defd
43de8d:	8b 45 08             	mov    0x8(%ebp),%eax
43de90:	83 c7 ff             	add    $0xffffffff,%edi
43de93:	8b 54 24 18          	mov    0x18(%esp),%edx
43de97:	be 01 00 00 00       	mov    $0x1,%esi
43de9c:	c7 44 24 20 02 00 00 	movl   $0x2,0x20(%esp)
43dea3:	00
43dea4:	66 89 08             	mov    %cx,(%eax)
43dea7:	8b 4c 24 10          	mov    0x10(%esp),%ecx
43deab:	83 d1 ff             	adc    $0xffffffff,%ecx
43deae:	33 db                	xor    %ebx,%ebx
43deb0:	89 4c 24 10          	mov    %ecx,0x10(%esp)
43deb4:	01 74 24 14          	add    %esi,0x14(%esp)
43deb8:	8b 74 24 1c          	mov    0x1c(%esp),%esi
43debc:	13 f3                	adc    %ebx,%esi
43debe:	03 44 24 20          	add    0x20(%esp),%eax
43dec2:	89 74 24 1c          	mov    %esi,0x1c(%esp)
43dec6:	89 45 08             	mov    %eax,0x8(%ebp)
43dec9:	85 c9                	test   %ecx,%ecx
43decb:	0f 8f 36 ff ff ff    	jg     0x43de07
43ded1:	7c 2e                	jl     0x43df01
43ded3:	85 ff                	test   %edi,%edi
43ded5:	0f 85 2c ff ff ff    	jne    0x43de07
43dedb:	8b 44 24 14          	mov    0x14(%esp),%eax
43dedf:	8b d6                	mov    %esi,%edx
43dee1:	5f                   	pop    %edi
43dee2:	5e                   	pop    %esi
43dee3:	5b                   	pop    %ebx
43dee4:	8b e5                	mov    %ebp,%esp
43dee6:	5d                   	pop    %ebp
43dee7:	c2 0c 00             	ret    $0xc
43deea:	8b 74 24 24          	mov    0x24(%esp),%esi
43deee:	8b d6                	mov    %esi,%edx
43def0:	8b 44 24 20          	mov    0x20(%esp),%eax
43def4:	5f                   	pop    %edi
43def5:	5e                   	pop    %esi
43def6:	5b                   	pop    %ebx
43def7:	8b e5                	mov    %ebp,%esp
43def9:	5d                   	pop    %ebp
43defa:	c2 0c 00             	ret    $0xc
43defd:	8b 74 24 1c          	mov    0x1c(%esp),%esi
43df01:	8b 44 24 14          	mov    0x14(%esp),%eax
43df05:	8b d6                	mov    %esi,%edx
43df07:	5f                   	pop    %edi
43df08:	5e                   	pop    %esi
43df09:	5b                   	pop    %ebx
43df0a:	8b e5                	mov    %ebp,%esp
43df0c:	5d                   	pop    %ebp
43df0d:	c2 0c 00             	ret    $0xc
43df10:	56                   	push   %esi
43df11:	8b f1                	mov    %ecx,%esi
43df13:	8b 06                	mov    (%esi),%eax
43df15:	ff 50 18             	call   *0x18(%eax)
43df18:	b9 ff ff 00 00       	mov    $0xffff,%ecx
43df1d:	66 3b c8             	cmp    %ax,%cx
43df20:	75 04                	jne    0x43df26
43df22:	8b c1                	mov    %ecx,%eax
43df24:	5e                   	pop    %esi
43df25:	c3                   	ret
43df26:	8b 46 2c             	mov    0x2c(%esi),%eax
43df29:	ff 08                	decl   (%eax)
43df2b:	8b 4e 1c             	mov    0x1c(%esi),%ecx
43df2e:	5e                   	pop    %esi
43df2f:	8b 11                	mov    (%ecx),%edx
43df31:	8d 42 02             	lea    0x2(%edx),%eax
43df34:	89 01                	mov    %eax,(%ecx)
43df36:	0f b7 02             	movzwl (%edx),%eax
43df39:	c3                   	ret
43df3a:	cc                   	int3
43df3b:	cc                   	int3
43df3c:	cc                   	int3
43df3d:	cc                   	int3
43df3e:	cc                   	int3
43df3f:	cc                   	int3
43df40:	b8 ff ff 00 00       	mov    $0xffff,%eax
43df45:	c3                   	ret
43df46:	cc                   	int3
43df47:	cc                   	int3
43df48:	cc                   	int3
43df49:	cc                   	int3
43df4a:	cc                   	int3
43df4b:	cc                   	int3
43df4c:	cc                   	int3
43df4d:	cc                   	int3
43df4e:	cc                   	int3
43df4f:	cc                   	int3
43df50:	33 c0                	xor    %eax,%eax
43df52:	33 d2                	xor    %edx,%edx
43df54:	c3                   	ret
43df55:	cc                   	int3
43df56:	cc                   	int3
43df57:	cc                   	int3
43df58:	cc                   	int3
43df59:	cc                   	int3
43df5a:	cc                   	int3
43df5b:	cc                   	int3
43df5c:	cc                   	int3
43df5d:	cc                   	int3
43df5e:	cc                   	int3
43df5f:	cc                   	int3
43df60:	b8 ff ff 00 00       	mov    $0xffff,%eax
43df65:	c2 04 00             	ret    $0x4
43df68:	cc                   	int3
43df69:	cc                   	int3
43df6a:	cc                   	int3
43df6b:	cc                   	int3
43df6c:	cc                   	int3
43df6d:	cc                   	int3
43df6e:	cc                   	int3
43df6f:	cc                   	int3
43df70:	c3                   	ret
43df71:	cc                   	int3
43df72:	cc                   	int3
43df73:	cc                   	int3
43df74:	cc                   	int3
43df75:	cc                   	int3
43df76:	cc                   	int3
43df77:	cc                   	int3
43df78:	cc                   	int3
43df79:	cc                   	int3
43df7a:	cc                   	int3
43df7b:	cc                   	int3
43df7c:	cc                   	int3
43df7d:	cc                   	int3
43df7e:	cc                   	int3
43df7f:	cc                   	int3
43df80:	55                   	push   %ebp
43df81:	8b ec                	mov    %esp,%ebp
43df83:	6a ff                	push   $0xffffffff
43df85:	68 a0 ba 64 00       	push   $0x64baa0
43df8a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
43df90:	50                   	push   %eax
43df91:	56                   	push   %esi
43df92:	a1 d4 89 72 00       	mov    0x7289d4,%eax
43df97:	33 c5                	xor    %ebp,%eax
43df99:	50                   	push   %eax
43df9a:	8d 45 f4             	lea    -0xc(%ebp),%eax
43df9d:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43dfa3:	8b 71 34             	mov    0x34(%ecx),%esi
43dfa6:	c7 01 64 fd 68 00    	movl   $0x68fd64,(%ecx)
43dfac:	85 f6                	test   %esi,%esi
43dfae:	74 2a                	je     0x43dfda
43dfb0:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
43dfb7:	8b 4e 04             	mov    0x4(%esi),%ecx
43dfba:	85 c9                	test   %ecx,%ecx
43dfbc:	74 11                	je     0x43dfcf
43dfbe:	8b 01                	mov    (%ecx),%eax
43dfc0:	ff 50 08             	call   *0x8(%eax)
43dfc3:	85 c0                	test   %eax,%eax
43dfc5:	74 08                	je     0x43dfcf
43dfc7:	8b 10                	mov    (%eax),%edx
43dfc9:	8b c8                	mov    %eax,%ecx
43dfcb:	6a 01                	push   $0x1
43dfcd:	ff 12                	call   *(%edx)
43dfcf:	6a 08                	push   $0x8
43dfd1:	56                   	push   %esi
43dfd2:	e8 9b 30 1a 00       	call   0x5e1072
43dfd7:	83 c4 08             	add    $0x8,%esp
43dfda:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43dfdd:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43dfe4:	59                   	pop    %ecx
43dfe5:	5e                   	pop    %esi
43dfe6:	8b e5                	mov    %ebp,%esp
43dfe8:	5d                   	pop    %ebp
43dfe9:	c3                   	ret
43dfea:	cc                   	int3
43dfeb:	cc                   	int3
43dfec:	cc                   	int3
43dfed:	cc                   	int3
43dfee:	cc                   	int3
43dfef:	cc                   	int3
43dff0:	55                   	push   %ebp
43dff1:	8b ec                	mov    %esp,%ebp
43dff3:	6a ff                	push   $0xffffffff
43dff5:	68 70 be 64 00       	push   $0x64be70
43dffa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
43e000:	50                   	push   %eax
43e001:	a1 d4 89 72 00       	mov    0x7289d4,%eax
43e006:	33 c5                	xor    %ebp,%eax
43e008:	50                   	push   %eax
43e009:	8d 45 f4             	lea    -0xc(%ebp),%eax
43e00c:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43e012:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
43e019:	51                   	push   %ecx
43e01a:	c7 01 30 c4 68 00    	movl   $0x68c430,(%ecx)
43e020:	e8 4a 0d 19 00       	call   0x5ced6f
43e025:	83 c4 04             	add    $0x4,%esp
43e028:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43e02b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43e032:	59                   	pop    %ecx
43e033:	8b e5                	mov    %ebp,%esp
43e035:	5d                   	pop    %ebp
43e036:	c3                   	ret
43e037:	cc                   	int3
43e038:	cc                   	int3
43e039:	cc                   	int3
43e03a:	cc                   	int3
43e03b:	cc                   	int3
43e03c:	cc                   	int3
43e03d:	cc                   	int3
43e03e:	cc                   	int3
43e03f:	cc                   	int3
43e040:	55                   	push   %ebp
43e041:	8b ec                	mov    %esp,%ebp
43e043:	56                   	push   %esi
43e044:	8d 71 98             	lea    -0x68(%ecx),%esi
43e047:	8b ce                	mov    %esi,%ecx
43e049:	e8 72 d2 ff ff       	call   0x43b2c0
43e04e:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
43e052:	74 0e                	je     0x43e062
43e054:	68 b0 00 00 00       	push   $0xb0
43e059:	56                   	push   %esi
43e05a:	e8 13 30 1a 00       	call   0x5e1072
43e05f:	83 c4 08             	add    $0x8,%esp
43e062:	8b c6                	mov    %esi,%eax
43e064:	5e                   	pop    %esi
43e065:	5d                   	pop    %ebp
43e066:	c2 04 00             	ret    $0x4
43e069:	cc                   	int3
43e06a:	cc                   	int3
43e06b:	cc                   	int3
43e06c:	cc                   	int3
43e06d:	cc                   	int3
43e06e:	cc                   	int3
43e06f:	cc                   	int3
43e070:	55                   	push   %ebp
43e071:	8b ec                	mov    %esp,%ebp
43e073:	56                   	push   %esi
43e074:	8b f1                	mov    %ecx,%esi
43e076:	e8 25 f7 ff ff       	call   0x43d7a0
43e07b:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
43e07f:	74 0b                	je     0x43e08c
43e081:	6a 44                	push   $0x44
43e083:	56                   	push   %esi
43e084:	e8 e9 2f 1a 00       	call   0x5e1072
43e089:	83 c4 08             	add    $0x8,%esp
43e08c:	8b c6                	mov    %esi,%eax
43e08e:	5e                   	pop    %esi
43e08f:	5d                   	pop    %ebp
43e090:	c2 04 00             	ret    $0x4
43e093:	cc                   	int3
43e094:	cc                   	int3
43e095:	cc                   	int3
43e096:	cc                   	int3
43e097:	cc                   	int3
43e098:	cc                   	int3
43e099:	cc                   	int3
43e09a:	cc                   	int3
43e09b:	cc                   	int3
43e09c:	cc                   	int3
43e09d:	cc                   	int3
43e09e:	cc                   	int3
43e09f:	cc                   	int3
43e0a0:	55                   	push   %ebp
43e0a1:	8b ec                	mov    %esp,%ebp
43e0a3:	6a ff                	push   $0xffffffff
43e0a5:	68 90 be 64 00       	push   $0x64be90
43e0aa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
43e0b0:	50                   	push   %eax
43e0b1:	56                   	push   %esi
43e0b2:	57                   	push   %edi
43e0b3:	a1 d4 89 72 00       	mov    0x7289d4,%eax
43e0b8:	33 c5                	xor    %ebp,%eax
43e0ba:	50                   	push   %eax
43e0bb:	8d 45 f4             	lea    -0xc(%ebp),%eax
43e0be:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43e0c4:	8b f1                	mov    %ecx,%esi
43e0c6:	8b 46 e0             	mov    -0x20(%esi),%eax
43e0c9:	8d 7e e0             	lea    -0x20(%esi),%edi
43e0cc:	8b 40 04             	mov    0x4(%eax),%eax
43e0cf:	c7 44 30 e0 e4 33 69 	movl   $0x6933e4,-0x20(%eax,%esi,1)
43e0d6:	00
43e0d7:	8b 07                	mov    (%edi),%eax
43e0d9:	8b 50 04             	mov    0x4(%eax),%edx
43e0dc:	8d 42 e0             	lea    -0x20(%edx),%eax
43e0df:	89 44 32 dc          	mov    %eax,-0x24(%edx,%esi,1)
43e0e3:	8b 46 f0             	mov    -0x10(%esi),%eax
43e0e6:	8b 40 04             	mov    0x4(%eax),%eax
43e0e9:	c7 44 30 f0 5c fd 68 	movl   $0x68fd5c,-0x10(%eax,%esi,1)
43e0f0:	00
43e0f1:	8b 46 f0             	mov    -0x10(%esi),%eax
43e0f4:	8b 48 04             	mov    0x4(%eax),%ecx