407828:	e8 43 15 00 00       	call   0x408d70
40782d:	8b f8                	mov    %eax,%edi
40782f:	8b c2                	mov    %edx,%eax
407831:	89 44 24 14          	mov    %eax,0x14(%esp)
407835:	85 c0                	test   %eax,%eax
407837:	7c 48                	jl     0x407881
407839:	7f 04                	jg     0x40783f
40783b:	85 ff                	test   %edi,%edi
40783d:	74 42                	je     0x407881
40783f:	3b d8                	cmp    %eax,%ebx
407841:	7f 0c                	jg     0x40784f
407843:	7c 04                	jl     0x407849
407845:	3b f7                	cmp    %edi,%esi
407847:	73 06                	jae    0x40784f
407849:	8b fe                	mov    %esi,%edi
40784b:	89 5c 24 14          	mov    %ebx,0x14(%esp)
40784f:	8b 4c 24 10          	mov    0x10(%esp),%ecx
407853:	8d 04 3f             	lea    (%edi,%edi,1),%eax
407856:	50                   	push   %eax
407857:	8b 45 08             	mov    0x8(%ebp),%eax
40785a:	50                   	push   %eax
40785b:	8b 41 20             	mov    0x20(%ecx),%eax
40785e:	ff 30                	push   (%eax)
407860:	e8 1b 3e 01 00       	call   0x41b680
407865:	8b 54 24 1c          	mov    0x1c(%esp),%edx
407869:	8d 0c 3f             	lea    (%edi,%edi,1),%ecx
40786c:	83 c4 0c             	add    $0xc,%esp
40786f:	2b f7                	sub    %edi,%esi
407871:	1b 5c 24 14          	sbb    0x14(%esp),%ebx
407875:	8b 42 30             	mov    0x30(%edx),%eax
407878:	29 38                	sub    %edi,(%eax)
40787a:	8b 42 20             	mov    0x20(%edx),%eax
40787d:	01 08                	add    %ecx,(%eax)
40787f:	eb 37                	jmp    0x4078b8
407881:	8b 4c 24 10          	mov    0x10(%esp),%ecx
407885:	8b 45 08             	mov    0x8(%ebp),%eax
407888:	8b 09                	mov    (%ecx),%ecx
40788a:	0f b7 00             	movzwl (%eax),%eax
40788d:	50                   	push   %eax
40788e:	8b 79 0c             	mov    0xc(%ecx),%edi
407891:	8b cf                	mov    %edi,%ecx
407893:	ff 15 5c e2 43 00    	call   *0x43e25c
407899:	8b 4c 24 14          	mov    0x14(%esp),%ecx
40789d:	ff d7                	call   *%edi
40789f:	b9 ff ff 00 00       	mov    $0xffff,%ecx
4078a4:	66 3b c8             	cmp    %ax,%cx
4078a7:	74 24                	je     0x4078cd
4078a9:	8b 54 24 10          	mov    0x10(%esp),%edx
4078ad:	83 c6 ff             	add    $0xffffffff,%esi
4078b0:	b9 02 00 00 00       	mov    $0x2,%ecx
4078b5:	83 d3 ff             	adc    $0xffffffff,%ebx
4078b8:	01 4d 08             	add    %ecx,0x8(%ebp)
4078bb:	85 db                	test   %ebx,%ebx
4078bd:	0f 8f 63 ff ff ff    	jg     0x407826
4078c3:	7c 08                	jl     0x4078cd
4078c5:	85 f6                	test   %esi,%esi
4078c7:	0f 85 59 ff ff ff    	jne    0x407826
4078cd:	8b 44 24 18          	mov    0x18(%esp),%eax
4078d1:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4078d5:	2b c6                	sub    %esi,%eax
4078d7:	5f                   	pop    %edi
4078d8:	1b cb                	sbb    %ebx,%ecx
4078da:	5e                   	pop    %esi
4078db:	8b d1                	mov    %ecx,%edx
4078dd:	5b                   	pop    %ebx
4078de:	8b e5                	mov    %ebp,%esp
4078e0:	5d                   	pop    %ebp
4078e1:	c2 0c 00             	ret    $0xc
4078e4:	cc                   	int3
4078e5:	cc                   	int3
4078e6:	cc                   	int3
4078e7:	cc                   	int3
4078e8:	cc                   	int3
4078e9:	cc                   	int3
4078ea:	cc                   	int3
4078eb:	cc                   	int3
4078ec:	cc                   	int3
4078ed:	cc                   	int3
4078ee:	cc                   	int3
4078ef:	cc                   	int3
4078f0:	55                   	push   %ebp
4078f1:	8b ec                	mov    %esp,%ebp
4078f3:	83 e4 f8             	and    $0xfffffff8,%esp
4078f6:	83 ec 14             	sub    $0x14,%esp
4078f9:	53                   	push   %ebx
4078fa:	8b 5d 10             	mov    0x10(%ebp),%ebx
4078fd:	8b d1                	mov    %ecx,%edx
4078ff:	89 54 24 08          	mov    %edx,0x8(%esp)
407903:	8b cb                	mov    %ebx,%ecx
407905:	89 4c 24 14          	mov    %ecx,0x14(%esp)
407909:	56                   	push   %esi
40790a:	8b 75 0c             	mov    0xc(%ebp),%esi
40790d:	8b c6                	mov    %esi,%eax
40790f:	89 44 24 14          	mov    %eax,0x14(%esp)
407913:	57                   	push   %edi
407914:	85 db                	test   %ebx,%ebx
407916:	0f 8c bf 00 00 00    	jl     0x4079db
40791c:	7f 08                	jg     0x407926
40791e:	85 f6                	test   %esi,%esi
407920:	0f 84 b5 00 00 00    	je     0x4079db
407926:	8b ca                	mov    %edx,%ecx
407928:	e8 63 14 00 00       	call   0x408d90
40792d:	8b f8                	mov    %eax,%edi
40792f:	8b c2                	mov    %edx,%eax
407931:	89 44 24 14          	mov    %eax,0x14(%esp)
407935:	85 c0                	test   %eax,%eax
407937:	7c 4a                	jl     0x407983
407939:	7f 04                	jg     0x40793f
40793b:	85 ff                	test   %edi,%edi
40793d:	74 44                	je     0x407983
40793f:	3b d8                	cmp    %eax,%ebx
407941:	7f 0c                	jg     0x40794f
407943:	7c 04                	jl     0x407949
407945:	3b f7                	cmp    %edi,%esi
407947:	73 06                	jae    0x40794f
407949:	8b fe                	mov    %esi,%edi
40794b:	89 5c 24 14          	mov    %ebx,0x14(%esp)
40794f:	8d 04 3f             	lea    (%edi,%edi,1),%eax
407952:	50                   	push   %eax
407953:	8b 44 24 14          	mov    0x14(%esp),%eax
407957:	8b 40 1c             	mov    0x1c(%eax),%eax
40795a:	ff 30                	push   (%eax)
40795c:	ff 75 08             	push   0x8(%ebp)
40795f:	e8 1c 3d 01 00       	call   0x41b680
407964:	8b 54 24 1c          	mov    0x1c(%esp),%edx
407968:	8d 0c 3f             	lea    (%edi,%edi,1),%ecx
40796b:	83 c4 0c             	add    $0xc,%esp
40796e:	2b f7                	sub    %edi,%esi
407970:	1b 5c 24 14          	sbb    0x14(%esp),%ebx
407974:	8b 42 2c             	mov    0x2c(%edx),%eax
407977:	29 38                	sub    %edi,(%eax)
407979:	8b 42 1c             	mov    0x1c(%edx),%eax
40797c:	01 08                	add    %ecx,(%eax)
40797e:	8b 45 08             	mov    0x8(%ebp),%eax
407981:	eb 39                	jmp    0x4079bc
407983:	8b 44 24 10          	mov    0x10(%esp),%eax
407987:	8b 00                	mov    (%eax),%eax
407989:	8b 78 1c             	mov    0x1c(%eax),%edi
40798c:	8b cf                	mov    %edi,%ecx
40798e:	ff 15 5c e2 43 00    	call   *0x43e25c
407994:	8b 4c 24 10          	mov    0x10(%esp),%ecx
407998:	ff d7                	call   *%edi
40799a:	0f b7 c8             	movzwl %ax,%ecx
40799d:	b8 ff ff 00 00       	mov    $0xffff,%eax
4079a2:	66 3b c1             	cmp    %cx,%ax
4079a5:	74 2c                	je     0x4079d3
4079a7:	8b 45 08             	mov    0x8(%ebp),%eax
4079aa:	83 c6 ff             	add    $0xffffffff,%esi
4079ad:	8b 54 24 10          	mov    0x10(%esp),%edx
4079b1:	83 d3 ff             	adc    $0xffffffff,%ebx
4079b4:	66 89 08             	mov    %cx,(%eax)
4079b7:	b9 02 00 00 00       	mov    $0x2,%ecx
4079bc:	03 c1                	add    %ecx,%eax
4079be:	89 45 08             	mov    %eax,0x8(%ebp)
4079c1:	85 db                	test   %ebx,%ebx
4079c3:	0f 8f 5d ff ff ff    	jg     0x407926
4079c9:	7c 08                	jl     0x4079d3
4079cb:	85 f6                	test   %esi,%esi
4079cd:	0f 85 53 ff ff ff    	jne    0x407926
4079d3:	8b 44 24 18          	mov    0x18(%esp),%eax
4079d7:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4079db:	2b c6                	sub    %esi,%eax
4079dd:	5f                   	pop    %edi
4079de:	1b cb                	sbb    %ebx,%ecx
4079e0:	5e                   	pop    %esi
4079e1:	8b d1                	mov    %ecx,%edx
4079e3:	5b                   	pop    %ebx
4079e4:	8b e5                	mov    %ebp,%esp
4079e6:	5d                   	pop    %ebp
4079e7:	c2 0c 00             	ret    $0xc
4079ea:	cc                   	int3
4079eb:	cc                   	int3
4079ec:	cc                   	int3
4079ed:	cc                   	int3
4079ee:	cc                   	int3
4079ef:	cc                   	int3
4079f0:	56                   	push   %esi
4079f1:	57                   	push   %edi
4079f2:	8b f9                	mov    %ecx,%edi
4079f4:	8b 07                	mov    (%edi),%eax
4079f6:	8b 70 18             	mov    0x18(%eax),%esi
4079f9:	8b ce                	mov    %esi,%ecx
4079fb:	ff 15 5c e2 43 00    	call   *0x43e25c
407a01:	8b cf                	mov    %edi,%ecx
407a03:	ff d6                	call   *%esi
407a05:	b9 ff ff 00 00       	mov    $0xffff,%ecx
407a0a:	66 3b c8             	cmp    %ax,%cx
407a0d:	75 05                	jne    0x407a14
407a0f:	5f                   	pop    %edi
407a10:	8b c1                	mov    %ecx,%eax
407a12:	5e                   	pop    %esi
407a13:	c3                   	ret
407a14:	8b 47 2c             	mov    0x2c(%edi),%eax
407a17:	ff 08                	decl   (%eax)
407a19:	8b 4f 1c             	mov    0x1c(%edi),%ecx
407a1c:	5f                   	pop    %edi
407a1d:	5e                   	pop    %esi
407a1e:	8b 11                	mov    (%ecx),%edx
407a20:	8d 42 02             	lea    0x2(%edx),%eax
407a23:	89 01                	mov    %eax,(%ecx)
407a25:	0f b7 02             	movzwl (%edx),%eax
407a28:	c3                   	ret
407a29:	cc                   	int3
407a2a:	cc                   	int3
407a2b:	cc                   	int3
407a2c:	cc                   	int3
407a2d:	cc                   	int3
407a2e:	cc                   	int3
407a2f:	cc                   	int3
407a30:	b8 ff ff 00 00       	mov    $0xffff,%eax
407a35:	c3                   	ret
407a36:	cc                   	int3
407a37:	cc                   	int3
407a38:	cc                   	int3
407a39:	cc                   	int3
407a3a:	cc                   	int3
407a3b:	cc                   	int3
407a3c:	cc                   	int3
407a3d:	cc                   	int3
407a3e:	cc                   	int3
407a3f:	cc                   	int3
407a40:	33 c0                	xor    %eax,%eax
407a42:	33 d2                	xor    %edx,%edx
407a44:	c3                   	ret
407a45:	cc                   	int3
407a46:	cc                   	int3
407a47:	cc                   	int3
407a48:	cc                   	int3
407a49:	cc                   	int3
407a4a:	cc                   	int3
407a4b:	cc                   	int3
407a4c:	cc                   	int3
407a4d:	cc                   	int3
407a4e:	cc                   	int3
407a4f:	cc                   	int3
407a50:	b8 ff ff 00 00       	mov    $0xffff,%eax
407a55:	c2 04 00             	ret    $0x4
407a58:	cc                   	int3
407a59:	cc                   	int3
407a5a:	cc                   	int3
407a5b:	cc                   	int3
407a5c:	cc                   	int3
407a5d:	cc                   	int3
407a5e:	cc                   	int3
407a5f:	cc                   	int3
407a60:	c2 00 00             	ret    $0x0
407a63:	cc                   	int3
407a64:	cc                   	int3
407a65:	cc                   	int3
407a66:	cc                   	int3
407a67:	cc                   	int3
407a68:	cc                   	int3
407a69:	cc                   	int3
407a6a:	cc                   	int3
407a6b:	cc                   	int3
407a6c:	cc                   	int3
407a6d:	cc                   	int3
407a6e:	cc                   	int3
407a6f:	cc                   	int3
407a70:	55                   	push   %ebp
407a71:	8b ec                	mov    %esp,%ebp
407a73:	6a ff                	push   $0xffffffff
407a75:	68 f7 bd 43 00       	push   $0x43bdf7
407a7a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
407a80:	50                   	push   %eax
407a81:	83 ec 0c             	sub    $0xc,%esp
407a84:	53                   	push   %ebx
407a85:	56                   	push   %esi
407a86:	57                   	push   %edi
407a87:	a1 14 50 45 00       	mov    0x455014,%eax
407a8c:	33 c5                	xor    %ebp,%eax
407a8e:	50                   	push   %eax
407a8f:	8d 45 f4             	lea    -0xc(%ebp),%eax
407a92:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
407a98:	8b d9                	mov    %ecx,%ebx
407a9a:	89 5d ec             	mov    %ebx,-0x14(%ebp)
407a9d:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
407aa4:	8d 73 10             	lea    0x10(%ebx),%esi
407aa7:	c7 03 bc ee 44 00    	movl   $0x44eebc,(%ebx)
407aad:	c7 06 d4 ee 44 00    	movl   $0x44eed4,(%esi)
407ab3:	c7 43 70 00 00 00 00 	movl   $0x0,0x70(%ebx)
407aba:	c7 83 90 00 00 00 00 	movl   $0x0,0x90(%ebx)
407ac1:	00 00 00
407ac4:	c7 83 94 00 00 00 00 	movl   $0x0,0x94(%ebx)
407acb:	00 00 00
407ace:	c7 83 98 00 00 00 00 	movl   $0x0,0x98(%ebx)
407ad5:	00 00 00
407ad8:	c7 43 68 b0 ee 44 00 	movl   $0x44eeb0,0x68(%ebx)
407adf:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
407ae6:	8d 7b 18             	lea    0x18(%ebx),%edi
407ae9:	8b 03                	mov    (%ebx),%eax
407aeb:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
407af2:	8b 40 04             	mov    0x4(%eax),%eax
407af5:	c7 04 03 b8 ee 44 00 	movl   $0x44eeb8,(%ebx,%eax,1)
407afc:	8b 03                	mov    (%ebx),%eax
407afe:	8b 48 04             	mov    0x4(%eax),%ecx
407b01:	51                   	push   %ecx
407b02:	57                   	push   %edi
407b03:	8d 41 e8             	lea    -0x18(%ecx),%eax
407b06:	89 44 19 fc          	mov    %eax,-0x4(%ecx,%ebx,1)
407b0a:	8b 03                	mov    (%ebx),%eax
407b0c:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
407b13:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
407b1a:	8b 48 04             	mov    0x4(%eax),%ecx
407b1d:	03 cb                	add    %ebx,%ecx
407b1f:	e8 0c 22 00 00       	call   0x409d30
407b24:	8b 06                	mov    (%esi),%eax
407b26:	89 75 e8             	mov    %esi,-0x18(%ebp)
407b29:	8b 40 04             	mov    0x4(%eax),%eax
407b2c:	c7 04 06 d0 ee 44 00 	movl   $0x44eed0,(%esi,%eax,1)
407b33:	8b 06                	mov    (%esi),%eax
407b35:	8b 48 04             	mov    0x4(%eax),%ecx
407b38:	8d 41 f8             	lea    -0x8(%ecx),%eax
407b3b:	89 44 31 fc          	mov    %eax,-0x4(%ecx,%esi,1)
407b3f:	8b 03                	mov    (%ebx),%eax
407b41:	8b 40 04             	mov    0x4(%eax),%eax
407b44:	c7 04 03 c8 ee 44 00 	movl   $0x44eec8,(%ebx,%eax,1)
407b4b:	8b 03                	mov    (%ebx),%eax
407b4d:	8b 48 04             	mov    0x4(%eax),%ecx
407b50:	8d 41 e0             	lea    -0x20(%ecx),%eax
407b53:	89 44 19 fc          	mov    %eax,-0x4(%ecx,%ebx,1)
407b57:	c7 45 fc 05 00 00 00 	movl   $0x5,-0x4(%ebp)
407b5e:	8b 03                	mov    (%ebx),%eax
407b60:	89 7d e8             	mov    %edi,-0x18(%ebp)
407b63:	8b 40 04             	mov    0x4(%eax),%eax
407b66:	c7 04 03 60 ef 44 00 	movl   $0x44ef60,(%ebx,%eax,1)
407b6d:	8b 03                	mov    (%ebx),%eax
407b6f:	8b 48 04             	mov    0x4(%eax),%ecx
407b72:	8d 41 98             	lea    -0x68(%ecx),%eax
407b75:	89 44 19 fc          	mov    %eax,-0x4(%ecx,%ebx,1)
407b79:	8b cf                	mov    %edi,%ecx
407b7b:	e8 10 1f 00 00       	call   0x409a90
407b80:	c7 07 e0 ee 44 00    	movl   $0x44eee0,(%edi)
407b86:	8b c3                	mov    %ebx,%eax
407b88:	c7 47 38 00 00 00 00 	movl   $0x0,0x38(%edi)
407b8f:	c7 47 3c 00 00 00 00 	movl   $0x0,0x3c(%edi)
407b96:	8b 4d f4             	mov    -0xc(%ebp),%ecx
407b99:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
407ba0:	59                   	pop    %ecx
407ba1:	5f                   	pop    %edi
407ba2:	5e                   	pop    %esi
407ba3:	5b                   	pop    %ebx
407ba4:	8b e5                	mov    %ebp,%esp
407ba6:	5d                   	pop    %ebp
407ba7:	c2 04 00             	ret    $0x4
407baa:	cc                   	int3
407bab:	cc                   	int3
407bac:	cc                   	int3
407bad:	cc                   	int3
407bae:	cc                   	int3