402e1f:	ff 15 18 34 43 00    	call   *0x433418
402e25:	ff d6                	call   *%esi
402e27:	8b 4d f8             	mov    -0x8(%ebp),%ecx
402e2a:	85 c9                	test   %ecx,%ecx
402e2c:	74 10                	je     0x402e3e
402e2e:	8b 01                	mov    (%ecx),%eax
402e30:	51                   	push   %ecx
402e31:	8b 70 08             	mov    0x8(%eax),%esi
402e34:	8b ce                	mov    %esi,%ecx
402e36:	ff 15 18 34 43 00    	call   *0x433418
402e3c:	ff d6                	call   *%esi
402e3e:	47                   	inc    %edi
402e3f:	0f b7 c7             	movzwl %di,%eax
402e42:	3b 43 0c             	cmp    0xc(%ebx),%eax
402e45:	72 ae                	jb     0x402df5
402e47:	83 7b 10 00          	cmpl   $0x0,0x10(%ebx)
402e4b:	74 16                	je     0x402e63
402e4d:	8b 45 fc             	mov    -0x4(%ebp),%eax
402e50:	ff 73 10             	push   0x10(%ebx)
402e53:	50                   	push   %eax
402e54:	8b 08                	mov    (%eax),%ecx
402e56:	8b 71 14             	mov    0x14(%ecx),%esi
402e59:	8b ce                	mov    %esi,%ecx
402e5b:	ff 15 18 34 43 00    	call   *0x433418
402e61:	ff d6                	call   *%esi
402e63:	8b 45 fc             	mov    -0x4(%ebp),%eax
402e66:	53                   	push   %ebx
402e67:	50                   	push   %eax
402e68:	8b 08                	mov    (%eax),%ecx
402e6a:	8b 71 14             	mov    0x14(%ecx),%esi
402e6d:	8b ce                	mov    %esi,%ecx
402e6f:	ff 15 18 34 43 00    	call   *0x433418
402e75:	ff d6                	call   *%esi
402e77:	8b 45 fc             	mov    -0x4(%ebp),%eax
402e7a:	50                   	push   %eax
402e7b:	8b 08                	mov    (%eax),%ecx
402e7d:	8b 71 08             	mov    0x8(%ecx),%esi
402e80:	8b ce                	mov    %esi,%ecx
402e82:	ff 15 18 34 43 00    	call   *0x433418
402e88:	ff d6                	call   *%esi
402e8a:	5e                   	pop    %esi
402e8b:	5f                   	pop    %edi
402e8c:	5b                   	pop    %ebx
402e8d:	c9                   	leave
402e8e:	c3                   	ret
402e8f:	cc                   	int3
402e90:	8b ff                	mov    %edi,%edi
402e92:	55                   	push   %ebp
402e93:	8b ec                	mov    %esp,%ebp
402e95:	53                   	push   %ebx
402e96:	56                   	push   %esi
402e97:	8b 75 10             	mov    0x10(%ebp),%esi
402e9a:	33 c9                	xor    %ecx,%ecx
402e9c:	57                   	push   %edi
402e9d:	8b 7d 0c             	mov    0xc(%ebp),%edi
402ea0:	bb 40 12 40 00       	mov    $0x401240,%ebx
402ea5:	8b d1                	mov    %ecx,%edx
402ea7:	89 0e                	mov    %ecx,(%esi)
402ea9:	8b 04 97             	mov    (%edi,%edx,4),%eax
402eac:	3b 04 93             	cmp    (%ebx,%edx,4),%eax
402eaf:	75 08                	jne    0x402eb9
402eb1:	42                   	inc    %edx
402eb2:	83 fa 04             	cmp    $0x4,%edx
402eb5:	75 f2                	jne    0x402ea9
402eb7:	eb 13                	jmp    0x402ecc
402eb9:	ba 50 12 40 00       	mov    $0x401250,%edx
402ebe:	8b 04 8f             	mov    (%edi,%ecx,4),%eax
402ec1:	3b 04 8a             	cmp    (%edx,%ecx,4),%eax
402ec4:	75 16                	jne    0x402edc
402ec6:	41                   	inc    %ecx
402ec7:	83 f9 04             	cmp    $0x4,%ecx
402eca:	75 f2                	jne    0x402ebe
402ecc:	8b 45 08             	mov    0x8(%ebp),%eax
402ecf:	89 06                	mov    %eax,(%esi)
402ed1:	85 c0                	test   %eax,%eax
402ed3:	74 07                	je     0x402edc
402ed5:	ff 40 04             	incl   0x4(%eax)
402ed8:	33 c0                	xor    %eax,%eax
402eda:	eb 05                	jmp    0x402ee1
402edc:	b8 02 40 00 80       	mov    $0x80004002,%eax
402ee1:	5f                   	pop    %edi
402ee2:	5e                   	pop    %esi
402ee3:	5b                   	pop    %ebx
402ee4:	5d                   	pop    %ebp
402ee5:	c2 0c 00             	ret    $0xc
402ee8:	cc                   	int3
402ee9:	cc                   	int3
402eea:	cc                   	int3
402eeb:	cc                   	int3
402eec:	cc                   	int3
402eed:	cc                   	int3
402eee:	cc                   	int3
402eef:	cc                   	int3
402ef0:	8b ff                	mov    %edi,%edi
402ef2:	55                   	push   %ebp
402ef3:	8b ec                	mov    %esp,%ebp
402ef5:	8b 55 08             	mov    0x8(%ebp),%edx
402ef8:	8b 42 04             	mov    0x4(%edx),%eax
402efb:	8d 48 01             	lea    0x1(%eax),%ecx
402efe:	89 4a 04             	mov    %ecx,0x4(%edx)
402f01:	5d                   	pop    %ebp
402f02:	c2 04 00             	ret    $0x4
402f05:	cc                   	int3
402f06:	cc                   	int3
402f07:	cc                   	int3
402f08:	cc                   	int3
402f09:	cc                   	int3
402f0a:	cc                   	int3
402f0b:	cc                   	int3
402f0c:	cc                   	int3
402f0d:	cc                   	int3
402f0e:	cc                   	int3
402f0f:	cc                   	int3
402f10:	8b ff                	mov    %edi,%edi
402f12:	55                   	push   %ebp
402f13:	8b ec                	mov    %esp,%ebp
402f15:	8b 4d 08             	mov    0x8(%ebp),%ecx
402f18:	56                   	push   %esi
402f19:	83 69 04 01          	subl   $0x1,0x4(%ecx)
402f1d:	8b 71 04             	mov    0x4(%ecx),%esi
402f20:	75 05                	jne    0x402f27
402f22:	e8 9a fe ff ff       	call   0x402dc1
402f27:	8b c6                	mov    %esi,%eax
402f29:	5e                   	pop    %esi
402f2a:	5d                   	pop    %ebp
402f2b:	c2 04 00             	ret    $0x4
402f2e:	cc                   	int3
402f2f:	cc                   	int3
402f30:	8b ff                	mov    %edi,%edi
402f32:	55                   	push   %ebp
402f33:	8b ec                	mov    %esp,%ebp
402f35:	53                   	push   %ebx
402f36:	8b 5d 10             	mov    0x10(%ebp),%ebx
402f39:	56                   	push   %esi
402f3a:	33 f6                	xor    %esi,%esi
402f3c:	85 db                	test   %ebx,%ebx
402f3e:	75 07                	jne    0x402f47
402f40:	b8 57 00 07 80       	mov    $0x80070057,%eax
402f45:	eb 41                	jmp    0x402f88
402f47:	57                   	push   %edi
402f48:	8b 7d 08             	mov    0x8(%ebp),%edi
402f4b:	39 75 0c             	cmp    %esi,0xc(%ebp)
402f4e:	76 20                	jbe    0x402f70
402f50:	8b 47 08             	mov    0x8(%edi),%eax
402f53:	03 c6                	add    %esi,%eax
402f55:	3b 47 0c             	cmp    0xc(%edi),%eax
402f58:	73 16                	jae    0x402f70
402f5a:	6b d0 14             	imul   $0x14,%eax,%edx
402f5d:	8b cb                	mov    %ebx,%ecx
402f5f:	03 57 10             	add    0x10(%edi),%edx
402f62:	e8 c7 00 00 00       	call   0x40302e
402f67:	46                   	inc    %esi
402f68:	83 c3 14             	add    $0x14,%ebx
402f6b:	3b 75 0c             	cmp    0xc(%ebp),%esi
402f6e:	72 e0                	jb     0x402f50
402f70:	0f b7 c6             	movzwl %si,%eax
402f73:	01 47 08             	add    %eax,0x8(%edi)
402f76:	8b 45 14             	mov    0x14(%ebp),%eax
402f79:	5f                   	pop    %edi
402f7a:	85 c0                	test   %eax,%eax
402f7c:	74 02                	je     0x402f80
402f7e:	89 30                	mov    %esi,(%eax)
402f80:	33 c0                	xor    %eax,%eax
402f82:	3b 75 0c             	cmp    0xc(%ebp),%esi
402f85:	0f 95 c0             	setne  %al
402f88:	5e                   	pop    %esi
402f89:	5b                   	pop    %ebx
402f8a:	5d                   	pop    %ebp
402f8b:	c2 10 00             	ret    $0x10
402f8e:	cc                   	int3
402f8f:	cc                   	int3
402f90:	8b ff                	mov    %edi,%edi
402f92:	55                   	push   %ebp
402f93:	8b ec                	mov    %esp,%ebp
402f95:	8b 55 08             	mov    0x8(%ebp),%edx
402f98:	33 c9                	xor    %ecx,%ecx
402f9a:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
402f9d:	76 13                	jbe    0x402fb2
402f9f:	57                   	push   %edi
402fa0:	8b 7a 08             	mov    0x8(%edx),%edi
402fa3:	8d 04 0f             	lea    (%edi,%ecx,1),%eax
402fa6:	3b 42 0c             	cmp    0xc(%edx),%eax
402fa9:	73 06                	jae    0x402fb1
402fab:	41                   	inc    %ecx
402fac:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
402faf:	72 f2                	jb     0x402fa3
402fb1:	5f                   	pop    %edi
402fb2:	0f b7 c1             	movzwl %cx,%eax
402fb5:	01 42 08             	add    %eax,0x8(%edx)
402fb8:	33 c0                	xor    %eax,%eax
402fba:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
402fbd:	0f 95 c0             	setne  %al
402fc0:	5d                   	pop    %ebp
402fc1:	c2 08 00             	ret    $0x8
402fc4:	cc                   	int3
402fc5:	cc                   	int3
402fc6:	cc                   	int3
402fc7:	cc                   	int3
402fc8:	cc                   	int3
402fc9:	cc                   	int3
402fca:	cc                   	int3
402fcb:	cc                   	int3
402fcc:	cc                   	int3
402fcd:	cc                   	int3
402fce:	cc                   	int3
402fcf:	cc                   	int3
402fd0:	8b ff                	mov    %edi,%edi
402fd2:	55                   	push   %ebp
402fd3:	8b ec                	mov    %esp,%ebp
402fd5:	8b 45 08             	mov    0x8(%ebp),%eax
402fd8:	83 60 08 00          	andl   $0x0,0x8(%eax)
402fdc:	33 c0                	xor    %eax,%eax
402fde:	5d                   	pop    %ebp
402fdf:	c2 04 00             	ret    $0x4
402fe2:	cc                   	int3
402fe3:	cc                   	int3
402fe4:	cc                   	int3
402fe5:	cc                   	int3
402fe6:	cc                   	int3
402fe7:	cc                   	int3
402fe8:	cc                   	int3
402fe9:	cc                   	int3
402fea:	cc                   	int3
402feb:	cc                   	int3
402fec:	cc                   	int3
402fed:	cc                   	int3
402fee:	cc                   	int3
402fef:	cc                   	int3
402ff0:	8b ff                	mov    %edi,%edi
402ff2:	55                   	push   %ebp
402ff3:	8b ec                	mov    %esp,%ebp
402ff5:	56                   	push   %esi
402ff6:	8b 75 0c             	mov    0xc(%ebp),%esi
402ff9:	85 f6                	test   %esi,%esi
402ffb:	75 07                	jne    0x403004
402ffd:	b8 57 00 07 80       	mov    $0x80070057,%eax
403002:	eb 25                	jmp    0x403029
403004:	57                   	push   %edi
403005:	8b 7d 08             	mov    0x8(%ebp),%edi
403008:	8b 57 10             	mov    0x10(%edi),%edx
40300b:	8b 4f 0c             	mov    0xc(%edi),%ecx
40300e:	e8 cd fc ff ff       	call   0x402ce0
403013:	89 06                	mov    %eax,(%esi)
403015:	85 c0                	test   %eax,%eax
403017:	74 0a                	je     0x403023
403019:	8b 4f 08             	mov    0x8(%edi),%ecx
40301c:	89 48 08             	mov    %ecx,0x8(%eax)
40301f:	33 c0                	xor    %eax,%eax
403021:	eb 05                	jmp    0x403028
403023:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
403028:	5f                   	pop    %edi
403029:	5e                   	pop    %esi
40302a:	5d                   	pop    %ebp
40302b:	c2 08 00             	ret    $0x8
40302e:	8b ff                	mov    %edi,%edi
403030:	55                   	push   %ebp
403031:	8b ec                	mov    %esp,%ebp
403033:	51                   	push   %ecx
403034:	56                   	push   %esi
403035:	57                   	push   %edi
403036:	8b f9                	mov    %ecx,%edi
403038:	8b f2                	mov    %edx,%esi
40303a:	85 ff                	test   %edi,%edi
40303c:	74 4e                	je     0x40308c
40303e:	85 f6                	test   %esi,%esi
403040:	74 4a                	je     0x40308c
403042:	66 8b 06             	mov    (%esi),%ax
403045:	53                   	push   %ebx
403046:	66 89 07             	mov    %ax,(%edi)
403049:	8b 5e 04             	mov    0x4(%esi),%ebx
40304c:	85 db                	test   %ebx,%ebx
40304e:	75 04                	jne    0x403054
403050:	33 c0                	xor    %eax,%eax
403052:	eb 1d                	jmp    0x403071
403054:	8b 0b                	mov    (%ebx),%ecx
403056:	e8 37 00 00 00       	call   0x403092
40305b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40305e:	85 c0                	test   %eax,%eax
403060:	74 0f                	je     0x403071
403062:	ff 33                	push   (%ebx)
403064:	53                   	push   %ebx
403065:	50                   	push   %eax
403066:	e8 96 da 00 00       	call   0x410b01
40306b:	8b 45 fc             	mov    -0x4(%ebp),%eax
40306e:	83 c4 0c             	add    $0xc,%esp
403071:	89 47 04             	mov    %eax,0x4(%edi)
403074:	8b 46 08             	mov    0x8(%esi),%eax
403077:	89 47 08             	mov    %eax,0x8(%edi)
40307a:	8b 46 0c             	mov    0xc(%esi),%eax
40307d:	89 47 0c             	mov    %eax,0xc(%edi)
403080:	8b 46 10             	mov    0x10(%esi),%eax
403083:	89 47 10             	mov    %eax,0x10(%edi)
403086:	33 c0                	xor    %eax,%eax
403088:	40                   	inc    %eax
403089:	5b                   	pop    %ebx
40308a:	eb 02                	jmp    0x40308e
40308c:	33 c0                	xor    %eax,%eax
40308e:	5f                   	pop    %edi
40308f:	5e                   	pop    %esi
403090:	c9                   	leave
403091:	c3                   	ret
403092:	8b ff                	mov    %edi,%edi
403094:	55                   	push   %ebp
403095:	8b ec                	mov    %esp,%ebp
403097:	51                   	push   %ecx
403098:	56                   	push   %esi
403099:	8d 45 fc             	lea    -0x4(%ebp),%eax
40309c:	8b f1                	mov    %ecx,%esi
40309e:	50                   	push   %eax
40309f:	6a 01                	push   $0x1
4030a1:	ff 15 34 33 43 00    	call   *0x433334
4030a7:	85 c0                	test   %eax,%eax
4030a9:	74 04                	je     0x4030af
4030ab:	33 c0                	xor    %eax,%eax
4030ad:	eb 31                	jmp    0x4030e0
4030af:	8b 45 fc             	mov    -0x4(%ebp),%eax
4030b2:	57                   	push   %edi
4030b3:	56                   	push   %esi
4030b4:	50                   	push   %eax
4030b5:	8b 08                	mov    (%eax),%ecx
4030b7:	8b 71 0c             	mov    0xc(%ecx),%esi
4030ba:	8b ce                	mov    %esi,%ecx
4030bc:	ff 15 18 34 43 00    	call   *0x433418
4030c2:	ff d6                	call   *%esi
4030c4:	8b 55 fc             	mov    -0x4(%ebp),%edx
4030c7:	8b f8                	mov    %eax,%edi
4030c9:	85 d2                	test   %edx,%edx
4030cb:	74 10                	je     0x4030dd
4030cd:	8b 0a                	mov    (%edx),%ecx
4030cf:	52                   	push   %edx
4030d0:	8b 71 08             	mov    0x8(%ecx),%esi
4030d3:	8b ce                	mov    %esi,%ecx
4030d5:	ff 15 18 34 43 00    	call   *0x433418
4030db:	ff d6                	call   *%esi
4030dd:	8b c7                	mov    %edi,%eax
4030df:	5f                   	pop    %edi
4030e0:	5e                   	pop    %esi
4030e1:	c9                   	leave
4030e2:	c3                   	ret
4030e3:	8b ff                	mov    %edi,%edi
4030e5:	55                   	push   %ebp
4030e6:	8b ec                	mov    %esp,%ebp
4030e8:	81 ec a4 00 00 00    	sub    $0xa4,%esp
4030ee:	a1 64 10 41 00       	mov    0x411064,%eax
4030f3:	33 c5                	xor    %ebp,%eax
4030f5:	89 45 fc             	mov    %eax,-0x4(%ebp)
4030f8:	8b 45 08             	mov    0x8(%ebp),%eax
4030fb:	56                   	push   %esi
4030fc:	8b f1                	mov    %ecx,%esi
4030fe:	89 46 08             	mov    %eax,0x8(%esi)