4028f1:	8b 5c 24 08          	mov    0x8(%esp),%ebx
4028f5:	57                   	push   %edi
4028f6:	8b 7c 24 10          	mov    0x10(%esp),%edi
4028fa:	57                   	push   %edi
4028fb:	53                   	push   %ebx
4028fc:	ff 15 64 03 4b 00    	call   *0x4b0364
402902:	85 c0                	test   %eax,%eax
402904:	75 03                	jne    0x402909
402906:	5f                   	pop    %edi
402907:	5b                   	pop    %ebx
402908:	c3                   	ret
402909:	56                   	push   %esi
40290a:	50                   	push   %eax
40290b:	ff 15 68 03 4b 00    	call   *0x4b0368
402911:	8b f0                	mov    %eax,%esi
402913:	85 f6                	test   %esi,%esi
402915:	75 06                	jne    0x40291d
402917:	5e                   	pop    %esi
402918:	5f                   	pop    %edi
402919:	33 c0                	xor    %eax,%eax
40291b:	5b                   	pop    %ebx
40291c:	c3                   	ret
40291d:	57                   	push   %edi
40291e:	53                   	push   %ebx
40291f:	ff 15 6c 03 4b 00    	call   *0x4b036c
402925:	8b 4c 24 18          	mov    0x18(%esp),%ecx
402929:	03 c6                	add    %esi,%eax
40292b:	83 e1 0f             	and    $0xf,%ecx
40292e:	76 0e                	jbe    0x40293e
402930:	3b f0                	cmp    %eax,%esi
402932:	73 e3                	jae    0x402917
402934:	49                   	dec    %ecx
402935:	0f b7 16             	movzwl (%esi),%edx
402938:	8d 74 56 02          	lea    0x2(%esi,%edx,2),%esi
40293c:	75 f2                	jne    0x402930
40293e:	3b f0                	cmp    %eax,%esi
402940:	73 d5                	jae    0x402917
402942:	66 8b 06             	mov    (%esi),%ax
402945:	66 f7 d8             	neg    %ax
402948:	1b c0                	sbb    %eax,%eax
40294a:	23 c6                	and    %esi,%eax
40294c:	5e                   	pop    %esi
40294d:	5f                   	pop    %edi
40294e:	5b                   	pop    %ebx
40294f:	c3                   	ret
402950:	cc                   	int3
402951:	cc                   	int3
402952:	cc                   	int3
402953:	cc                   	int3
402954:	cc                   	int3
402955:	cc                   	int3
402956:	cc                   	int3
402957:	cc                   	int3
402958:	cc                   	int3
402959:	cc                   	int3
40295a:	cc                   	int3
40295b:	cc                   	int3
40295c:	cc                   	int3
40295d:	cc                   	int3
40295e:	cc                   	int3
40295f:	cc                   	int3
402960:	cc                   	int3
402961:	cc                   	int3
402962:	cc                   	int3
402963:	cc                   	int3
402964:	cc                   	int3
402965:	cc                   	int3
402966:	cc                   	int3
402967:	cc                   	int3
402968:	cc                   	int3
402969:	cc                   	int3
40296a:	cc                   	int3
40296b:	cc                   	int3
40296c:	cc                   	int3
40296d:	cc                   	int3
40296e:	cc                   	int3
40296f:	cc                   	int3
402970:	56                   	push   %esi
402971:	8b 74 24 0c          	mov    0xc(%esp),%esi
402975:	8b c6                	mov    %esi,%eax
402977:	c1 e8 04             	shr    $0x4,%eax
40297a:	57                   	push   %edi
40297b:	8b 7c 24 0c          	mov    0xc(%esp),%edi
40297f:	40                   	inc    %eax
402980:	0f b7 c8             	movzwl %ax,%ecx
402983:	6a 06                	push   $0x6
402985:	51                   	push   %ecx
402986:	57                   	push   %edi
402987:	ff 15 60 03 4b 00    	call   *0x4b0360
40298d:	85 c0                	test   %eax,%eax
40298f:	75 03                	jne    0x402994
402991:	5f                   	pop    %edi
402992:	5e                   	pop    %esi
402993:	c3                   	ret
402994:	56                   	push   %esi
402995:	50                   	push   %eax
402996:	57                   	push   %edi
402997:	e8 9f e7 ff ff       	call   0x40113b
40299c:	83 c4 0c             	add    $0xc,%esp
40299f:	5f                   	pop    %edi
4029a0:	5e                   	pop    %esi
4029a1:	c3                   	ret
4029a2:	cc                   	int3
4029a3:	cc                   	int3
4029a4:	cc                   	int3
4029a5:	cc                   	int3
4029a6:	cc                   	int3
4029a7:	cc                   	int3
4029a8:	cc                   	int3
4029a9:	cc                   	int3
4029aa:	cc                   	int3
4029ab:	cc                   	int3
4029ac:	cc                   	int3
4029ad:	cc                   	int3
4029ae:	cc                   	int3
4029af:	cc                   	int3
4029b0:	8d 41 10             	lea    0x10(%ecx),%eax
4029b3:	c3                   	ret
4029b4:	cc                   	int3
4029b5:	cc                   	int3
4029b6:	cc                   	int3
4029b7:	cc                   	int3
4029b8:	cc                   	int3
4029b9:	cc                   	int3
4029ba:	cc                   	int3
4029bb:	cc                   	int3
4029bc:	cc                   	int3
4029bd:	cc                   	int3
4029be:	cc                   	int3
4029bf:	cc                   	int3
4029c0:	83 c1 0c             	add    $0xc,%ecx
4029c3:	b8 01 00 00 00       	mov    $0x1,%eax
4029c8:	f0 0f c1 01          	lock xadd %eax,(%ecx)
4029cc:	c3                   	ret
4029cd:	cc                   	int3
4029ce:	cc                   	int3
4029cf:	cc                   	int3
4029d0:	8b 51 0c             	mov    0xc(%ecx),%edx
4029d3:	33 c0                	xor    %eax,%eax
4029d5:	85 d2                	test   %edx,%edx
4029d7:	0f 9c c0             	setl   %al
4029da:	c3                   	ret
4029db:	cc                   	int3
4029dc:	cc                   	int3
4029dd:	cc                   	int3
4029de:	cc                   	int3
4029df:	cc                   	int3
4029e0:	8b 51 0c             	mov    0xc(%ecx),%edx
4029e3:	33 c0                	xor    %eax,%eax
4029e5:	83 fa 01             	cmp    $0x1,%edx
4029e8:	0f 9f c0             	setg   %al
4029eb:	c3                   	ret
4029ec:	cc                   	int3
4029ed:	cc                   	int3
4029ee:	cc                   	int3
4029ef:	cc                   	int3
4029f0:	8d 41 0c             	lea    0xc(%ecx),%eax
4029f3:	83 ca ff             	or     $0xffffffff,%edx
4029f6:	f0 0f c1 10          	lock xadd %edx,(%eax)
4029fa:	4a                   	dec    %edx
4029fb:	85 d2                	test   %edx,%edx
4029fd:	7f 0a                	jg     0x402a09
4029ff:	8b 01                	mov    (%ecx),%eax
402a01:	8b 10                	mov    (%eax),%edx
402a03:	51                   	push   %ecx
402a04:	8b c8                	mov    %eax,%ecx
402a06:	ff 52 04             	call   *0x4(%edx)
402a09:	c3                   	ret
402a0a:	cc                   	int3
402a0b:	cc                   	int3
402a0c:	cc                   	int3
402a0d:	cc                   	int3
402a0e:	cc                   	int3
402a0f:	cc                   	int3
402a10:	8b 54 24 08          	mov    0x8(%esp),%edx
402a14:	8b c1                	mov    %ecx,%eax
402a16:	8b 4c 24 04          	mov    0x4(%esp),%ecx
402a1a:	89 08                	mov    %ecx,(%eax)
402a1c:	89 50 04             	mov    %edx,0x4(%eax)
402a1f:	c2 08 00             	ret    $0x8
402a22:	cc                   	int3
402a23:	cc                   	int3
402a24:	cc                   	int3
402a25:	cc                   	int3
402a26:	cc                   	int3
402a27:	cc                   	int3
402a28:	cc                   	int3
402a29:	cc                   	int3
402a2a:	cc                   	int3
402a2b:	cc                   	int3
402a2c:	cc                   	int3
402a2d:	cc                   	int3
402a2e:	cc                   	int3
402a2f:	cc                   	int3
402a30:	53                   	push   %ebx
402a31:	8b 5c 24 08          	mov    0x8(%esp),%ebx
402a35:	51                   	push   %ecx
402a36:	e8 a2 41 01 00       	call   0x416bdd
402a3b:	83 c4 04             	add    $0x4,%esp
402a3e:	85 db                	test   %ebx,%ebx
402a40:	74 19                	je     0x402a5b
402a42:	85 c0                	test   %eax,%eax
402a44:	75 04                	jne    0x402a4a
402a46:	5b                   	pop    %ebx
402a47:	c2 04 00             	ret    $0x4
402a4a:	56                   	push   %esi
402a4b:	57                   	push   %edi
402a4c:	8b f0                	mov    %eax,%esi
402a4e:	b9 09 00 00 00       	mov    $0x9,%ecx
402a53:	8b fb                	mov    %ebx,%edi
402a55:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
402a57:	5f                   	pop    %edi
402a58:	8b c3                	mov    %ebx,%eax
402a5a:	5e                   	pop    %esi
402a5b:	5b                   	pop    %ebx
402a5c:	c2 04 00             	ret    $0x4
402a5f:	cc                   	int3
402a60:	cc                   	int3
402a61:	cc                   	int3
402a62:	cc                   	int3
402a63:	cc                   	int3
402a64:	cc                   	int3
402a65:	cc                   	int3
402a66:	cc                   	int3
402a67:	cc                   	int3
402a68:	cc                   	int3
402a69:	cc                   	int3
402a6a:	cc                   	int3
402a6b:	cc                   	int3
402a6c:	cc                   	int3
402a6d:	cc                   	int3
402a6e:	cc                   	int3
402a6f:	cc                   	int3
402a70:	51                   	push   %ecx
402a71:	e8 67 41 01 00       	call   0x416bdd
402a76:	83 c4 04             	add    $0x4,%esp
402a79:	85 c0                	test   %eax,%eax
402a7b:	75 05                	jne    0x402a82
402a7d:	32 c0                	xor    %al,%al
402a7f:	c2 04 00             	ret    $0x4
402a82:	66 8b 50 14          	mov    0x14(%eax),%dx
402a86:	8b 4c 24 04          	mov    0x4(%esp),%ecx
402a8a:	66 81 c2 6c 07       	add    $0x76c,%dx
402a8f:	66 89 11             	mov    %dx,(%ecx)
402a92:	66 8b 50 10          	mov    0x10(%eax),%dx
402a96:	66 42                	inc    %dx
402a98:	66 89 51 02          	mov    %dx,0x2(%ecx)
402a9c:	66 8b 50 18          	mov    0x18(%eax),%dx
402aa0:	66 89 51 04          	mov    %dx,0x4(%ecx)
402aa4:	66 8b 50 0c          	mov    0xc(%eax),%dx
402aa8:	66 89 51 06          	mov    %dx,0x6(%ecx)
402aac:	66 8b 50 08          	mov    0x8(%eax),%dx
402ab0:	66 89 51 08          	mov    %dx,0x8(%ecx)
402ab4:	66 8b 50 04          	mov    0x4(%eax),%dx
402ab8:	66 89 51 0a          	mov    %dx,0xa(%ecx)
402abc:	66 8b 00             	mov    (%eax),%ax
402abf:	66 89 41 0c          	mov    %ax,0xc(%ecx)
402ac3:	66 c7 41 0e 00 00    	movw   $0x0,0xe(%ecx)
402ac9:	b0 01                	mov    $0x1,%al
402acb:	c2 04 00             	ret    $0x4
402ace:	cc                   	int3
402acf:	cc                   	int3
402ad0:	cc                   	int3
402ad1:	cc                   	int3
402ad2:	cc                   	int3
402ad3:	cc                   	int3
402ad4:	cc                   	int3
402ad5:	cc                   	int3
402ad6:	cc                   	int3
402ad7:	cc                   	int3
402ad8:	cc                   	int3
402ad9:	cc                   	int3
402ada:	cc                   	int3
402adb:	cc                   	int3
402adc:	cc                   	int3
402add:	cc                   	int3
402ade:	cc                   	int3
402adf:	cc                   	int3
402ae0:	cc                   	int3
402ae1:	cc                   	int3
402ae2:	cc                   	int3
402ae3:	cc                   	int3
402ae4:	cc                   	int3
402ae5:	cc                   	int3
402ae6:	cc                   	int3
402ae7:	cc                   	int3
402ae8:	cc                   	int3
402ae9:	cc                   	int3
402aea:	cc                   	int3
402aeb:	cc                   	int3
402aec:	cc                   	int3
402aed:	cc                   	int3
402aee:	cc                   	int3
402aef:	cc                   	int3
402af0:	8b c1                	mov    %ecx,%eax
402af2:	c3                   	ret
402af3:	cc                   	int3
402af4:	cc                   	int3
402af5:	cc                   	int3
402af6:	cc                   	int3
402af7:	cc                   	int3
402af8:	cc                   	int3
402af9:	cc                   	int3
402afa:	cc                   	int3
402afb:	cc                   	int3
402afc:	cc                   	int3
402afd:	cc                   	int3
402afe:	cc                   	int3
402aff:	cc                   	int3
402b00:	c3                   	ret
402b01:	cc                   	int3
402b02:	cc                   	int3
402b03:	cc                   	int3
402b04:	cc                   	int3
402b05:	cc                   	int3
402b06:	cc                   	int3
402b07:	cc                   	int3
402b08:	cc                   	int3
402b09:	cc                   	int3
402b0a:	cc                   	int3
402b0b:	cc                   	int3
402b0c:	cc                   	int3
402b0d:	cc                   	int3
402b0e:	cc                   	int3
402b0f:	cc                   	int3
402b10:	8b 44 24 04          	mov    0x4(%esp),%eax
402b14:	50                   	push   %eax
402b15:	e8 66 d5 03 00       	call   0x440080
402b1a:	59                   	pop    %ecx
402b1b:	c2 04 00             	ret    $0x4
402b1e:	cc                   	int3
402b1f:	cc                   	int3
402b20:	cc                   	int3
402b21:	cc                   	int3
402b22:	cc                   	int3
402b23:	cc                   	int3
402b24:	cc                   	int3
402b25:	cc                   	int3
402b26:	cc                   	int3
402b27:	cc                   	int3
402b28:	cc                   	int3
402b29:	cc                   	int3
402b2a:	cc                   	int3
402b2b:	cc                   	int3
402b2c:	cc                   	int3
402b2d:	cc                   	int3
402b2e:	cc                   	int3
402b2f:	cc                   	int3
402b30:	8b 44 24 04          	mov    0x4(%esp),%eax
402b34:	50                   	push   %eax