4087c8:	73 1f                	jae    0x4087e9
4087ca:	8b 45 08             	mov    0x8(%ebp),%eax
4087cd:	8b d1                	mov    %ecx,%edx
4087cf:	2b 55 08             	sub    0x8(%ebp),%edx
4087d2:	c1 e0 04             	shl    $0x4,%eax
4087d5:	03 07                	add    (%edi),%eax
4087d7:	2b 4d 08             	sub    0x8(%ebp),%ecx
4087da:	8d 54 95 b8          	lea    -0x48(%ebp,%edx,4),%edx
4087de:	89 02                	mov    %eax,(%edx)
4087e0:	83 c0 10             	add    $0x10,%eax
4087e3:	83 ea 04             	sub    $0x4,%edx
4087e6:	49                   	dec    %ecx
4087e7:	75 f5                	jne    0x4087de
4087e9:	83 7d 28 00          	cmpl   $0x0,0x28(%ebp)
4087ed:	be 03 00 02 80       	mov    $0x80020003,%esi
4087f2:	75 06                	jne    0x4087fa
4087f4:	8d 45 18             	lea    0x18(%ebp),%eax
4087f7:	89 45 28             	mov    %eax,0x28(%ebp)
4087fa:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
4087fe:	75 06                	jne    0x408806
408800:	8d 45 d0             	lea    -0x30(%ebp),%eax
408803:	89 45 20             	mov    %eax,0x20(%ebp)
408806:	8d 45 f0             	lea    -0x10(%ebp),%eax
408809:	50                   	push   %eax
40880a:	ff 15 ec 04 4b 00    	call   *0x4b04ec
408810:	8b 45 0c             	mov    0xc(%ebp),%eax
408813:	05 9a 13 00 00       	add    $0x139a,%eax
408818:	83 f8 12             	cmp    $0x12,%eax
40881b:	0f 87 ba 04 00 00    	ja     0x408cdb
408821:	8a 4d 18             	mov    0x18(%ebp),%cl
408824:	6a 02                	push   $0x2
408826:	5a                   	pop    %edx
408827:	ff 24 85 ee 8c 40 00 	jmp    *0x408cee(,%eax,4)
40882e:	b8 0e 00 02 80       	mov    $0x8002000e,%eax
408833:	e9 af 04 00 00       	jmp    0x408ce7
408838:	83 7f 08 01          	cmpl   $0x1,0x8(%edi)
40883c:	74 0a                	je     0x408848
40883e:	be 0e 00 02 80       	mov    $0x8002000e,%esi
408843:	e9 93 04 00 00       	jmp    0x408cdb
408848:	8b 75 bc             	mov    -0x44(%ebp),%esi
40884b:	8b 03                	mov    (%ebx),%eax
40884d:	83 ec 10             	sub    $0x10,%esp
408850:	8b fc                	mov    %esp,%edi
408852:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408853:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408854:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408855:	53                   	push   %ebx
408856:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408857:	ff 50 64             	call   *0x64(%eax)
40885a:	8b f0                	mov    %eax,%esi
40885c:	e9 7a 04 00 00       	jmp    0x408cdb
408861:	83 7f 08 02          	cmpl   $0x2,0x8(%edi)
408865:	75 d7                	jne    0x40883e
408867:	8b 45 bc             	mov    -0x44(%ebp),%eax
40886a:	66 83 38 03          	cmpw   $0x3,(%eax)
40886e:	8b 3d f0 04 4b 00    	mov    0x4b04f0,%edi
408874:	74 1f                	je     0x408895
408876:	6a 03                	push   $0x3
408878:	6a 00                	push   $0x0
40887a:	50                   	push   %eax
40887b:	8d 45 f0             	lea    -0x10(%ebp),%eax
40887e:	50                   	push   %eax
40887f:	ff d7                	call   *%edi
408881:	8b f0                	mov    %eax,%esi
408883:	85 f6                	test   %esi,%esi
408885:	7d 0b                	jge    0x408892
408887:	8b 45 28             	mov    0x28(%ebp),%eax
40888a:	83 20 00             	andl   $0x0,(%eax)
40888d:	e9 49 04 00 00       	jmp    0x408cdb
408892:	8d 45 f0             	lea    -0x10(%ebp),%eax
408895:	8b 40 08             	mov    0x8(%eax),%eax
408898:	89 45 18             	mov    %eax,0x18(%ebp)
40889b:	8b 45 c0             	mov    -0x40(%ebp),%eax
40889e:	66 83 38 03          	cmpw   $0x3,(%eax)
4088a2:	74 22                	je     0x4088c6
4088a4:	6a 03                	push   $0x3
4088a6:	6a 00                	push   $0x0
4088a8:	50                   	push   %eax
4088a9:	8d 45 f0             	lea    -0x10(%ebp),%eax
4088ac:	50                   	push   %eax
4088ad:	ff d7                	call   *%edi
4088af:	8b f0                	mov    %eax,%esi
4088b1:	85 f6                	test   %esi,%esi
4088b3:	7d 0e                	jge    0x4088c3
4088b5:	8b 45 28             	mov    0x28(%ebp),%eax
4088b8:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
4088be:	e9 18 04 00 00       	jmp    0x408cdb
4088c3:	8d 45 f0             	lea    -0x10(%ebp),%eax
4088c6:	ff 75 20             	push   0x20(%ebp)
4088c9:	8b 40 08             	mov    0x8(%eax),%eax
4088cc:	8b 0b                	mov    (%ebx),%ecx
4088ce:	50                   	push   %eax
4088cf:	ff 75 18             	push   0x18(%ebp)
4088d2:	53                   	push   %ebx
4088d3:	ff 51 60             	call   *0x60(%ecx)
4088d6:	eb 82                	jmp    0x40885a
4088d8:	83 7f 08 02          	cmpl   $0x2,0x8(%edi)
4088dc:	0f 85 5c ff ff ff    	jne    0x40883e
4088e2:	8b 45 bc             	mov    -0x44(%ebp),%eax
4088e5:	66 83 38 03          	cmpw   $0x3,(%eax)
4088e9:	74 18                	je     0x408903
4088eb:	6a 03                	push   $0x3
4088ed:	6a 00                	push   $0x0
4088ef:	50                   	push   %eax
4088f0:	8d 45 f0             	lea    -0x10(%ebp),%eax
4088f3:	50                   	push   %eax
4088f4:	ff 15 f0 04 4b 00    	call   *0x4b04f0
4088fa:	8b f0                	mov    %eax,%esi
4088fc:	85 f6                	test   %esi,%esi
4088fe:	7c 87                	jl     0x408887
408900:	8d 45 f0             	lea    -0x10(%ebp),%eax
408903:	ff 75 20             	push   0x20(%ebp)
408906:	8b 75 c0             	mov    -0x40(%ebp),%esi
408909:	8b 40 08             	mov    0x8(%eax),%eax
40890c:	8b 0b                	mov    (%ebx),%ecx
40890e:	83 ec 10             	sub    $0x10,%esp
408911:	8b fc                	mov    %esp,%edi
408913:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408914:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408915:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408916:	50                   	push   %eax
408917:	53                   	push   %ebx
408918:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408919:	ff 51 5c             	call   *0x5c(%ecx)
40891c:	e9 39 ff ff ff       	jmp    0x40885a
408921:	83 7f 08 05          	cmpl   $0x5,0x8(%edi)
408925:	0f 85 13 ff ff ff    	jne    0x40883e
40892b:	33 ff                	xor    %edi,%edi
40892d:	8d 74 bd bc          	lea    -0x44(%ebp,%edi,4),%esi
408931:	8b 06                	mov    (%esi),%eax
408933:	66 8b 08             	mov    (%eax),%cx
408936:	f6 c5 40             	test   $0x40,%ch
408939:	74 34                	je     0x40896f
40893b:	f6 c1 0f             	test   $0xf,%cl
40893e:	74 2f                	je     0x40896f
408940:	f6 c1 0c             	test   $0xc,%cl
408943:	74 1b                	je     0x408960
408945:	ff 70 08             	push   0x8(%eax)
408948:	ff 15 f4 04 4b 00    	call   *0x4b04f4
40894e:	8b 06                	mov    (%esi),%eax
408950:	8b 48 08             	mov    0x8(%eax),%ecx
408953:	66 c7 01 03 00       	movw   $0x3,(%ecx)
408958:	8b 40 08             	mov    0x8(%eax),%eax
40895b:	83 c0 08             	add    $0x8,%eax
40895e:	eb 03                	jmp    0x408963
408960:	8b 40 08             	mov    0x8(%eax),%eax
408963:	89 44 bd e0          	mov    %eax,-0x20(%ebp,%edi,4)
408967:	47                   	inc    %edi
408968:	83 ff 04             	cmp    $0x4,%edi
40896b:	7c c0                	jl     0x40892d
40896d:	eb 05                	jmp    0x408974
40896f:	8b 45 28             	mov    0x28(%ebp),%eax
408972:	89 38                	mov    %edi,(%eax)
408974:	8b 75 cc             	mov    -0x34(%ebp),%esi
408977:	8b 03                	mov    (%ebx),%eax
408979:	83 ec 10             	sub    $0x10,%esp
40897c:	8b fc                	mov    %esp,%edi
40897e:	ff 75 ec             	push   -0x14(%ebp)
408981:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408982:	ff 75 e8             	push   -0x18(%ebp)
408985:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408986:	ff 75 e4             	push   -0x1c(%ebp)
408989:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40898a:	ff 75 e0             	push   -0x20(%ebp)
40898d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40898e:	53                   	push   %ebx
40898f:	ff 50 58             	call   *0x58(%eax)
408992:	e9 c3 fe ff ff       	jmp    0x40885a
408997:	83 7f 08 02          	cmpl   $0x2,0x8(%edi)
40899b:	0f 85 9d fe ff ff    	jne    0x40883e
4089a1:	8b 45 bc             	mov    -0x44(%ebp),%eax
4089a4:	66 83 38 03          	cmpw   $0x3,(%eax)
4089a8:	74 1c                	je     0x4089c6
4089aa:	6a 03                	push   $0x3
4089ac:	6a 00                	push   $0x0
4089ae:	50                   	push   %eax
4089af:	8d 45 f0             	lea    -0x10(%ebp),%eax
4089b2:	50                   	push   %eax
4089b3:	ff 15 f0 04 4b 00    	call   *0x4b04f0
4089b9:	8b f0                	mov    %eax,%esi
4089bb:	85 f6                	test   %esi,%esi
4089bd:	0f 8c c4 fe ff ff    	jl     0x408887
4089c3:	8d 45 f0             	lea    -0x10(%ebp),%eax
4089c6:	8b 75 c0             	mov    -0x40(%ebp),%esi
4089c9:	8b 40 08             	mov    0x8(%eax),%eax
4089cc:	8b 0b                	mov    (%ebx),%ecx
4089ce:	83 ec 10             	sub    $0x10,%esp
4089d1:	8b fc                	mov    %esp,%edi
4089d3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4089d4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4089d5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4089d6:	50                   	push   %eax
4089d7:	53                   	push   %ebx
4089d8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4089d9:	ff 51 54             	call   *0x54(%ecx)
4089dc:	e9 79 fe ff ff       	jmp    0x40885a
4089e1:	83 7f 08 01          	cmpl   $0x1,0x8(%edi)
4089e5:	0f 85 53 fe ff ff    	jne    0x40883e
4089eb:	8b 4d 20             	mov    0x20(%ebp),%ecx
4089ee:	8b 75 bc             	mov    -0x44(%ebp),%esi
4089f1:	8b 03                	mov    (%ebx),%eax
4089f3:	83 c1 08             	add    $0x8,%ecx
4089f6:	51                   	push   %ecx
4089f7:	83 ec 10             	sub    $0x10,%esp
4089fa:	8b fc                	mov    %esp,%edi
4089fc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4089fd:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4089fe:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4089ff:	53                   	push   %ebx
408a00:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408a01:	ff 50 50             	call   *0x50(%eax)
408a04:	8b f0                	mov    %eax,%esi
408a06:	85 f6                	test   %esi,%esi
408a08:	0f 8c cd 02 00 00    	jl     0x408cdb
408a0e:	8b 45 20             	mov    0x20(%ebp),%eax
408a11:	66 c7 00 08 00       	movw   $0x8,(%eax)
408a16:	e9 c0 02 00 00       	jmp    0x408cdb
408a1b:	ff 75 20             	push   0x20(%ebp)
408a1e:	8b 03                	mov    (%ebx),%eax
408a20:	53                   	push   %ebx
408a21:	ff 50 4c             	call   *0x4c(%eax)
408a24:	e9 31 fe ff ff       	jmp    0x40885a
408a29:	ff 75 20             	push   0x20(%ebp)
408a2c:	8b 03                	mov    (%ebx),%eax
408a2e:	53                   	push   %ebx
408a2f:	ff 50 48             	call   *0x48(%eax)
408a32:	e9 23 fe ff ff       	jmp    0x40885a
408a37:	83 7f 08 01          	cmpl   $0x1,0x8(%edi)
408a3b:	0f 85 fd fd ff ff    	jne    0x40883e
408a41:	8b 4d 20             	mov    0x20(%ebp),%ecx
408a44:	8b 75 bc             	mov    -0x44(%ebp),%esi
408a47:	8b 03                	mov    (%ebx),%eax
408a49:	83 c1 08             	add    $0x8,%ecx
408a4c:	51                   	push   %ecx
408a4d:	83 ec 10             	sub    $0x10,%esp
408a50:	8b fc                	mov    %esp,%edi
408a52:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408a53:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408a54:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408a55:	53                   	push   %ebx
408a56:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408a57:	ff 50 44             	call   *0x44(%eax)
408a5a:	eb a8                	jmp    0x408a04
408a5c:	83 7f 08 02          	cmpl   $0x2,0x8(%edi)
408a60:	0f 85 d8 fd ff ff    	jne    0x40883e
408a66:	8b 75 bc             	mov    -0x44(%ebp),%esi
408a69:	66 8b 06             	mov    (%esi),%ax
408a6c:	f6 c4 40             	test   $0x40,%ah
408a6f:	74 0e                	je     0x408a7f
408a71:	a8 0c                	test   $0xc,%al
408a73:	75 0a                	jne    0x408a7f
408a75:	be 05 00 02 80       	mov    $0x80020005,%esi
408a7a:	e9 08 fe ff ff       	jmp    0x408887
408a7f:	66 3d 0c 40          	cmp    $0x400c,%ax
408a83:	75 19                	jne    0x408a9e
408a85:	ff 76 08             	push   0x8(%esi)
408a88:	ff 15 f4 04 4b 00    	call   *0x4b04f4
408a8e:	8b 46 08             	mov    0x8(%esi),%eax
408a91:	66 c7 00 08 00       	movw   $0x8,(%eax)
408a96:	8b 46 08             	mov    0x8(%esi),%eax
408a99:	83 c0 08             	add    $0x8,%eax
408a9c:	eb 1a                	jmp    0x408ab8
408a9e:	66 3d 08 40          	cmp    $0x4008,%ax
408aa2:	75 05                	jne    0x408aa9
408aa4:	8b 46 08             	mov    0x8(%esi),%eax
408aa7:	eb 0f                	jmp    0x408ab8
408aa9:	56                   	push   %esi
408aaa:	ff 15 f4 04 4b 00    	call   *0x4b04f4
408ab0:	8d 46 08             	lea    0x8(%esi),%eax
408ab3:	66 c7 06 08 00       	movw   $0x8,(%esi)
408ab8:	8b 55 20             	mov    0x20(%ebp),%edx
408abb:	8b 75 c0             	mov    -0x40(%ebp),%esi
408abe:	8b 0b                	mov    (%ebx),%ecx
408ac0:	83 c2 08             	add    $0x8,%edx
408ac3:	52                   	push   %edx
408ac4:	83 ec 10             	sub    $0x10,%esp
408ac7:	8b fc                	mov    %esp,%edi
408ac9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408aca:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408acb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408acc:	50                   	push   %eax
408acd:	53                   	push   %ebx
408ace:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408acf:	ff 51 40             	call   *0x40(%ecx)
408ad2:	8b f0                	mov    %eax,%esi
408ad4:	85 f6                	test   %esi,%esi
408ad6:	0f 8c ff 01 00 00    	jl     0x408cdb
408adc:	8b 45 20             	mov    0x20(%ebp),%eax
408adf:	66 c7 00 03 00       	movw   $0x3,(%eax)
408ae4:	e9 f2 01 00 00       	jmp    0x408cdb
408ae9:	83 7f 08 01          	cmpl   $0x1,0x8(%edi)
408aed:	0f 85 4b fd ff ff    	jne    0x40883e
408af3:	8b 4d 20             	mov    0x20(%ebp),%ecx
408af6:	8b 75 bc             	mov    -0x44(%ebp),%esi
408af9:	8b 03                	mov    (%ebx),%eax
408afb:	83 c1 08             	add    $0x8,%ecx
408afe:	51                   	push   %ecx
408aff:	83 ec 10             	sub    $0x10,%esp
408b02:	8b fc                	mov    %esp,%edi
408b04:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b05:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b06:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b07:	53                   	push   %ebx
408b08:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b09:	ff 50 3c             	call   *0x3c(%eax)
408b0c:	e9 f3 fe ff ff       	jmp    0x408a04
408b11:	83 7f 08 01          	cmpl   $0x1,0x8(%edi)
408b15:	0f 85 23 fd ff ff    	jne    0x40883e
408b1b:	ff 75 20             	push   0x20(%ebp)
408b1e:	8b 75 bc             	mov    -0x44(%ebp),%esi
408b21:	8b 03                	mov    (%ebx),%eax
408b23:	83 ec 10             	sub    $0x10,%esp
408b26:	8b fc                	mov    %esp,%edi
408b28:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b29:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b2a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b2b:	53                   	push   %ebx
408b2c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b2d:	ff 50 38             	call   *0x38(%eax)
408b30:	e9 25 fd ff ff       	jmp    0x40885a
408b35:	83 7f 08 01          	cmpl   $0x1,0x8(%edi)
408b39:	0f 85 ff fc ff ff    	jne    0x40883e
408b3f:	ff 75 20             	push   0x20(%ebp)
408b42:	8b 75 bc             	mov    -0x44(%ebp),%esi
408b45:	8b 03                	mov    (%ebx),%eax
408b47:	83 ec 10             	sub    $0x10,%esp
408b4a:	8b fc                	mov    %esp,%edi
408b4c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b4d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b4e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b4f:	53                   	push   %ebx
408b50:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b51:	ff 50 34             	call   *0x34(%eax)
408b54:	e9 01 fd ff ff       	jmp    0x40885a
408b59:	83 7f 08 01          	cmpl   $0x1,0x8(%edi)
408b5d:	0f 85 db fc ff ff    	jne    0x40883e
408b63:	8b 4d 20             	mov    0x20(%ebp),%ecx
408b66:	8b 75 bc             	mov    -0x44(%ebp),%esi
408b69:	8b 03                	mov    (%ebx),%eax
408b6b:	83 c1 08             	add    $0x8,%ecx
408b6e:	51                   	push   %ecx
408b6f:	83 ec 10             	sub    $0x10,%esp
408b72:	8b fc                	mov    %esp,%edi
408b74:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b75:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b76:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b77:	53                   	push   %ebx
408b78:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408b79:	ff 50 30             	call   *0x30(%eax)
408b7c:	e9 83 fe ff ff       	jmp    0x408a04