4018b1:	85 c0                	test   %eax,%eax
4018b3:	74 07                	je     0x4018bc
4018b5:	50                   	push   %eax
4018b6:	ff 15 9c 40 40 00    	call   *0x40409c
4018bc:	6a 00                	push   $0x0
4018be:	ff 15 a8 40 40 00    	call   *0x4040a8
4018c4:	56                   	push   %esi
4018c5:	e8 c6 fd ff ff       	call   0x401690
4018ca:	59                   	pop    %ecx
4018cb:	8b c7                	mov    %edi,%eax
4018cd:	5f                   	pop    %edi
4018ce:	5e                   	pop    %esi
4018cf:	5d                   	pop    %ebp
4018d0:	c2 04 00             	ret    $0x4
4018d3:	cc                   	int3
4018d4:	cc                   	int3
4018d5:	cc                   	int3
4018d6:	cc                   	int3
4018d7:	cc                   	int3
4018d8:	cc                   	int3
4018d9:	cc                   	int3
4018da:	cc                   	int3
4018db:	cc                   	int3
4018dc:	cc                   	int3
4018dd:	cc                   	int3
4018de:	cc                   	int3
4018df:	cc                   	int3
4018e0:	8b ff                	mov    %edi,%edi
4018e2:	55                   	push   %ebp
4018e3:	8b ec                	mov    %esp,%ebp
4018e5:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
4018e9:	75 07                	jne    0x4018f2
4018eb:	e8 75 03 00 00       	call   0x401c65
4018f0:	eb 05                	jmp    0x4018f7
4018f2:	e8 14 03 00 00       	call   0x401c0b
4018f7:	33 c0                	xor    %eax,%eax
4018f9:	5d                   	pop    %ebp
4018fa:	c2 08 00             	ret    $0x8
4018fd:	cc                   	int3
4018fe:	cc                   	int3
4018ff:	cc                   	int3
401900:	8b ff                	mov    %edi,%edi
401902:	55                   	push   %ebp
401903:	8b ec                	mov    %esp,%ebp
401905:	8b 55 0c             	mov    0xc(%ebp),%edx
401908:	53                   	push   %ebx
401909:	56                   	push   %esi
40190a:	33 db                	xor    %ebx,%ebx
40190c:	be 30 11 40 00       	mov    $0x401130,%esi
401911:	57                   	push   %edi
401912:	8b cb                	mov    %ebx,%ecx
401914:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
401917:	3b 04 8e             	cmp    (%esi,%ecx,4),%eax
40191a:	75 08                	jne    0x401924
40191c:	41                   	inc    %ecx
40191d:	83 f9 04             	cmp    $0x4,%ecx
401920:	75 f2                	jne    0x401914
401922:	eb 15                	jmp    0x401939
401924:	be 40 11 40 00       	mov    $0x401140,%esi
401929:	8b cb                	mov    %ebx,%ecx
40192b:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
40192e:	3b 04 8e             	cmp    (%esi,%ecx,4),%eax
401931:	75 2d                	jne    0x401960
401933:	41                   	inc    %ecx
401934:	83 f9 04             	cmp    $0x4,%ecx
401937:	75 f2                	jne    0x40192b
401939:	8b 4d 08             	mov    0x8(%ebp),%ecx
40193c:	8b fc                	mov    %esp,%edi
40193e:	8b 45 10             	mov    0x10(%ebp),%eax
401941:	51                   	push   %ecx
401942:	89 08                	mov    %ecx,(%eax)
401944:	8b 01                	mov    (%ecx),%eax
401946:	8b 70 04             	mov    0x4(%eax),%esi
401949:	8b ce                	mov    %esi,%ecx
40194b:	ff 15 48 41 40 00    	call   *0x404148
401951:	ff d6                	call   *%esi
401953:	3b fc                	cmp    %esp,%edi
401955:	74 07                	je     0x40195e
401957:	b9 04 00 00 00       	mov    $0x4,%ecx
40195c:	cd 29                	int    $0x29
40195e:	eb 0a                	jmp    0x40196a
401960:	8b 4d 10             	mov    0x10(%ebp),%ecx
401963:	89 19                	mov    %ebx,(%ecx)
401965:	bb 02 40 00 80       	mov    $0x80004002,%ebx
40196a:	5f                   	pop    %edi
40196b:	5e                   	pop    %esi
40196c:	8b c3                	mov    %ebx,%eax
40196e:	5b                   	pop    %ebx
40196f:	5d                   	pop    %ebp
401970:	c2 0c 00             	ret    $0xc
401973:	cc                   	int3
401974:	cc                   	int3
401975:	cc                   	int3
401976:	cc                   	int3
401977:	cc                   	int3
401978:	cc                   	int3
401979:	cc                   	int3
40197a:	cc                   	int3
40197b:	cc                   	int3
40197c:	cc                   	int3
40197d:	cc                   	int3
40197e:	cc                   	int3
40197f:	cc                   	int3
401980:	8b ff                	mov    %edi,%edi
401982:	55                   	push   %ebp
401983:	8b ec                	mov    %esp,%ebp
401985:	53                   	push   %ebx
401986:	56                   	push   %esi
401987:	33 c9                	xor    %ecx,%ecx
401989:	be 02 40 00 80       	mov    $0x80004002,%esi
40198e:	57                   	push   %edi
40198f:	bf 8c 33 40 00       	mov    $0x40338c,%edi
401994:	bb 60 11 40 00       	mov    $0x401160,%ebx
401999:	8b d1                	mov    %ecx,%edx
40199b:	8b 04 97             	mov    (%edi,%edx,4),%eax
40199e:	3b 04 93             	cmp    (%ebx,%edx,4),%eax
4019a1:	75 08                	jne    0x4019ab
4019a3:	42                   	inc    %edx
4019a4:	83 fa 04             	cmp    $0x4,%edx
4019a7:	75 f2                	jne    0x40199b
4019a9:	eb 13                	jmp    0x4019be
4019ab:	ba 70 11 40 00       	mov    $0x401170,%edx
4019b0:	8b 04 8f             	mov    (%edi,%ecx,4),%eax
4019b3:	3b 04 8a             	cmp    (%edx,%ecx,4),%eax
4019b6:	75 27                	jne    0x4019df
4019b8:	41                   	inc    %ecx
4019b9:	83 f9 04             	cmp    $0x4,%ecx
4019bc:	75 f2                	jne    0x4019b0
4019be:	ff 75 14             	push   0x14(%ebp)
4019c1:	ff 75 10             	push   0x10(%ebp)
4019c4:	68 04 00 08 00       	push   $0x80004
4019c9:	ff 75 0c             	push   0xc(%ebp)
4019cc:	57                   	push   %edi
4019cd:	ff 15 3c 41 40 00    	call   *0x40413c
4019d3:	8b f0                	mov    %eax,%esi
4019d5:	e8 8b 02 00 00       	call   0x401c65
4019da:	e8 2c 02 00 00       	call   0x401c0b
4019df:	5f                   	pop    %edi
4019e0:	8b c6                	mov    %esi,%eax
4019e2:	5e                   	pop    %esi
4019e3:	5b                   	pop    %ebx
4019e4:	5d                   	pop    %ebp
4019e5:	c2 10 00             	ret    $0x10
4019e8:	8b ff                	mov    %edi,%edi
4019ea:	56                   	push   %esi
4019eb:	8b f1                	mov    %ecx,%esi
4019ed:	6a 00                	push   $0x0
4019ef:	0f b6 96 54 b0 00 00 	movzbl 0xb054(%esi),%edx
4019f6:	8d 86 4c 60 00 00    	lea    0x604c(%esi),%eax
4019fc:	ff b6 50 b0 00 00    	push   0xb050(%esi)
401a02:	f7 da                	neg    %edx
401a04:	50                   	push   %eax
401a05:	1b d2                	sbb    %edx,%edx
401a07:	8d 86 4c 10 00 00    	lea    0x104c(%esi),%eax
401a0d:	f7 d2                	not    %edx
401a0f:	23 d0                	and    %eax,%edx
401a11:	8d 46 04             	lea    0x4(%esi),%eax
401a14:	52                   	push   %edx
401a15:	50                   	push   %eax
401a16:	ff 15 bc 40 40 00    	call   *0x4040bc
401a1c:	85 c0                	test   %eax,%eax
401a1e:	74 04                	je     0x401a24
401a20:	33 c0                	xor    %eax,%eax
401a22:	eb 12                	jmp    0x401a36
401a24:	ff 15 3c 40 40 00    	call   *0x40403c
401a2a:	85 c0                	test   %eax,%eax
401a2c:	7e 08                	jle    0x401a36
401a2e:	0f b7 c0             	movzwl %ax,%eax
401a31:	0d 00 00 07 80       	or     $0x80070000,%eax
401a36:	6a 00                	push   $0x0
401a38:	89 86 58 b0 00 00    	mov    %eax,0xb058(%esi)
401a3e:	ff 15 94 40 40 00    	call   *0x404094
401a44:	5e                   	pop    %esi
401a45:	c3                   	ret
401a46:	8b ff                	mov    %edi,%edi
401a48:	55                   	push   %ebp
401a49:	8b ec                	mov    %esp,%ebp
401a4b:	51                   	push   %ecx
401a4c:	56                   	push   %esi
401a4d:	8b f1                	mov    %ecx,%esi
401a4f:	6a 00                	push   $0x0
401a51:	ff b6 50 b0 00 00    	push   0xb050(%esi)
401a57:	8b 86 4c b0 00 00    	mov    0xb04c(%esi),%eax
401a5d:	0f b6 8e 54 b0 00 00 	movzbl 0xb054(%esi),%ecx
401a64:	89 45 fc             	mov    %eax,-0x4(%ebp)
401a67:	f7 d9                	neg    %ecx
401a69:	8d 45 fc             	lea    -0x4(%ebp),%eax
401a6c:	50                   	push   %eax
401a6d:	8d 86 4c 60 00 00    	lea    0x604c(%esi),%eax
401a73:	1b c9                	sbb    %ecx,%ecx
401a75:	50                   	push   %eax
401a76:	8d 86 4c 10 00 00    	lea    0x104c(%esi),%eax
401a7c:	f7 d1                	not    %ecx
401a7e:	23 c8                	and    %eax,%ecx
401a80:	8d 46 04             	lea    0x4(%esi),%eax
401a83:	51                   	push   %ecx
401a84:	50                   	push   %eax
401a85:	ff 15 c0 40 40 00    	call   *0x4040c0
401a8b:	85 c0                	test   %eax,%eax
401a8d:	74 1c                	je     0x401aab
401a8f:	8b 45 fc             	mov    -0x4(%ebp),%eax
401a92:	3b 86 4c b0 00 00    	cmp    0xb04c(%esi),%eax
401a98:	76 07                	jbe    0x401aa1
401a9a:	b8 7a 00 07 80       	mov    $0x8007007a,%eax
401a9f:	eb 1c                	jmp    0x401abd
401aa1:	89 86 4c b0 00 00    	mov    %eax,0xb04c(%esi)
401aa7:	33 c0                	xor    %eax,%eax
401aa9:	eb 12                	jmp    0x401abd
401aab:	ff 15 3c 40 40 00    	call   *0x40403c
401ab1:	85 c0                	test   %eax,%eax
401ab3:	7e 08                	jle    0x401abd
401ab5:	0f b7 c0             	movzwl %ax,%eax
401ab8:	0d 00 00 07 80       	or     $0x80070000,%eax
401abd:	6a 00                	push   $0x0
401abf:	89 86 58 b0 00 00    	mov    %eax,0xb058(%esi)
401ac5:	ff 15 94 40 40 00    	call   *0x404094
401acb:	5e                   	pop    %esi
401acc:	c9                   	leave
401acd:	c3                   	ret
401ace:	8b ff                	mov    %edi,%edi
401ad0:	55                   	push   %ebp
401ad1:	8b ec                	mov    %esp,%ebp
401ad3:	51                   	push   %ecx
401ad4:	51                   	push   %ecx
401ad5:	53                   	push   %ebx
401ad6:	56                   	push   %esi
401ad7:	57                   	push   %edi
401ad8:	8d 45 f8             	lea    -0x8(%ebp),%eax
401adb:	33 db                	xor    %ebx,%ebx
401add:	50                   	push   %eax
401ade:	8d 45 fc             	lea    -0x4(%ebp),%eax
401ae1:	89 5d f8             	mov    %ebx,-0x8(%ebp)
401ae4:	50                   	push   %eax
401ae5:	51                   	push   %ecx
401ae6:	53                   	push   %ebx
401ae7:	53                   	push   %ebx
401ae8:	53                   	push   %ebx
401ae9:	89 5d fc             	mov    %ebx,-0x4(%ebp)
401aec:	e8 01 08 00 00       	call   0x4022f2
401af1:	8b 75 f8             	mov    -0x8(%ebp),%esi
401af4:	8b f8                	mov    %eax,%edi
401af6:	85 ff                	test   %edi,%edi
401af8:	78 21                	js     0x401b1b
401afa:	85 f6                	test   %esi,%esi
401afc:	74 1d                	je     0x401b1b
401afe:	8b 0e                	mov    (%esi),%ecx
401b00:	2b cb                	sub    %ebx,%ecx
401b02:	74 0e                	je     0x401b12
401b04:	83 e9 01             	sub    $0x1,%ecx
401b07:	75 12                	jne    0x401b1b
401b09:	8b ce                	mov    %esi,%ecx
401b0b:	e8 36 ff ff ff       	call   0x401a46
401b10:	eb 0e                	jmp    0x401b20
401b12:	8b ce                	mov    %esi,%ecx
401b14:	e8 cf fe ff ff       	call   0x4019e8
401b19:	eb 05                	jmp    0x401b20
401b1b:	bf 57 00 07 80       	mov    $0x80070057,%edi
401b20:	85 f6                	test   %esi,%esi
401b22:	74 07                	je     0x401b2b
401b24:	56                   	push   %esi
401b25:	ff 15 8c 40 40 00    	call   *0x40408c
401b2b:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
401b2e:	74 09                	je     0x401b39
401b30:	ff 75 fc             	push   -0x4(%ebp)
401b33:	ff 15 28 40 40 00    	call   *0x404028
401b39:	8b c7                	mov    %edi,%eax
401b3b:	5f                   	pop    %edi
401b3c:	5e                   	pop    %esi
401b3d:	5b                   	pop    %ebx
401b3e:	c9                   	leave
401b3f:	c3                   	ret
401b40:	8b ff                	mov    %edi,%edi
401b42:	55                   	push   %ebp
401b43:	8b ec                	mov    %esp,%ebp
401b45:	83 ec 0c             	sub    $0xc,%esp
401b48:	33 c0                	xor    %eax,%eax
401b4a:	50                   	push   %eax
401b4b:	50                   	push   %eax
401b4c:	89 45 f4             	mov    %eax,-0xc(%ebp)
401b4f:	89 45 fc             	mov    %eax,-0x4(%ebp)
401b52:	89 45 f8             	mov    %eax,-0x8(%ebp)
401b55:	8d 45 f8             	lea    -0x8(%ebp),%eax
401b58:	51                   	push   %ecx
401b59:	50                   	push   %eax
401b5a:	8d 45 fc             	lea    -0x4(%ebp),%eax
401b5d:	50                   	push   %eax
401b5e:	8d 45 f4             	lea    -0xc(%ebp),%eax
401b61:	50                   	push   %eax
401b62:	e8 8b 07 00 00       	call   0x4022f2
401b67:	85 c0                	test   %eax,%eax
401b69:	78 6c                	js     0x401bd7
401b6b:	56                   	push   %esi
401b6c:	8b 75 f4             	mov    -0xc(%ebp),%esi
401b6f:	eb 28                	jmp    0x401b99
401b71:	68 60 ea 00 00       	push   $0xea60
401b76:	ff 75 fc             	push   -0x4(%ebp)
401b79:	ff 15 90 40 40 00    	call   *0x404090
401b7f:	85 c0                	test   %eax,%eax
401b81:	75 23                	jne    0x401ba6
401b83:	e8 46 ff ff ff       	call   0x401ace
401b88:	85 c0                	test   %eax,%eax
401b8a:	78 21                	js     0x401bad
401b8c:	ff 75 f8             	push   -0x8(%ebp)
401b8f:	ff 15 9c 40 40 00    	call   *0x40409c
401b95:	85 c0                	test   %eax,%eax
401b97:	74 14                	je     0x401bad
401b99:	56                   	push   %esi
401b9a:	ff 15 9c 40 40 00    	call   *0x40409c
401ba0:	85 c0                	test   %eax,%eax
401ba2:	75 cd                	jne    0x401b71
401ba4:	eb 30                	jmp    0x401bd6
401ba6:	56                   	push   %esi
401ba7:	ff 15 24 40 40 00    	call   *0x404024
401bad:	85 f6                	test   %esi,%esi
401baf:	74 07                	je     0x401bb8
401bb1:	56                   	push   %esi
401bb2:	ff 15 28 40 40 00    	call   *0x404028
401bb8:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
401bbc:	74 09                	je     0x401bc7
401bbe:	ff 75 fc             	push   -0x4(%ebp)
401bc1:	ff 15 28 40 40 00    	call   *0x404028
401bc7:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
401bcb:	74 09                	je     0x401bd6
401bcd:	ff 75 f8             	push   -0x8(%ebp)
401bd0:	ff 15 28 40 40 00    	call   *0x404028
401bd6:	5e                   	pop    %esi
401bd7:	c9                   	leave
401bd8:	c3                   	ret
401bd9:	cc                   	int3
401bda:	cc                   	int3
401bdb:	cc                   	int3
401bdc:	cc                   	int3
401bdd:	cc                   	int3
401bde:	cc                   	int3
401bdf:	cc                   	int3
401be0:	8b ff                	mov    %edi,%edi
401be2:	55                   	push   %ebp
401be3:	8b ec                	mov    %esp,%ebp
401be5:	8b 45 08             	mov    0x8(%ebp),%eax
401be8:	56                   	push   %esi
401be9:	50                   	push   %eax
401bea:	8b 30                	mov    (%eax),%esi
401bec:	e8 9f fa ff ff       	call   0x401690
401bf1:	59                   	pop    %ecx
401bf2:	56                   	push   %esi
401bf3:	ff 35 78 33 40 00    	push   0x403378
401bf9:	ff 15 90 40 40 00    	call   *0x404090
401bff:	e8 20 fc ff ff       	call   0x401824
401c04:	33 c0                	xor    %eax,%eax
401c06:	5e                   	pop    %esi