402880:	53                   	push   %ebx
402881:	53                   	push   %ebx
402882:	ff 75 cc             	push   -0x34(%ebp)
402885:	ff 15 40 72 40 00    	call   *0x407240
40288b:	8b 45 fc             	mov    -0x4(%ebp),%eax
40288e:	01 05 28 3f 42 00    	add    %eax,0x423f28
402894:	33 c0                	xor    %eax,%eax
402896:	5f                   	pop    %edi
402897:	5e                   	pop    %esi
402898:	5b                   	pop    %ebx
402899:	c9                   	leave
40289a:	c2 04 00             	ret    $0x4
40289d:	96                   	xchg   %eax,%esi
40289e:	28 40 00             	sub    %al,0x0(%eax)
4028a1:	90                   	nop
4028a2:	14 40                	adc    $0x40,%al
4028a4:	00 9c 14 40 00 b7 14 	add    %bl,0x14b70040(%esp,%edx,1)
4028ab:	40                   	inc    %eax
4028ac:	00 ca                	add    %cl,%dl
4028ae:	14 40                	adc    $0x40,%al
4028b0:	00 d6                	add    %dl,%dh
4028b2:	14 40                	adc    $0x40,%al
4028b4:	00 f0                	add    %dh,%al
4028b6:	14 40                	adc    $0x40,%al
4028b8:	00 67 15             	add    %ah,0x15(%edi)
4028bb:	40                   	inc    %eax
4028bc:	00 95 15 40 00 b3    	add    %dl,-0x4cffbfeb(%ebp)
4028c2:	15 40 00 34 16       	adc    $0x16340040,%eax
4028c7:	40                   	inc    %eax
4028c8:	00 fe                	add    %bh,%dh
4028ca:	14 40                	adc    $0x40,%al
4028cc:	00 39                	add    %bh,(%ecx)
4028ce:	15 40 00 5a 15       	adc    $0x155a0040,%eax
4028d3:	40                   	inc    %eax
4028d4:	00 45 16             	add    %al,0x16(%ebp)
4028d7:	40                   	inc    %eax
4028d8:	00 96 16 40 00 fa    	add    %dl,-0x5ffbfea(%esi)
4028de:	16                   	push   %ss
4028df:	40                   	inc    %eax
4028e0:	00 21                	add    %ah,(%ecx)
4028e2:	17                   	pop    %ss
4028e3:	40                   	inc    %eax
4028e4:	00 34 17             	add    %dh,(%edi,%edx,1)
4028e7:	40                   	inc    %eax
4028e8:	00 d8                	add    %bl,%al
4028ea:	18 40 00             	sbb    %al,0x0(%eax)
4028ed:	db 18                	fistpl (%eax)
4028ef:	40                   	inc    %eax
4028f0:	00 0d 19 40 00 22    	add    %cl,0x22004019
4028f6:	19 40 00             	sbb    %eax,0x0(%eax)
4028f9:	34 19                	xor    $0x19,%al
4028fb:	40                   	inc    %eax
4028fc:	00 b5 19 40 00 e6    	add    %dh,-0x19ffbfe7(%ebp)
402902:	19 40 00             	sbb    %eax,0x0(%eax)
402905:	26 1a 40 00          	sbb    %es:0x0(%eax),%al
402909:	58                   	pop    %eax
40290a:	1a 40 00             	sbb    0x0(%eax),%al
40290d:	e5 1a                	in     $0x1a,%eax
40290f:	40                   	inc    %eax
402910:	00 06                	add    %al,(%esi)
402912:	1b 40 00             	sbb    0x0(%eax),%eax
402915:	ad                   	lods   %ds:(%esi),%eax
402916:	1b 40 00             	sbb    0x0(%eax),%eax
402919:	ad                   	lods   %ds:(%esi),%eax
40291a:	1b 40 00             	sbb    0x0(%eax),%eax
40291d:	6d                   	insl   (%dx),%es:(%edi)
40291e:	1c 40                	sbb    $0x40,%al
402920:	00 8a 1c 40 00 a5    	add    %cl,-0x5affbfe4(%edx)
402926:	1c 40                	sbb    $0x40,%al
402928:	00 c1                	add    %al,%cl
40292a:	1c 40                	sbb    $0x40,%al
40292c:	00 1b                	add    %bl,(%ebx)
40292e:	1d 40 00 95 1d       	sbb    $0x1d950040,%eax
402933:	40                   	inc    %eax
402934:	00 c1                	add    %al,%cl
402936:	1d 40 00 1b 1e       	sbb    $0x1e1b0040,%eax
40293b:	40                   	inc    %eax
40293c:	00 95 1e 40 00 c5    	add    %dl,-0x3affbfe2(%ebp)
402942:	1e                   	push   %ds
402943:	40                   	inc    %eax
402944:	00 50 1f             	add    %dl,0x1f(%eax)
402947:	40                   	inc    %eax
402948:	00 20                	add    %ah,(%eax)
40294a:	20 40 00             	and    %al,0x0(%eax)
40294d:	72 21                	jb     0x402970
40294f:	40                   	inc    %eax
402950:	00 f4                	add    %dh,%ah
402952:	21 40 00             	and    %eax,0x0(%eax)
402955:	23 22                	and    (%edx),%esp
402957:	40                   	inc    %eax
402958:	00 67 22             	add    %ah,0x22(%edi)
40295b:	40                   	inc    %eax
40295c:	00 a7 22 40 00 03    	add    %ah,0x3004022(%edi)
402962:	23 40 00             	and    0x0(%eax),%eax
402965:	af                   	scas   %es:(%edi),%eax
402966:	23 40 00             	and    0x0(%eax),%eax
402969:	27                   	daa
40296a:	24 40                	and    $0x40,%al
40296c:	00 88 24 40 00 9c    	add    %cl,-0x63ffbfdc(%eax)
402972:	24 40                	and    $0x40,%al
402974:	00 be 24 40 00 06    	add    %bh,0x6004024(%esi)
40297a:	25 40 00 cb 25       	and    $0x25cb0040,%eax
40297f:	40                   	inc    %eax
402980:	00 fa                	add    %bh,%dl
402982:	25 40 00 14 26       	and    $0x26140040,%eax
402987:	40                   	inc    %eax
402988:	00 3e                	add    %bh,(%esi)
40298a:	26 40                	es inc %eax
40298c:	00 7c 26 40          	add    %bh,0x40(%esi,%eiz,1)
402990:	00 7d 27             	add    %bh,0x27(%ebp)
402993:	40                   	inc    %eax
402994:	00 03                	add    %al,(%ebx)
402996:	28 40 00             	sub    %al,0x0(%eax)
402999:	8b 28                	mov    (%eax),%ebp
40299b:	40                   	inc    %eax
40299c:	00 8b 28 40 00 66    	add    %cl,0x66004028(%ebx)
4029a2:	28 40 00             	sub    %al,0x0(%eax)
4029a5:	79 1a                	jns    0x4029c1
4029a7:	40                   	inc    %eax
4029a8:	00 7d 1a             	add    %bh,0x1a(%ebp)
4029ab:	40                   	inc    %eax
4029ac:	00 81 1a 40 00 88    	add    %al,-0x77ffbfe6(%ecx)
4029b2:	1a 40 00             	sbb    0x0(%eax),%al
4029b5:	95                   	xchg   %eax,%ebp
4029b6:	1a 40 00             	sbb    0x0(%eax),%al
4029b9:	99                   	cltd
4029ba:	1a 40 00             	sbb    0x0(%eax),%al
4029bd:	9d                   	popf
4029be:	1a 40 00             	sbb    0x0(%eax),%al
4029c1:	a1 1a 40 00 aa       	mov    0xaa00401a,%eax
4029c6:	1a 40 00             	sbb    0x0(%eax),%al
4029c9:	b4 1a                	mov    $0x1a,%ah
4029cb:	40                   	inc    %eax
4029cc:	00 c1                	add    %al,%cl
4029ce:	1a 40 00             	sbb    0x0(%eax),%al
4029d1:	d9 1a                	fstps  (%edx)
4029d3:	40                   	inc    %eax
4029d4:	00 dd                	add    %bl,%ch
4029d6:	1a 40 00             	sbb    0x0(%eax),%al
4029d9:	8b 44 24 04          	mov    0x4(%esp),%eax
4029dd:	8b 0d 68 9b 40 00    	mov    0x409b68,%ecx
4029e3:	ff 34 81             	push   (%ecx,%eax,4)
4029e6:	6a 00                	push   $0x0
4029e8:	e8 9b 31 00 00       	call   0x405b88
4029ed:	50                   	push   %eax
4029ee:	e8 ea 30 00 00       	call   0x405add
4029f3:	c2 04 00             	ret    $0x4
4029f6:	56                   	push   %esi
4029f7:	8b 74 24 08          	mov    0x8(%esp),%esi
4029fb:	85 f6                	test   %esi,%esi
4029fd:	57                   	push   %edi
4029fe:	8b c6                	mov    %esi,%eax
402a00:	7d 02                	jge    0x402a04
402a02:	f7 d8                	neg    %eax
402a04:	8b 15 68 9b 40 00    	mov    0x409b68,%edx
402a0a:	8b c8                	mov    %eax,%ecx
402a0c:	83 e1 0f             	and    $0xf,%ecx
402a0f:	c1 f8 04             	sar    $0x4,%eax
402a12:	ff 34 8a             	push   (%edx,%ecx,4)
402a15:	c1 e0 0a             	shl    $0xa,%eax
402a18:	05 70 9b 40 00       	add    $0x409b70,%eax
402a1d:	50                   	push   %eax
402a1e:	e8 65 31 00 00       	call   0x405b88
402a23:	85 f6                	test   %esi,%esi
402a25:	8b f8                	mov    %eax,%edi
402a27:	7d 06                	jge    0x402a2f
402a29:	57                   	push   %edi
402a2a:	e8 99 33 00 00       	call   0x405dc8
402a2f:	8b c7                	mov    %edi,%eax
402a31:	5f                   	pop    %edi
402a32:	5e                   	pop    %esi
402a33:	c2 04 00             	ret    $0x4
402a36:	55                   	push   %ebp
402a37:	8b ec                	mov    %esp,%ebp
402a39:	81 ec 0c 01 00 00    	sub    $0x10c,%esp
402a3f:	53                   	push   %ebx
402a40:	56                   	push   %esi
402a41:	8d 45 fc             	lea    -0x4(%ebp),%eax
402a44:	57                   	push   %edi
402a45:	50                   	push   %eax
402a46:	a1 50 3f 42 00       	mov    0x423f50,%eax
402a4b:	0c 08                	or     $0x8,%al
402a4d:	33 db                	xor    %ebx,%ebx
402a4f:	50                   	push   %eax
402a50:	53                   	push   %ebx
402a51:	ff 75 0c             	push   0xc(%ebp)
402a54:	ff 75 08             	push   0x8(%ebp)
402a57:	ff 15 10 70 40 00    	call   *0x407010
402a5d:	3b c3                	cmp    %ebx,%eax
402a5f:	75 69                	jne    0x402aca
402a61:	8b 35 08 70 40 00    	mov    0x407008,%esi
402a67:	bf 05 01 00 00       	mov    $0x105,%edi
402a6c:	eb 19                	jmp    0x402a87
402a6e:	39 5d 10             	cmp    %ebx,0x10(%ebp)
402a71:	75 4b                	jne    0x402abe
402a73:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
402a79:	53                   	push   %ebx
402a7a:	50                   	push   %eax
402a7b:	ff 75 fc             	push   -0x4(%ebp)
402a7e:	e8 b3 ff ff ff       	call   0x402a36
402a83:	85 c0                	test   %eax,%eax
402a85:	75 12                	jne    0x402a99
402a87:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
402a8d:	57                   	push   %edi
402a8e:	50                   	push   %eax
402a8f:	53                   	push   %ebx
402a90:	ff 75 fc             	push   -0x4(%ebp)
402a93:	ff d6                	call   *%esi
402a95:	85 c0                	test   %eax,%eax
402a97:	74 d5                	je     0x402a6e
402a99:	ff 75 fc             	push   -0x4(%ebp)
402a9c:	ff 15 1c 70 40 00    	call   *0x40701c
402aa2:	6a 02                	push   $0x2
402aa4:	e8 df 33 00 00       	call   0x405e88
402aa9:	3b c3                	cmp    %ebx,%eax
402aab:	74 24                	je     0x402ad1
402aad:	53                   	push   %ebx
402aae:	ff 35 50 3f 42 00    	push   0x423f50
402ab4:	ff 75 0c             	push   0xc(%ebp)
402ab7:	ff 75 08             	push   0x8(%ebp)
402aba:	ff d0                	call   *%eax
402abc:	eb 0c                	jmp    0x402aca
402abe:	ff 75 fc             	push   -0x4(%ebp)
402ac1:	ff 15 1c 70 40 00    	call   *0x40701c
402ac7:	33 c0                	xor    %eax,%eax
402ac9:	40                   	inc    %eax
402aca:	5f                   	pop    %edi
402acb:	5e                   	pop    %esi
402acc:	5b                   	pop    %ebx
402acd:	c9                   	leave
402ace:	c2 0c 00             	ret    $0xc
402ad1:	39 1d 50 3f 42 00    	cmp    %ebx,0x423f50
402ad7:	75 ee                	jne    0x402ac7
402ad9:	ff 75 0c             	push   0xc(%ebp)
402adc:	ff 75 08             	push   0x8(%ebp)
402adf:	ff 15 14 70 40 00    	call   *0x407014
402ae5:	85 c0                	test   %eax,%eax
402ae7:	75 de                	jne    0x402ac7
402ae9:	eb df                	jmp    0x402aca
402aeb:	8b 44 24 04          	mov    0x4(%esp),%eax
402aef:	85 c0                	test   %eax,%eax
402af1:	75 0a                	jne    0x402afd
402af3:	a1 24 3f 42 00       	mov    0x423f24,%eax
402af8:	05 01 00 00 80       	add    $0x80000001,%eax
402afd:	c2 04 00             	ret    $0x4
402b00:	55                   	push   %ebp
402b01:	8b ec                	mov    %esp,%ebp
402b03:	8d 45 08             	lea    0x8(%ebp),%eax
402b06:	50                   	push   %eax
402b07:	a1 50 3f 42 00       	mov    0x423f50,%eax
402b0c:	0b 45 08             	or     0x8(%ebp),%eax
402b0f:	50                   	push   %eax
402b10:	6a 00                	push   $0x0
402b12:	6a 22                	push   $0x22
402b14:	e8 dd fe ff ff       	call   0x4029f6
402b19:	50                   	push   %eax
402b1a:	a1 68 9b 40 00       	mov    0x409b68,%eax
402b1f:	ff 70 04             	push   0x4(%eax)
402b22:	e8 c4 ff ff ff       	call   0x402aeb
402b27:	50                   	push   %eax
402b28:	ff 15 10 70 40 00    	call   *0x407010
402b2e:	f7 d8                	neg    %eax
402b30:	1b c0                	sbb    %eax,%eax
402b32:	f7 d0                	not    %eax
402b34:	23 45 08             	and    0x8(%ebp),%eax
402b37:	5d                   	pop    %ebp
402b38:	c2 04 00             	ret    $0x4
402b3b:	55                   	push   %ebp
402b3c:	8b ec                	mov    %esp,%ebp
402b3e:	83 ec 40             	sub    $0x40,%esp
402b41:	81 7d 0c 10 01 00 00 	cmpl   $0x110,0xc(%ebp)
402b48:	75 19                	jne    0x402b63
402b4a:	6a 00                	push   $0x0
402b4c:	68 fa 00 00 00       	push   $0xfa
402b51:	6a 01                	push   $0x1
402b53:	ff 75 08             	push   0x8(%ebp)
402b56:	ff 15 f0 71 40 00    	call   *0x4071f0
402b5c:	c7 45 0c 13 01 00 00 	movl   $0x113,0xc(%ebp)
402b63:	81 7d 0c 13 01 00 00 	cmpl   $0x113,0xc(%ebp)
402b6a:	75 45                	jne    0x402bb1
402b6c:	e8 46 00 00 00       	call   0x402bb7
402b71:	83 3d b0 3e 42 00 00 	cmpl   $0x0,0x423eb0
402b78:	b9 38 90 40 00       	mov    $0x409038,%ecx
402b7d:	75 05                	jne    0x402b84
402b7f:	b9 1c 90 40 00       	mov    $0x40901c,%ecx
402b84:	50                   	push   %eax
402b85:	8d 45 c0             	lea    -0x40(%ebp),%eax
402b88:	51                   	push   %ecx
402b89:	50                   	push   %eax
402b8a:	ff 15 00 72 40 00    	call   *0x407200
402b90:	83 c4 0c             	add    $0xc,%esp
402b93:	8d 45 c0             	lea    -0x40(%ebp),%eax
402b96:	50                   	push   %eax
402b97:	ff 75 08             	push   0x8(%ebp)
402b9a:	ff 15 f4 71 40 00    	call   *0x4071f4
402ba0:	8d 45 c0             	lea    -0x40(%ebp),%eax
402ba3:	50                   	push   %eax
402ba4:	68 06 04 00 00       	push   $0x406
402ba9:	ff 75 08             	push   0x8(%ebp)
402bac:	e8 54 28 00 00       	call   0x405405
402bb1:	33 c0                	xor    %eax,%eax
402bb3:	c9                   	leave
402bb4:	c2 10 00             	ret    $0x10
402bb7:	8b 0d 40 70 41 00    	mov    0x417040,%ecx
402bbd:	a1 50 f0 41 00       	mov    0x41f050,%eax
402bc2:	3b c8                	cmp    %eax,%ecx
402bc4:	7c 02                	jl     0x402bc8
402bc6:	8b c8                	mov    %eax,%ecx
402bc8:	50                   	push   %eax
402bc9:	6a 64                	push   $0x64
402bcb:	51                   	push   %ecx
402bcc:	ff 15 30 71 40 00    	call   *0x407130
402bd2:	c3                   	ret
402bd3:	55                   	push   %ebp
402bd4:	8b ec                	mov    %esp,%ebp
402bd6:	83 ec 40             	sub    $0x40,%esp
402bd9:	56                   	push   %esi
402bda:	33 f6                	xor    %esi,%esi
402bdc:	39 75 08             	cmp    %esi,0x8(%ebp)
402bdf:	74 18                	je     0x402bf9
402be1:	a1 4c 70 41 00       	mov    0x41704c,%eax
402be6:	3b c6                	cmp    %esi,%eax
402be8:	74 07                	je     0x402bf1
402bea:	50                   	push   %eax
402beb:	ff 15 e8 71 40 00    	call   *0x4071e8
402bf1:	89 35 4c 70 41 00    	mov    %esi,0x41704c
402bf7:	eb 76                	jmp    0x402c6f
402bf9:	39 35 4c 70 41 00    	cmp    %esi,0x41704c
402bff:	74 08                	je     0x402c09
402c01:	56                   	push   %esi
402c02:	e8 ba 32 00 00       	call   0x405ec1
402c07:	eb 66                	jmp    0x402c6f
402c09:	ff 15 8c 70 40 00    	call   *0x40708c
402c0f:	3b 05 ac 3e 42 00    	cmp    0x423eac,%eax
402c15:	76 58                	jbe    0x402c6f
402c17:	39 35 a8 3e 42 00    	cmp    %esi,0x423ea8
402c1d:	74 2d                	je     0x402c4c
402c1f:	f6 05 54 3f 42 00 01 	testb  $0x1,0x423f54
402c26:	74 47                	je     0x402c6f
402c28:	e8 8a ff ff ff       	call   0x402bb7
402c2d:	50                   	push   %eax
402c2e:	8d 45 c0             	lea    -0x40(%ebp),%eax
402c31:	68 50 90 40 00       	push   $0x409050
402c36:	50                   	push   %eax
402c37:	ff 15 00 72 40 00    	call   *0x407200
402c3d:	83 c4 0c             	add    $0xc,%esp
402c40:	8d 45 c0             	lea    -0x40(%ebp),%eax
402c43:	50                   	push   %eax
402c44:	56                   	push   %esi
402c45:	e8 ba 22 00 00       	call   0x404f04