4028a1:	66 89 08             	mov    %cx,(%eax)
4028a4:	8b c3                	mov    %ebx,%eax
4028a6:	5f                   	pop    %edi
4028a7:	89 33                	mov    %esi,(%ebx)
4028a9:	5e                   	pop    %esi
4028aa:	5b                   	pop    %ebx
4028ab:	8b e5                	mov    %ebp,%esp
4028ad:	5d                   	pop    %ebp
4028ae:	c2 10 00             	ret    $0x10
4028b1:	e8 4a e9 ff ff       	call   0x401200
4028b6:	e8 e5 e9 ff ff       	call   0x4012a0
4028bb:	e8 bf e1 01 00       	call   0x420a7f
4028c0:	cc                   	int3
4028c1:	cc                   	int3
4028c2:	cc                   	int3
4028c3:	cc                   	int3
4028c4:	cc                   	int3
4028c5:	cc                   	int3
4028c6:	cc                   	int3
4028c7:	cc                   	int3
4028c8:	cc                   	int3
4028c9:	cc                   	int3
4028ca:	cc                   	int3
4028cb:	cc                   	int3
4028cc:	cc                   	int3
4028cd:	cc                   	int3
4028ce:	cc                   	int3
4028cf:	cc                   	int3
4028d0:	68 b0 da 44 00       	push   $0x44dab0
4028d5:	e8 60 85 01 00       	call   0x41ae3a
4028da:	cc                   	int3
4028db:	cc                   	int3
4028dc:	cc                   	int3
4028dd:	cc                   	int3
4028de:	cc                   	int3
4028df:	cc                   	int3
4028e0:	55                   	push   %ebp
4028e1:	8b ec                	mov    %esp,%ebp
4028e3:	6a ff                	push   $0xffffffff
4028e5:	68 b1 d3 43 00       	push   $0x43d3b1
4028ea:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4028f0:	50                   	push   %eax
4028f1:	51                   	push   %ecx
4028f2:	a1 14 40 45 00       	mov    0x454014,%eax
4028f7:	33 c5                	xor    %ebp,%eax
4028f9:	50                   	push   %eax
4028fa:	8d 45 f4             	lea    -0xc(%ebp),%eax
4028fd:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
402903:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
402909:	8b 08                	mov    (%eax),%ecx
40290b:	a1 34 62 45 00       	mov    0x456234,%eax
402910:	3b 81 04 00 00 00    	cmp    0x4(%ecx),%eax
402916:	7e 62                	jle    0x40297a
402918:	68 34 62 45 00       	push   $0x456234
40291d:	e8 c8 93 01 00       	call   0x41bcea
402922:	83 c4 04             	add    $0x4,%esp
402925:	83 3d 34 62 45 00 ff 	cmpl   $0xffffffff,0x456234
40292c:	75 4c                	jne    0x40297a
40292e:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
402935:	6a 34                	push   $0x34
402937:	c7 05 38 62 45 00 00 	movl   $0x0,0x456238
40293e:	00 00 00
402941:	c7 05 3c 62 45 00 00 	movl   $0x0,0x45623c
402948:	00 00 00
40294b:	e8 8e 8f 01 00       	call   0x41b8de
402950:	68 30 e9 43 00       	push   $0x43e930
402955:	89 00                	mov    %eax,(%eax)
402957:	89 40 04             	mov    %eax,0x4(%eax)
40295a:	89 40 08             	mov    %eax,0x8(%eax)
40295d:	66 c7 40 0c 01 01    	movw   $0x101,0xc(%eax)
402963:	a3 38 62 45 00       	mov    %eax,0x456238
402968:	e8 8f 96 01 00       	call   0x41bffc
40296d:	68 34 62 45 00       	push   $0x456234
402972:	e8 29 93 01 00       	call   0x41bca0
402977:	83 c4 0c             	add    $0xc,%esp
40297a:	b8 38 62 45 00       	mov    $0x456238,%eax
40297f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
402982:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
402989:	59                   	pop    %ecx
40298a:	8b e5                	mov    %ebp,%esp
40298c:	5d                   	pop    %ebp
40298d:	c3                   	ret
40298e:	cc                   	int3
40298f:	cc                   	int3
402990:	55                   	push   %ebp
402991:	8b ec                	mov    %esp,%ebp
402993:	6a ff                	push   $0xffffffff
402995:	68 ed d3 43 00       	push   $0x43d3ed
40299a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4029a0:	50                   	push   %eax
4029a1:	83 ec 38             	sub    $0x38,%esp
4029a4:	a1 14 40 45 00       	mov    0x454014,%eax
4029a9:	33 c5                	xor    %ebp,%eax
4029ab:	89 45 ec             	mov    %eax,-0x14(%ebp)
4029ae:	53                   	push   %ebx
4029af:	56                   	push   %esi
4029b0:	57                   	push   %edi
4029b1:	50                   	push   %eax
4029b2:	8d 45 f4             	lea    -0xc(%ebp),%eax
4029b5:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4029bb:	89 4d d0             	mov    %ecx,-0x30(%ebp)
4029be:	8b 7d 08             	mov    0x8(%ebp),%edi
4029c1:	89 7d dc             	mov    %edi,-0x24(%ebp)
4029c4:	85 ff                	test   %edi,%edi
4029c6:	75 07                	jne    0x4029cf
4029c8:	32 c0                	xor    %al,%al
4029ca:	e9 18 02 00 00       	jmp    0x402be7
4029cf:	8b 07                	mov    (%edi),%eax
4029d1:	8b 70 08             	mov    0x8(%eax),%esi
4029d4:	8b ce                	mov    %esi,%ecx
4029d6:	ff 15 3c f2 43 00    	call   *0x43f23c
4029dc:	8b cf                	mov    %edi,%ecx
4029de:	ff d6                	call   *%esi
4029e0:	88 45 d7             	mov    %al,-0x29(%ebp)
4029e3:	84 c0                	test   %al,%al
4029e5:	0f 84 fc 01 00 00    	je     0x402be7
4029eb:	8b 75 d0             	mov    -0x30(%ebp),%esi
4029ee:	8d 5f 04             	lea    0x4(%edi),%ebx
4029f1:	53                   	push   %ebx
4029f2:	8d 45 c0             	lea    -0x40(%ebp),%eax
4029f5:	89 5d cc             	mov    %ebx,-0x34(%ebp)
4029f8:	50                   	push   %eax
4029f9:	8b ce                	mov    %esi,%ecx
4029fb:	e8 50 10 00 00       	call   0x403a50
402a00:	8b 45 c8             	mov    -0x38(%ebp),%eax
402a03:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
402a07:	0f 85 8a 00 00 00    	jne    0x402a97
402a0d:	83 78 24 08          	cmpl   $0x8,0x24(%eax)
402a11:	8d 50 10             	lea    0x10(%eax),%edx
402a14:	72 03                	jb     0x402a19
402a16:	8b 50 10             	mov    0x10(%eax),%edx
402a19:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
402a1d:	8b cb                	mov    %ebx,%ecx
402a1f:	72 02                	jb     0x402a23
402a21:	8b 0b                	mov    (%ebx),%ecx
402a23:	ff 70 20             	push   0x20(%eax)
402a26:	52                   	push   %edx
402a27:	8b 53 10             	mov    0x10(%ebx),%edx
402a2a:	e8 71 fa ff ff       	call   0x4024a0
402a2f:	c1 e8 1f             	shr    $0x1f,%eax
402a32:	83 c4 08             	add    $0x8,%esp
402a35:	84 c0                	test   %al,%al
402a37:	75 5e                	jne    0x402a97
402a39:	8b 45 c8             	mov    -0x38(%ebp),%eax
402a3c:	3b 06                	cmp    (%esi),%eax
402a3e:	74 57                	je     0x402a97
402a40:	8b 48 2c             	mov    0x2c(%eax),%ecx
402a43:	8d 58 28             	lea    0x28(%eax),%ebx
402a46:	8b 03                	mov    (%ebx),%eax
402a48:	3b c1                	cmp    %ecx,%eax
402a4a:	74 13                	je     0x402a5f
402a4c:	0f 1f 40 00          	nopl   0x0(%eax)
402a50:	3b 38                	cmp    (%eax),%edi
402a52:	0f 84 8c 01 00 00    	je     0x402be4
402a58:	83 c0 04             	add    $0x4,%eax
402a5b:	3b c1                	cmp    %ecx,%eax
402a5d:	75 f1                	jne    0x402a50
402a5f:	8d 77 74             	lea    0x74(%edi),%esi
402a62:	56                   	push   %esi
402a63:	ff 15 70 f0 43 00    	call   *0x43f070
402a69:	ff 47 70             	incl   0x70(%edi)
402a6c:	56                   	push   %esi
402a6d:	ff 15 74 f0 43 00    	call   *0x43f074
402a73:	8b 43 04             	mov    0x4(%ebx),%eax
402a76:	3b 43 08             	cmp    0x8(%ebx),%eax
402a79:	74 0b                	je     0x402a86
402a7b:	89 38                	mov    %edi,(%eax)
402a7d:	83 43 04 04          	addl   $0x4,0x4(%ebx)
402a81:	e9 5e 01 00 00       	jmp    0x402be4
402a86:	8d 4d dc             	lea    -0x24(%ebp),%ecx
402a89:	51                   	push   %ecx
402a8a:	50                   	push   %eax
402a8b:	8b cb                	mov    %ebx,%ecx
402a8d:	e8 5e 0e 00 00       	call   0x4038f0
402a92:	e9 4d 01 00 00       	jmp    0x402be4
402a97:	8d 77 74             	lea    0x74(%edi),%esi
402a9a:	56                   	push   %esi
402a9b:	ff 15 70 f0 43 00    	call   *0x43f070
402aa1:	ff 47 70             	incl   0x70(%edi)
402aa4:	56                   	push   %esi
402aa5:	ff 15 74 f0 43 00    	call   *0x43f074
402aab:	0f 57 c0             	xorps  %xmm0,%xmm0
402aae:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
402ab5:	66 0f d6 45 e0       	movq   %xmm0,-0x20(%ebp)
402aba:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
402ac1:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
402ac8:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
402acf:	8d 45 dc             	lea    -0x24(%ebp),%eax
402ad2:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
402ad9:	50                   	push   %eax
402ada:	6a 00                	push   $0x0
402adc:	8d 4d e0             	lea    -0x20(%ebp),%ecx
402adf:	e8 0c 0e 00 00       	call   0x4038f0
402ae4:	8b 75 d0             	mov    -0x30(%ebp),%esi
402ae7:	8d 45 c0             	lea    -0x40(%ebp),%eax
402aea:	53                   	push   %ebx
402aeb:	50                   	push   %eax
402aec:	8b ce                	mov    %esi,%ecx
402aee:	e8 5d 0f 00 00       	call   0x403a50
402af3:	8b 7d c8             	mov    -0x38(%ebp),%edi
402af6:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
402afa:	75 2c                	jne    0x402b28
402afc:	83 7f 24 08          	cmpl   $0x8,0x24(%edi)
402b00:	8d 57 10             	lea    0x10(%edi),%edx
402b03:	72 03                	jb     0x402b08
402b05:	8b 57 10             	mov    0x10(%edi),%edx
402b08:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
402b0c:	8b cb                	mov    %ebx,%ecx
402b0e:	72 02                	jb     0x402b12
402b10:	8b 0b                	mov    (%ebx),%ecx
402b12:	ff 77 20             	push   0x20(%edi)
402b15:	52                   	push   %edx
402b16:	8b 53 10             	mov    0x10(%ebx),%edx
402b19:	e8 82 f9 ff ff       	call   0x4024a0
402b1e:	c1 e8 1f             	shr    $0x1f,%eax
402b21:	83 c4 08             	add    $0x8,%esp
402b24:	84 c0                	test   %al,%al
402b26:	74 73                	je     0x402b9b
402b28:	81 7e 04 c4 4e ec 04 	cmpl   $0x4ec4ec4,0x4(%esi)
402b2f:	0f 84 d0 00 00 00    	je     0x402c05
402b35:	8b 1e                	mov    (%esi),%ebx
402b37:	89 75 d8             	mov    %esi,-0x28(%ebp)
402b3a:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
402b3e:	6a 34                	push   $0x34
402b40:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
402b47:	e8 92 8d 01 00       	call   0x41b8de
402b4c:	8b f8                	mov    %eax,%edi
402b4e:	83 c4 04             	add    $0x4,%esp
402b51:	89 7d dc             	mov    %edi,-0x24(%ebp)
402b54:	ff 75 cc             	push   -0x34(%ebp)
402b57:	8d 4f 10             	lea    0x10(%edi),%ecx
402b5a:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
402b5e:	e8 5d f7 ff ff       	call   0x4022c0
402b63:	8b 4d d0             	mov    -0x30(%ebp),%ecx
402b66:	57                   	push   %edi
402b67:	c7 47 28 00 00 00 00 	movl   $0x0,0x28(%edi)
402b6e:	c7 47 2c 00 00 00 00 	movl   $0x0,0x2c(%edi)
402b75:	c7 47 30 00 00 00 00 	movl   $0x0,0x30(%edi)
402b7c:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
402b80:	ff 75 c4             	push   -0x3c(%ebp)
402b83:	89 1f                	mov    %ebx,(%edi)
402b85:	ff 75 c0             	push   -0x40(%ebp)
402b88:	89 5f 04             	mov    %ebx,0x4(%edi)
402b8b:	89 5f 08             	mov    %ebx,0x8(%edi)
402b8e:	66 c7 47 0c 00 00    	movw   $0x0,0xc(%edi)
402b94:	e8 37 05 00 00       	call   0x4030d0
402b99:	8b f8                	mov    %eax,%edi
402b9b:	8b 75 e0             	mov    -0x20(%ebp),%esi
402b9e:	8d 4f 28             	lea    0x28(%edi),%ecx
402ba1:	8d 45 e0             	lea    -0x20(%ebp),%eax
402ba4:	3b c8                	cmp    %eax,%ecx
402ba6:	74 0c                	je     0x402bb4
402ba8:	ff 75 cc             	push   -0x34(%ebp)
402bab:	ff 75 e4             	push   -0x1c(%ebp)
402bae:	56                   	push   %esi
402baf:	e8 9c 0b 00 00       	call   0x403750
402bb4:	85 f6                	test   %esi,%esi
402bb6:	74 2c                	je     0x402be4
402bb8:	8b 4d e8             	mov    -0x18(%ebp),%ecx
402bbb:	8b c6                	mov    %esi,%eax
402bbd:	2b ce                	sub    %esi,%ecx
402bbf:	83 e1 fc             	and    $0xfffffffc,%ecx
402bc2:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
402bc8:	72 10                	jb     0x402bda
402bca:	8b 70 fc             	mov    -0x4(%eax),%esi
402bcd:	83 c1 23             	add    $0x23,%ecx
402bd0:	2b c6                	sub    %esi,%eax
402bd2:	83 c0 fc             	add    $0xfffffffc,%eax
402bd5:	83 f8 1f             	cmp    $0x1f,%eax
402bd8:	77 30                	ja     0x402c0a
402bda:	51                   	push   %ecx
402bdb:	56                   	push   %esi
402bdc:	e8 2d 8d 01 00       	call   0x41b90e
402be1:	83 c4 08             	add    $0x8,%esp
402be4:	8a 45 d7             	mov    -0x29(%ebp),%al
402be7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
402bea:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
402bf1:	59                   	pop    %ecx
402bf2:	5f                   	pop    %edi
402bf3:	5e                   	pop    %esi
402bf4:	5b                   	pop    %ebx
402bf5:	8b 4d ec             	mov    -0x14(%ebp),%ecx
402bf8:	33 cd                	xor    %ebp,%ecx
402bfa:	e8 d1 8c 01 00       	call   0x41b8d0
402bff:	8b e5                	mov    %ebp,%esp
402c01:	5d                   	pop    %ebp
402c02:	c2 04 00             	ret    $0x4
402c05:	e8 c6 fc ff ff       	call   0x4028d0
402c0a:	e8 70 de 01 00       	call   0x420a7f
402c0f:	cc                   	int3
402c10:	55                   	push   %ebp
402c11:	8b ec                	mov    %esp,%ebp
402c13:	83 ec 18             	sub    $0x18,%esp
402c16:	8b 45 08             	mov    0x8(%ebp),%eax
402c19:	89 45 f8             	mov    %eax,-0x8(%ebp)
402c1c:	53                   	push   %ebx
402c1d:	8b d9                	mov    %ecx,%ebx
402c1f:	89 5d f4             	mov    %ebx,-0xc(%ebp)
402c22:	85 c0                	test   %eax,%eax
402c24:	75 09                	jne    0x402c2f
402c26:	32 c0                	xor    %al,%al
402c28:	5b                   	pop    %ebx
402c29:	8b e5                	mov    %ebp,%esp
402c2b:	5d                   	pop    %ebp
402c2c:	c2 04 00             	ret    $0x4
402c2f:	56                   	push   %esi
402c30:	57                   	push   %edi
402c31:	8d 70 04             	lea    0x4(%eax),%esi
402c34:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
402c38:	56                   	push   %esi
402c39:	8d 45 e8             	lea    -0x18(%ebp),%eax
402c3c:	50                   	push   %eax
402c3d:	e8 0e 0e 00 00       	call   0x403a50
402c42:	8b 7d f0             	mov    -0x10(%ebp),%edi
402c45:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
402c49:	0f 85 e0 00 00 00    	jne    0x402d2f
402c4f:	83 7f 24 08          	cmpl   $0x8,0x24(%edi)
402c53:	8d 57 10             	lea    0x10(%edi),%edx
402c56:	72 03                	jb     0x402c5b
402c58:	8b 57 10             	mov    0x10(%edi),%edx
402c5b:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
402c5f:	8b ce                	mov    %esi,%ecx
402c61:	72 02                	jb     0x402c65
402c63:	8b 0e                	mov    (%esi),%ecx
402c65:	ff 77 20             	push   0x20(%edi)
402c68:	52                   	push   %edx
402c69:	8b 56 10             	mov    0x10(%esi),%edx
402c6c:	e8 2f f8 ff ff       	call   0x4024a0
402c71:	83 c4 08             	add    $0x8,%esp
402c74:	85 c0                	test   %eax,%eax
402c76:	0f 88 b3 00 00 00    	js     0x402d2f
402c7c:	3b 3b                	cmp    (%ebx),%edi
402c7e:	0f 84 ab 00 00 00    	je     0x402d2f
402c84:	8b 77 28             	mov    0x28(%edi),%esi
402c87:	8b 47 2c             	mov    0x2c(%edi),%eax
402c8a:	3b f0                	cmp    %eax,%esi
402c8c:	74 10                	je     0x402c9e
402c8e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
402c91:	8b 1e                	mov    (%esi),%ebx
402c93:	3b cb                	cmp    %ebx,%ecx
402c95:	74 13                	je     0x402caa
402c97:	83 c6 04             	add    $0x4,%esi
402c9a:	3b f0                	cmp    %eax,%esi
402c9c:	75 f3                	jne    0x402c91
402c9e:	8a 45 ff             	mov    -0x1(%ebp),%al
402ca1:	5f                   	pop    %edi
402ca2:	5e                   	pop    %esi
402ca3:	5b                   	pop    %ebx
402ca4:	8b e5                	mov    %ebp,%esp
402ca6:	5d                   	pop    %ebp