55fedc:	ff d0                	call   *%eax
55fede:	83 c4 10             	add    $0x10,%esp
55fee1:	5d                   	pop    %ebp
55fee2:	c3                   	ret
55fee3:	cc                   	int3
55fee4:	cc                   	int3
55fee5:	cc                   	int3
55fee6:	cc                   	int3
55fee7:	cc                   	int3
55fee8:	cc                   	int3
55fee9:	cc                   	int3
55feea:	cc                   	int3
55feeb:	cc                   	int3
55feec:	cc                   	int3
55feed:	cc                   	int3
55feee:	cc                   	int3
55feef:	cc                   	int3
55fef0:	55                   	push   %ebp
55fef1:	8b ec                	mov    %esp,%ebp
55fef3:	8b 4d 18             	mov    0x18(%ebp),%ecx
55fef6:	53                   	push   %ebx
55fef7:	8b 5d 08             	mov    0x8(%ebp),%ebx
55fefa:	56                   	push   %esi
55fefb:	57                   	push   %edi
55fefc:	8b 7d 14             	mov    0x14(%ebp),%edi
55feff:	89 4d 08             	mov    %ecx,0x8(%ebp)
55ff02:	3b 4b 0c             	cmp    0xc(%ebx),%ecx
55ff05:	7f 7f                	jg     0x55ff86
55ff07:	7c 05                	jl     0x55ff0e
55ff09:	3b 7b 08             	cmp    0x8(%ebx),%edi
55ff0c:	73 78                	jae    0x55ff86
55ff0e:	8b 75 10             	mov    0x10(%ebp),%esi
55ff11:	8b c6                	mov    %esi,%eax
55ff13:	99                   	cltd
55ff14:	03 c7                	add    %edi,%eax
55ff16:	13 d1                	adc    %ecx,%edx
55ff18:	3b 53 0c             	cmp    0xc(%ebx),%edx
55ff1b:	7c 6c                	jl     0x55ff89
55ff1d:	7f 05                	jg     0x55ff24
55ff1f:	3b 43 08             	cmp    0x8(%ebx),%eax
55ff22:	72 65                	jb     0x55ff89
55ff24:	8b 43 08             	mov    0x8(%ebx),%eax
55ff27:	8b 55 18             	mov    0x18(%ebp),%edx
55ff2a:	2b c7                	sub    %edi,%eax
55ff2c:	52                   	push   %edx
55ff2d:	89 45 08             	mov    %eax,0x8(%ebp)
55ff30:	8b 43 04             	mov    0x4(%ebx),%eax
55ff33:	57                   	push   %edi
55ff34:	ff 75 08             	push   0x8(%ebp)
55ff37:	8b 08                	mov    (%eax),%ecx
55ff39:	ff 75 0c             	push   0xc(%ebp)
55ff3c:	50                   	push   %eax
55ff3d:	8b 41 0c             	mov    0xc(%ecx),%eax
55ff40:	ff d0                	call   *%eax
55ff42:	83 c4 14             	add    $0x14,%esp
55ff45:	85 c0                	test   %eax,%eax
55ff47:	75 57                	jne    0x55ffa0
55ff49:	8b 4d 08             	mov    0x8(%ebp),%ecx
55ff4c:	8b c1                	mov    %ecx,%eax
55ff4e:	99                   	cltd
55ff4f:	03 f8                	add    %eax,%edi
55ff51:	8b 45 18             	mov    0x18(%ebp),%eax
55ff54:	13 c2                	adc    %edx,%eax
55ff56:	01 4d 0c             	add    %ecx,0xc(%ebp)
55ff59:	8b 53 04             	mov    0x4(%ebx),%edx
55ff5c:	2b f1                	sub    %ecx,%esi
55ff5e:	8b 4b 10             	mov    0x10(%ebx),%ecx
55ff61:	89 45 08             	mov    %eax,0x8(%ebp)
55ff64:	83 e1 03             	and    $0x3,%ecx
55ff67:	74 0e                	je     0x55ff77
55ff69:	8b 02                	mov    (%edx),%eax
55ff6b:	51                   	push   %ecx
55ff6c:	52                   	push   %edx
55ff6d:	8b 40 14             	mov    0x14(%eax),%eax
55ff70:	ff d0                	call   *%eax
55ff72:	83 c4 08             	add    $0x8,%esp
55ff75:	eb 02                	jmp    0x55ff79
55ff77:	33 c0                	xor    %eax,%eax
55ff79:	85 f6                	test   %esi,%esi
55ff7b:	74 23                	je     0x55ffa0
55ff7d:	85 c0                	test   %eax,%eax
55ff7f:	74 08                	je     0x55ff89
55ff81:	5f                   	pop    %edi
55ff82:	5e                   	pop    %esi
55ff83:	5b                   	pop    %ebx
55ff84:	5d                   	pop    %ebp
55ff85:	c3                   	ret
55ff86:	8b 75 10             	mov    0x10(%ebp),%esi
55ff89:	8b 43 04             	mov    0x4(%ebx),%eax
55ff8c:	8b 55 08             	mov    0x8(%ebp),%edx
55ff8f:	52                   	push   %edx
55ff90:	57                   	push   %edi
55ff91:	8b 08                	mov    (%eax),%ecx
55ff93:	56                   	push   %esi
55ff94:	ff 75 0c             	push   0xc(%ebp)
55ff97:	50                   	push   %eax
55ff98:	8b 41 0c             	mov    0xc(%ecx),%eax
55ff9b:	ff d0                	call   *%eax
55ff9d:	83 c4 14             	add    $0x14,%esp
55ffa0:	5f                   	pop    %edi
55ffa1:	5e                   	pop    %esi
55ffa2:	5b                   	pop    %ebx
55ffa3:	5d                   	pop    %ebp
55ffa4:	c3                   	ret
55ffa5:	cc                   	int3
55ffa6:	cc                   	int3
55ffa7:	cc                   	int3
55ffa8:	cc                   	int3
55ffa9:	cc                   	int3
55ffaa:	cc                   	int3
55ffab:	cc                   	int3
55ffac:	cc                   	int3
55ffad:	cc                   	int3
55ffae:	cc                   	int3
55ffaf:	cc                   	int3
55ffb0:	55                   	push   %ebp
55ffb1:	8b ec                	mov    %esp,%ebp
55ffb3:	56                   	push   %esi
55ffb4:	8b 75 0c             	mov    0xc(%ebp),%esi
55ffb7:	57                   	push   %edi
55ffb8:	8b 7d 08             	mov    0x8(%ebp),%edi
55ffbb:	56                   	push   %esi
55ffbc:	57                   	push   %edi
55ffbd:	8b 47 04             	mov    0x4(%edi),%eax
55ffc0:	ff d0                	call   *%eax
55ffc2:	83 c4 08             	add    $0x8,%esp
55ffc5:	85 c0                	test   %eax,%eax
55ffc7:	75 3c                	jne    0x560005
55ffc9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
55ffd0:	f7 46 04 00 40 80 00 	testl  $0x804000,0x4(%esi)
55ffd7:	75 7e                	jne    0x560057
55ffd9:	8b 46 0c             	mov    0xc(%esi),%eax
55ffdc:	85 c0                	test   %eax,%eax
55ffde:	74 0e                	je     0x55ffee
55ffe0:	50                   	push   %eax
55ffe1:	57                   	push   %edi
55ffe2:	e8 c9 ff ff ff       	call   0x55ffb0
55ffe7:	83 c4 08             	add    $0x8,%esp
55ffea:	85 c0                	test   %eax,%eax
55ffec:	75 37                	jne    0x560025
55ffee:	8b 46 10             	mov    0x10(%esi),%eax
55fff1:	85 c0                	test   %eax,%eax
55fff3:	74 17                	je     0x56000c
55fff5:	8b f0                	mov    %eax,%esi
55fff7:	8b 47 04             	mov    0x4(%edi),%eax
55fffa:	56                   	push   %esi
55fffb:	57                   	push   %edi
55fffc:	ff d0                	call   *%eax
55fffe:	83 c4 08             	add    $0x8,%esp
560001:	85 c0                	test   %eax,%eax
560003:	74 cb                	je     0x55ffd0
560005:	5f                   	pop    %edi
560006:	83 e0 02             	and    $0x2,%eax
560009:	5e                   	pop    %esi
56000a:	5d                   	pop    %ebp
56000b:	c3                   	ret
56000c:	f7 46 04 00 08 00 00 	testl  $0x800,0x4(%esi)
560013:	74 19                	je     0x56002e
560015:	ff 76 14             	push   0x14(%esi)
560018:	57                   	push   %edi
560019:	e8 d2 fd fe ff       	call   0x54fdf0
56001e:	83 c4 08             	add    $0x8,%esp
560021:	85 c0                	test   %eax,%eax
560023:	74 32                	je     0x560057
560025:	5f                   	pop    %edi
560026:	b8 02 00 00 00       	mov    $0x2,%eax
56002b:	5e                   	pop    %esi
56002c:	5d                   	pop    %ebp
56002d:	c3                   	ret
56002e:	8b 46 14             	mov    0x14(%esi),%eax
560031:	85 c0                	test   %eax,%eax
560033:	74 0e                	je     0x560043
560035:	50                   	push   %eax
560036:	57                   	push   %edi
560037:	e8 64 fd fe ff       	call   0x54fda0
56003c:	83 c4 08             	add    $0x8,%esp
56003f:	85 c0                	test   %eax,%eax
560041:	75 e2                	jne    0x560025
560043:	f7 46 04 00 00 00 01 	testl  $0x1000000,0x4(%esi)
56004a:	74 0b                	je     0x560057
56004c:	ff 76 2c             	push   0x2c(%esi)
56004f:	57                   	push   %edi
560050:	e8 0b 00 00 00       	call   0x560060
560055:	eb c7                	jmp    0x56001e
560057:	5f                   	pop    %edi
560058:	33 c0                	xor    %eax,%eax
56005a:	5e                   	pop    %esi
56005b:	5d                   	pop    %ebp
56005c:	c3                   	ret
56005d:	cc                   	int3
56005e:	cc                   	int3
56005f:	cc                   	int3
560060:	55                   	push   %ebp
560061:	8b ec                	mov    %esp,%ebp
560063:	53                   	push   %ebx
560064:	8b 5d 0c             	mov    0xc(%ebp),%ebx
560067:	56                   	push   %esi
560068:	57                   	push   %edi
560069:	85 db                	test   %ebx,%ebx
56006b:	0f 84 b9 00 00 00    	je     0x56012a
560071:	8b 7b 0c             	mov    0xc(%ebx),%edi
560074:	8b 4d 08             	mov    0x8(%ebp),%ecx
560077:	85 ff                	test   %edi,%edi
560079:	74 2c                	je     0x5600a7
56007b:	8b 37                	mov    (%edi),%esi
56007d:	83 c7 04             	add    $0x4,%edi
560080:	85 f6                	test   %esi,%esi
560082:	7e 23                	jle    0x5600a7
560084:	8b 07                	mov    (%edi),%eax
560086:	85 c0                	test   %eax,%eax
560088:	74 15                	je     0x56009f
56008a:	50                   	push   %eax
56008b:	51                   	push   %ecx
56008c:	e8 1f ff ff ff       	call   0x55ffb0
560091:	83 c4 08             	add    $0x8,%esp
560094:	85 c0                	test   %eax,%eax
560096:	0f 85 84 00 00 00    	jne    0x560120
56009c:	8b 4d 08             	mov    0x8(%ebp),%ecx
56009f:	4e                   	dec    %esi
5600a0:	83 c7 14             	add    $0x14,%edi
5600a3:	85 f6                	test   %esi,%esi
5600a5:	7f dd                	jg     0x560084
5600a7:	8b 7b 08             	mov    0x8(%ebx),%edi
5600aa:	85 ff                	test   %edi,%edi
5600ac:	74 28                	je     0x5600d6
5600ae:	8b 37                	mov    (%edi),%esi
5600b0:	83 c7 04             	add    $0x4,%edi
5600b3:	85 f6                	test   %esi,%esi
5600b5:	7e 1f                	jle    0x5600d6
5600b7:	8b 07                	mov    (%edi),%eax
5600b9:	85 c0                	test   %eax,%eax
5600bb:	74 0e                	je     0x5600cb
5600bd:	50                   	push   %eax
5600be:	51                   	push   %ecx
5600bf:	e8 ec fe ff ff       	call   0x55ffb0
5600c4:	83 c4 08             	add    $0x8,%esp
5600c7:	85 c0                	test   %eax,%eax
5600c9:	75 55                	jne    0x560120
5600cb:	8b 4d 08             	mov    0x8(%ebp),%ecx
5600ce:	4e                   	dec    %esi
5600cf:	83 c7 14             	add    $0x14,%edi
5600d2:	85 f6                	test   %esi,%esi
5600d4:	7f e1                	jg     0x5600b7
5600d6:	8b 43 28             	mov    0x28(%ebx),%eax
5600d9:	8b 75 08             	mov    0x8(%ebp),%esi
5600dc:	85 c0                	test   %eax,%eax
5600de:	74 0e                	je     0x5600ee
5600e0:	50                   	push   %eax
5600e1:	56                   	push   %esi
5600e2:	e8 c9 fe ff ff       	call   0x55ffb0
5600e7:	83 c4 08             	add    $0x8,%esp
5600ea:	85 c0                	test   %eax,%eax
5600ec:	75 32                	jne    0x560120
5600ee:	8b 43 18             	mov    0x18(%ebx),%eax
5600f1:	85 c0                	test   %eax,%eax
5600f3:	74 0e                	je     0x560103
5600f5:	50                   	push   %eax
5600f6:	56                   	push   %esi
5600f7:	e8 b4 fe ff ff       	call   0x55ffb0
5600fc:	83 c4 08             	add    $0x8,%esp
5600ff:	85 c0                	test   %eax,%eax
560101:	75 1d                	jne    0x560120
560103:	8b 43 1c             	mov    0x1c(%ebx),%eax
560106:	85 c0                	test   %eax,%eax
560108:	74 0e                	je     0x560118
56010a:	50                   	push   %eax
56010b:	56                   	push   %esi
56010c:	e8 9f fe ff ff       	call   0x55ffb0
560111:	83 c4 08             	add    $0x8,%esp
560114:	85 c0                	test   %eax,%eax
560116:	75 08                	jne    0x560120
560118:	8b 5b 24             	mov    0x24(%ebx),%ebx
56011b:	e9 49 ff ff ff       	jmp    0x560069
560120:	5f                   	pop    %edi
560121:	5e                   	pop    %esi
560122:	b8 02 00 00 00       	mov    $0x2,%eax
560127:	5b                   	pop    %ebx
560128:	5d                   	pop    %ebp
560129:	c3                   	ret
56012a:	5f                   	pop    %edi
56012b:	5e                   	pop    %esi
56012c:	33 c0                	xor    %eax,%eax
56012e:	5b                   	pop    %ebx
56012f:	5d                   	pop    %ebp
560130:	c3                   	ret
560131:	cc                   	int3
560132:	cc                   	int3
560133:	cc                   	int3
560134:	cc                   	int3
560135:	cc                   	int3
560136:	cc                   	int3
560137:	cc                   	int3
560138:	cc                   	int3
560139:	cc                   	int3
56013a:	cc                   	int3
56013b:	cc                   	int3
56013c:	cc                   	int3
56013d:	cc                   	int3
56013e:	cc                   	int3
56013f:	cc                   	int3
560140:	55                   	push   %ebp
560141:	8b ec                	mov    %esp,%ebp
560143:	83 ec 08             	sub    $0x8,%esp
560146:	53                   	push   %ebx
560147:	8b 5d 0c             	mov    0xc(%ebp),%ebx
56014a:	56                   	push   %esi
56014b:	8b 75 08             	mov    0x8(%ebp),%esi
56014e:	57                   	push   %edi
56014f:	80 3e 2c             	cmpb   $0x2c,(%esi)
560152:	75 18                	jne    0x56016c
560154:	8b 7d 10             	mov    0x10(%ebp),%edi
560157:	57                   	push   %edi
560158:	53                   	push   %ebx
560159:	ff 76 0c             	push   0xc(%esi)
56015c:	e8 df ff ff ff       	call   0x560140
560161:	8b 76 10             	mov    0x10(%esi),%esi
560164:	83 c4 0c             	add    $0xc,%esp
560167:	80 3e 2c             	cmpb   $0x2c,(%esi)
56016a:	74 eb                	je     0x560157
56016c:	8b 55 10             	mov    0x10(%ebp),%edx
56016f:	33 c9                	xor    %ecx,%ecx
560171:	89 4d 08             	mov    %ecx,0x8(%ebp)
560174:	8b 42 14             	mov    0x14(%edx),%eax
560177:	89 45 fc             	mov    %eax,-0x4(%ebp)
56017a:	39 4a 0c             	cmp    %ecx,0xc(%edx)
56017d:	7e 51                	jle    0x5601d0
56017f:	90                   	nop
560180:	f6 40 0a 04          	testb  $0x4,0xa(%eax)
560184:	75 3b                	jne    0x5601c1
560186:	8b 38                	mov    (%eax),%edi
560188:	85 ff                	test   %edi,%edi
56018a:	0f 84 48 02 00 00    	je     0x5603d8
560190:	8b 5e 04             	mov    0x4(%esi),%ebx
560193:	8b cb                	mov    %ebx,%ecx
560195:	8b 47 04             	mov    0x4(%edi),%eax
560198:	0b c8                	or     %eax,%ecx
56019a:	89 4d f8             	mov    %ecx,-0x8(%ebp)
56019d:	f7 c1 00 04 00 00    	test   $0x400,%ecx
5601a3:	74 32                	je     0x5601d7
5601a5:	8b 4d 08             	mov    0x8(%ebp),%ecx
5601a8:	23 d8                	and    %eax,%ebx
5601aa:	f7 c3 00 04 00 00    	test   $0x400,%ebx
5601b0:	74 0c                	je     0x5601be
5601b2:	8b 47 08             	mov    0x8(%edi),%eax
5601b5:	3b 46 08             	cmp    0x8(%esi),%eax
5601b8:	0f 84 3c 02 00 00    	je     0x5603fa
5601be:	8b 45 fc             	mov    -0x4(%ebp),%eax
5601c1:	41                   	inc    %ecx
5601c2:	83 c0 30             	add    $0x30,%eax
5601c5:	89 4d 08             	mov    %ecx,0x8(%ebp)