40999d:	85 c0                	test   %eax,%eax
40999f:	74 45                	je     0x4099e6
4099a1:	83 f8 01             	cmp    $0x1,%eax
4099a4:	74 0a                	je     0x4099b0
4099a6:	68 2c 2a 40 00       	push   $0x402a2c
4099ab:	e9 48 fa ff ff       	jmp    0x4093f8
4099b0:	85 c0                	test   %eax,%eax
4099b2:	74 32                	je     0x4099e6
4099b4:	8b 4e 10             	mov    0x10(%esi),%ecx
4099b7:	ba 7c 35 40 00       	mov    $0x40357c,%edx
4099bc:	e8 53 d9 ff ff       	call   0x407314
4099c1:	33 c0                	xor    %eax,%eax
4099c3:	ba 80 24 40 00       	mov    $0x402480,%edx
4099c8:	39 07                	cmp    %eax,(%edi)
4099ca:	75 05                	jne    0x4099d1
4099cc:	ba 8c 24 40 00       	mov    $0x40248c,%edx
4099d1:	8b 4e 10             	mov    0x10(%esi),%ecx
4099d4:	e8 3b d9 ff ff       	call   0x407314
4099d9:	8b 4e 10             	mov    0x10(%esi),%ecx
4099dc:	ba a8 35 40 00       	mov    $0x4035a8,%edx
4099e1:	e8 2e d9 ff ff       	call   0x407314
4099e6:	8d 45 d0             	lea    -0x30(%ebp),%eax
4099e9:	50                   	push   %eax
4099ea:	8d 45 bc             	lea    -0x44(%ebp),%eax
4099ed:	50                   	push   %eax
4099ee:	51                   	push   %ecx
4099ef:	6a 0b                	push   $0xb
4099f1:	5a                   	pop    %edx
4099f2:	8b cb                	mov    %ebx,%ecx
4099f4:	e8 6c e6 ff ff       	call   0x408065
4099f9:	85 c0                	test   %eax,%eax
4099fb:	74 0a                	je     0x409a07
4099fd:	68 88 2a 40 00       	push   $0x402a88
409a02:	e9 3b 08 00 00       	jmp    0x40a242
409a07:	8b 7d d0             	mov    -0x30(%ebp),%edi
409a0a:	8b 47 0c             	mov    0xc(%edi),%eax
409a0d:	85 c0                	test   %eax,%eax
409a0f:	0f 84 8a 00 00 00    	je     0x409a9f
409a15:	83 f8 04             	cmp    $0x4,%eax
409a18:	74 0a                	je     0x409a24
409a1a:	68 88 2a 40 00       	push   $0x402a88
409a1f:	e9 d4 f9 ff ff       	jmp    0x4093f8
409a24:	85 c0                	test   %eax,%eax
409a26:	74 77                	je     0x409a9f
409a28:	8b 4e 10             	mov    0x10(%esi),%ecx
409a2b:	ba d8 35 40 00       	mov    $0x4035d8,%edx
409a30:	e8 df d8 ff ff       	call   0x407314
409a35:	ff 37                	push   (%edi)
409a37:	8b ce                	mov    %esi,%ecx
409a39:	e8 55 ea ff ff       	call   0x408493
409a3e:	8b 4e 10             	mov    0x10(%esi),%ecx
409a41:	ba fc 35 40 00       	mov    $0x4035fc,%edx
409a46:	e8 c9 d8 ff ff       	call   0x407314
409a4b:	83 7d c8 01          	cmpl   $0x1,-0x38(%ebp)
409a4f:	75 4e                	jne    0x409a9f
409a51:	8d 45 d0             	lea    -0x30(%ebp),%eax
409a54:	50                   	push   %eax
409a55:	8d 45 bc             	lea    -0x44(%ebp),%eax
409a58:	50                   	push   %eax
409a59:	51                   	push   %ecx
409a5a:	6a 0c                	push   $0xc
409a5c:	5a                   	pop    %edx
409a5d:	8b cb                	mov    %ebx,%ecx
409a5f:	e8 01 e6 ff ff       	call   0x408065
409a64:	85 c0                	test   %eax,%eax
409a66:	74 0a                	je     0x409a72
409a68:	68 cc 2a 40 00       	push   $0x402acc
409a6d:	e9 d0 07 00 00       	jmp    0x40a242
409a72:	8b 4d d0             	mov    -0x30(%ebp),%ecx
409a75:	8b 41 0c             	mov    0xc(%ecx),%eax
409a78:	85 c0                	test   %eax,%eax
409a7a:	74 23                	je     0x409a9f
409a7c:	83 f8 02             	cmp    $0x2,%eax
409a7f:	74 0a                	je     0x409a8b
409a81:	68 cc 2a 40 00       	push   $0x402acc
409a86:	e9 6d f9 ff ff       	jmp    0x4093f8
409a8b:	85 c0                	test   %eax,%eax
409a8d:	74 10                	je     0x409a9f
409a8f:	ff 31                	push   (%ecx)
409a91:	68 28 36 40 00       	push   $0x403628
409a96:	56                   	push   %esi
409a97:	e8 ac e8 ff ff       	call   0x408348
409a9c:	83 c4 0c             	add    $0xc,%esp
409a9f:	8d 45 d0             	lea    -0x30(%ebp),%eax
409aa2:	50                   	push   %eax
409aa3:	8d 45 bc             	lea    -0x44(%ebp),%eax
409aa6:	50                   	push   %eax
409aa7:	51                   	push   %ecx
409aa8:	6a 12                	push   $0x12
409aaa:	5a                   	pop    %edx
409aab:	8b cb                	mov    %ebx,%ecx
409aad:	e8 b3 e5 ff ff       	call   0x408065
409ab2:	85 c0                	test   %eax,%eax
409ab4:	74 0a                	je     0x409ac0
409ab6:	68 10 2b 40 00       	push   $0x402b10
409abb:	e9 82 07 00 00       	jmp    0x40a242
409ac0:	8b 7d d0             	mov    -0x30(%ebp),%edi
409ac3:	8b 47 0c             	mov    0xc(%edi),%eax
409ac6:	85 c0                	test   %eax,%eax
409ac8:	74 52                	je     0x409b1c
409aca:	83 f8 02             	cmp    $0x2,%eax
409acd:	74 0a                	je     0x409ad9
409acf:	68 10 2b 40 00       	push   $0x402b10
409ad4:	e9 1f f9 ff ff       	jmp    0x4093f8
409ad9:	85 c0                	test   %eax,%eax
409adb:	74 3f                	je     0x409b1c
409add:	8b 17                	mov    (%edi),%edx
409adf:	b9 a0 11 41 00       	mov    $0x4111a0,%ecx
409ae4:	e8 76 40 00 00       	call   0x40db5f
409ae9:	89 45 c8             	mov    %eax,-0x38(%ebp)
409aec:	85 c0                	test   %eax,%eax
409aee:	75 08                	jne    0x409af8
409af0:	52                   	push   %edx
409af1:	6a 14                	push   $0x14
409af3:	e9 02 f9 ff ff       	jmp    0x4093fa
409af8:	8b 4e 10             	mov    0x10(%esi),%ecx
409afb:	ba 74 36 40 00       	mov    $0x403674,%edx
409b00:	e8 0f d8 ff ff       	call   0x407314
409b05:	ff 75 c8             	push   -0x38(%ebp)
409b08:	8b ce                	mov    %esi,%ecx
409b0a:	e8 84 e9 ff ff       	call   0x408493
409b0f:	8b 4e 10             	mov    0x10(%esi),%ecx
409b12:	ba 98 36 40 00       	mov    $0x403698,%edx
409b17:	e8 f8 d7 ff ff       	call   0x407314
409b1c:	8d 45 d0             	lea    -0x30(%ebp),%eax
409b1f:	50                   	push   %eax
409b20:	8d 45 bc             	lea    -0x44(%ebp),%eax
409b23:	50                   	push   %eax
409b24:	51                   	push   %ecx
409b25:	6a 11                	push   $0x11
409b27:	5a                   	pop    %edx
409b28:	8b cb                	mov    %ebx,%ecx
409b2a:	e8 36 e5 ff ff       	call   0x408065
409b2f:	85 c0                	test   %eax,%eax
409b31:	74 0a                	je     0x409b3d
409b33:	68 54 2b 40 00       	push   $0x402b54
409b38:	e9 05 07 00 00       	jmp    0x40a242
409b3d:	8b 7d d0             	mov    -0x30(%ebp),%edi
409b40:	8b 47 0c             	mov    0xc(%edi),%eax
409b43:	85 c0                	test   %eax,%eax
409b45:	74 36                	je     0x409b7d
409b47:	83 f8 04             	cmp    $0x4,%eax
409b4a:	74 0a                	je     0x409b56
409b4c:	68 54 2b 40 00       	push   $0x402b54
409b51:	e9 a2 f8 ff ff       	jmp    0x4093f8
409b56:	85 c0                	test   %eax,%eax
409b58:	74 23                	je     0x409b7d
409b5a:	8b 4e 10             	mov    0x10(%esi),%ecx
409b5d:	ba c0 36 40 00       	mov    $0x4036c0,%edx
409b62:	e8 ad d7 ff ff       	call   0x407314
409b67:	ff 37                	push   (%edi)
409b69:	8b ce                	mov    %esi,%ecx
409b6b:	e8 23 e9 ff ff       	call   0x408493
409b70:	8b 4e 10             	mov    0x10(%esi),%ecx
409b73:	ba e8 36 40 00       	mov    $0x4036e8,%edx
409b78:	e8 97 d7 ff ff       	call   0x407314
409b7d:	8d 45 d0             	lea    -0x30(%ebp),%eax
409b80:	50                   	push   %eax
409b81:	8d 45 bc             	lea    -0x44(%ebp),%eax
409b84:	50                   	push   %eax
409b85:	51                   	push   %ecx
409b86:	6a 13                	push   $0x13
409b88:	5a                   	pop    %edx
409b89:	8b cb                	mov    %ebx,%ecx
409b8b:	e8 d5 e4 ff ff       	call   0x408065
409b90:	85 c0                	test   %eax,%eax
409b92:	74 0a                	je     0x409b9e
409b94:	68 80 2b 40 00       	push   $0x402b80
409b99:	e9 a4 06 00 00       	jmp    0x40a242
409b9e:	8b 7d d0             	mov    -0x30(%ebp),%edi
409ba1:	8b 47 0c             	mov    0xc(%edi),%eax
409ba4:	85 c0                	test   %eax,%eax
409ba6:	74 36                	je     0x409bde
409ba8:	83 f8 04             	cmp    $0x4,%eax
409bab:	74 0a                	je     0x409bb7
409bad:	68 80 2b 40 00       	push   $0x402b80
409bb2:	e9 41 f8 ff ff       	jmp    0x4093f8
409bb7:	85 c0                	test   %eax,%eax
409bb9:	74 23                	je     0x409bde
409bbb:	8b 4e 10             	mov    0x10(%esi),%ecx
409bbe:	ba f4 36 40 00       	mov    $0x4036f4,%edx
409bc3:	e8 4c d7 ff ff       	call   0x407314
409bc8:	ff 37                	push   (%edi)
409bca:	8b ce                	mov    %esi,%ecx
409bcc:	e8 c2 e8 ff ff       	call   0x408493
409bd1:	8b 4e 10             	mov    0x10(%esi),%ecx
409bd4:	ba 0c 37 40 00       	mov    $0x40370c,%edx
409bd9:	e8 36 d7 ff ff       	call   0x407314
409bde:	8d 45 d0             	lea    -0x30(%ebp),%eax
409be1:	50                   	push   %eax
409be2:	8d 45 bc             	lea    -0x44(%ebp),%eax
409be5:	50                   	push   %eax
409be6:	51                   	push   %ecx
409be7:	6a 14                	push   $0x14
409be9:	5a                   	pop    %edx
409bea:	8b cb                	mov    %ebx,%ecx
409bec:	e8 74 e4 ff ff       	call   0x408065
409bf1:	85 c0                	test   %eax,%eax
409bf3:	74 0a                	je     0x409bff
409bf5:	68 ac 2b 40 00       	push   $0x402bac
409bfa:	e9 43 06 00 00       	jmp    0x40a242
409bff:	8b 7d d0             	mov    -0x30(%ebp),%edi
409c02:	8b 47 0c             	mov    0xc(%edi),%eax
409c05:	85 c0                	test   %eax,%eax
409c07:	74 36                	je     0x409c3f
409c09:	83 f8 04             	cmp    $0x4,%eax
409c0c:	74 0a                	je     0x409c18
409c0e:	68 ac 2b 40 00       	push   $0x402bac
409c13:	e9 e0 f7 ff ff       	jmp    0x4093f8
409c18:	85 c0                	test   %eax,%eax
409c1a:	74 23                	je     0x409c3f
409c1c:	8b 4e 10             	mov    0x10(%esi),%ecx
409c1f:	ba 28 37 40 00       	mov    $0x403728,%edx
409c24:	e8 eb d6 ff ff       	call   0x407314
409c29:	ff 37                	push   (%edi)
409c2b:	8b ce                	mov    %esi,%ecx
409c2d:	e8 61 e8 ff ff       	call   0x408493
409c32:	8b 4e 10             	mov    0x10(%esi),%ecx
409c35:	ba 4c 37 40 00       	mov    $0x40374c,%edx
409c3a:	e8 d5 d6 ff ff       	call   0x407314
409c3f:	8b 45 b4             	mov    -0x4c(%ebp),%eax
409c42:	83 f8 01             	cmp    $0x1,%eax
409c45:	0f 85 fd 00 00 00    	jne    0x409d48
409c4b:	8d 45 d0             	lea    -0x30(%ebp),%eax
409c4e:	50                   	push   %eax
409c4f:	8d 45 bc             	lea    -0x44(%ebp),%eax
409c52:	50                   	push   %eax
409c53:	51                   	push   %ecx
409c54:	6a 15                	push   $0x15
409c56:	5a                   	pop    %edx
409c57:	8b cb                	mov    %ebx,%ecx
409c59:	e8 07 e4 ff ff       	call   0x408065
409c5e:	85 c0                	test   %eax,%eax
409c60:	74 0a                	je     0x409c6c
409c62:	68 f0 2b 40 00       	push   $0x402bf0
409c67:	e9 d6 05 00 00       	jmp    0x40a242
409c6c:	8b 55 d0             	mov    -0x30(%ebp),%edx
409c6f:	8b 42 0c             	mov    0xc(%edx),%eax
409c72:	85 c0                	test   %eax,%eax
409c74:	74 47                	je     0x409cbd
409c76:	83 f8 02             	cmp    $0x2,%eax
409c79:	75 16                	jne    0x409c91
409c7b:	85 c0                	test   %eax,%eax
409c7d:	74 3e                	je     0x409cbd
409c7f:	8b 12                	mov    (%edx),%edx
409c81:	b9 60 11 41 00       	mov    $0x411160,%ecx
409c86:	e8 d4 3e 00 00       	call   0x40db5f
409c8b:	8b f8                	mov    %eax,%edi
409c8d:	85 ff                	test   %edi,%edi
409c8f:	75 0a                	jne    0x409c9b
409c91:	68 f0 2b 40 00       	push   $0x402bf0
409c96:	e9 5d f7 ff ff       	jmp    0x4093f8
409c9b:	8b 4e 10             	mov    0x10(%esi),%ecx
409c9e:	ba 74 37 40 00       	mov    $0x403774,%edx
409ca3:	e8 6c d6 ff ff       	call   0x407314
409ca8:	57                   	push   %edi
409ca9:	8b ce                	mov    %esi,%ecx
409cab:	e8 e3 e7 ff ff       	call   0x408493
409cb0:	8b 4e 10             	mov    0x10(%esi),%ecx
409cb3:	ba 9c 37 40 00       	mov    $0x40379c,%edx
409cb8:	e8 57 d6 ff ff       	call   0x407314
409cbd:	8d 45 d0             	lea    -0x30(%ebp),%eax
409cc0:	50                   	push   %eax
409cc1:	8d 45 bc             	lea    -0x44(%ebp),%eax
409cc4:	50                   	push   %eax
409cc5:	51                   	push   %ecx
409cc6:	6a 16                	push   $0x16
409cc8:	5a                   	pop    %edx
409cc9:	8b cb                	mov    %ebx,%ecx
409ccb:	e8 95 e3 ff ff       	call   0x408065
409cd0:	85 c0                	test   %eax,%eax
409cd2:	74 0a                	je     0x409cde
409cd4:	68 3c 2c 40 00       	push   $0x402c3c
409cd9:	e9 64 05 00 00       	jmp    0x40a242
409cde:	8b 7d d0             	mov    -0x30(%ebp),%edi
409ce1:	8b 47 0c             	mov    0xc(%edi),%eax
409ce4:	85 c0                	test   %eax,%eax
409ce6:	74 0f                	je     0x409cf7
409ce8:	83 f8 04             	cmp    $0x4,%eax
409ceb:	74 13                	je     0x409d00
409ced:	68 3c 2c 40 00       	push   $0x402c3c
409cf2:	e9 01 f7 ff ff       	jmp    0x4093f8
409cf7:	83 f8 04             	cmp    $0x4,%eax
409cfa:	0f 85 1f 03 00 00    	jne    0x40a01f
409d00:	8b 07                	mov    (%edi),%eax
409d02:	85 c0                	test   %eax,%eax
409d04:	0f 84 15 03 00 00    	je     0x40a01f
409d0a:	33 c9                	xor    %ecx,%ecx
409d0c:	66 39 08             	cmp    %cx,(%eax)
409d0f:	0f 84 0a 03 00 00    	je     0x40a01f
409d15:	8b 4e 10             	mov    0x10(%esi),%ecx
409d18:	ba c8 37 40 00       	mov    $0x4037c8,%edx
409d1d:	e8 f2 d5 ff ff       	call   0x407314
409d22:	ff 37                	push   (%edi)
409d24:	8b ce                	mov    %esi,%ecx
409d26:	e8 68 e7 ff ff       	call   0x408493
409d2b:	8b 4e 10             	mov    0x10(%esi),%ecx
409d2e:	ba ec 37 40 00       	mov    $0x4037ec,%edx
409d33:	e8 dc d5 ff ff       	call   0x407314
409d38:	8b 4e 10             	mov    0x10(%esi),%ecx
409d3b:	ba 18 38 40 00       	mov    $0x403818,%edx
409d40:	e8 cf d5 ff ff       	call   0x407314
409d45:	8b 45 b4             	mov    -0x4c(%ebp),%eax
409d48:	85 c0                	test   %eax,%eax
409d4a:	0f 85 c6 02 00 00    	jne    0x40a016
409d50:	8b 4e 10             	mov    0x10(%esi),%ecx
409d53:	ba 68 38 40 00       	mov    $0x403868,%edx
409d58:	e8 b7 d5 ff ff       	call   0x407314
409d5d:	33 c0                	xor    %eax,%eax
409d5f:	88 45 cf             	mov    %al,-0x31(%ebp)
409d62:	8d 45 d0             	lea    -0x30(%ebp),%eax
409d65:	50                   	push   %eax
409d66:	8d 45 bc             	lea    -0x44(%ebp),%eax
409d69:	50                   	push   %eax
409d6a:	51                   	push   %ecx
409d6b:	6a 1c                	push   $0x1c
409d6d:	5a                   	pop    %edx
409d6e:	8b cb                	mov    %ebx,%ecx
409d70:	e8 f0 e2 ff ff       	call   0x408065
409d75:	85 c0                	test   %eax,%eax
409d77:	74 0a                	je     0x409d83
409d79:	68 c0 2c 40 00       	push   $0x402cc0
409d7e:	e9 bf 04 00 00       	jmp    0x40a242
409d83:	8b 7d d0             	mov    -0x30(%ebp),%edi
409d86:	8b 47 0c             	mov    0xc(%edi),%eax
409d89:	85 c0                	test   %eax,%eax
409d8b:	0f 84 85 00 00 00    	je     0x409e16
409d91:	3d 84 00 00 00       	cmp    $0x84,%eax
409d96:	74 0a                	je     0x409da2
409d98:	68 c0 2c 40 00       	push   $0x402cc0
409d9d:	e9 56 f6 ff ff       	jmp    0x4093f8
409da2:	85 c0                	test   %eax,%eax
409da4:	74 70                	je     0x409e16
409da6:	8b 4e 10             	mov    0x10(%esi),%ecx
409da9:	ba 90 2e 40 00       	mov    $0x402e90,%edx
409dae:	e8 61 d5 ff ff       	call   0x407314
409db3:	8b 4e 10             	mov    0x10(%esi),%ecx
409db6:	ba b0 38 40 00       	mov    $0x4038b0,%edx
409dbb:	c6 45 cf 01          	movb   $0x1,-0x31(%ebp)
409dbf:	e8 50 d5 ff ff       	call   0x407314
409dc4:	8b 4e 10             	mov    0x10(%esi),%ecx
409dc7:	ba 90 2e 40 00       	mov    $0x402e90,%edx
409dcc:	e8 43 d5 ff ff       	call   0x407314
409dd1:	33 c0                	xor    %eax,%eax
409dd3:	39 47 08             	cmp    %eax,0x8(%edi)
409dd6:	76 31                	jbe    0x409e09
409dd8:	8b d8                	mov    %eax,%ebx
409dda:	8b 4e 10             	mov    0x10(%esi),%ecx
409ddd:	ba e0 38 40 00       	mov    $0x4038e0,%edx
409de2:	e8 2d d5 ff ff       	call   0x407314