4ec706:	52                   	push   %edx
4ec707:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4ec70a:	8b 01                	mov    (%ecx),%eax
4ec70c:	8b 4e 34             	mov    0x34(%esi),%ecx
4ec70f:	8b 53 1c             	mov    0x1c(%ebx),%edx
4ec712:	e8 19 ff ff ff       	call   0x4ec630
4ec717:	47                   	inc    %edi
4ec718:	83 45 f0 04          	addl   $0x4,-0x10(%ebp)
4ec71c:	8b 43 3c             	mov    0x3c(%ebx),%eax
4ec71f:	3b f8                	cmp    %eax,%edi
4ec721:	7c dd                	jl     0x4ec700
4ec723:	8b 93 ec 00 00 00    	mov    0xec(%ebx),%edx
4ec729:	89 56 34             	mov    %edx,0x34(%esi)
4ec72c:	8b 4e 34             	mov    0x34(%esi),%ecx
4ec72f:	8b 83 ec 00 00 00    	mov    0xec(%ebx),%eax
4ec735:	3b c8                	cmp    %eax,%ecx
4ec737:	75 24                	jne    0x4ec75d
4ec739:	8b 55 10             	mov    0x10(%ebp),%edx
4ec73c:	52                   	push   %edx
4ec73d:	8d 56 08             	lea    0x8(%esi),%edx
4ec740:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4ec743:	8b 01                	mov    (%ecx),%eax
4ec745:	33 c9                	xor    %ecx,%ecx
4ec747:	50                   	push   %eax
4ec748:	8b c3                	mov    %ebx,%eax
4ec74a:	8b b8 64 01 00 00    	mov    0x164(%eax),%edi
4ec750:	ff 57 04             	call   *0x4(%edi)
4ec753:	33 c0                	xor    %eax,%eax
4ec755:	89 46 34             	mov    %eax,0x34(%esi)
4ec758:	8b 55 0c             	mov    0xc(%ebp),%edx
4ec75b:	ff 02                	incl   (%edx)
4ec75d:	8b 4e 30             	mov    0x30(%esi),%ecx
4ec760:	85 c9                	test   %ecx,%ecx
4ec762:	75 56                	jne    0x4ec7ba
4ec764:	8b 45 0c             	mov    0xc(%ebp),%eax
4ec767:	8b 10                	mov    (%eax),%edx
4ec769:	8b 4d 08             	mov    0x8(%ebp),%ecx
4ec76c:	3b d1                	cmp    %ecx,%edx
4ec76e:	73 4a                	jae    0x4ec7ba
4ec770:	8b 45 10             	mov    0x10(%ebp),%eax
4ec773:	8b 73 44             	mov    0x44(%ebx),%esi
4ec776:	8b d0                	mov    %eax,%edx
4ec778:	33 ff                	xor    %edi,%edi
4ec77a:	89 55 ec             	mov    %edx,-0x14(%ebp)
4ec77d:	eb 2a                	jmp    0x4ec7a9
4ec77f:	8b 46 0c             	mov    0xc(%esi),%eax
4ec782:	8b d0                	mov    %eax,%edx
4ec784:	0f af 55 08          	imul   0x8(%ebp),%edx
4ec788:	52                   	push   %edx
4ec789:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4ec78c:	8b 09                	mov    (%ecx),%ecx
4ec78e:	0f af c8             	imul   %eax,%ecx
4ec791:	8b 56 1c             	mov    0x1c(%esi),%edx
4ec794:	c1 e2 03             	shl    $0x3,%edx
4ec797:	8b 45 ec             	mov    -0x14(%ebp),%eax
4ec79a:	8b 00                	mov    (%eax),%eax
4ec79c:	e8 8f fe ff ff       	call   0x4ec630
4ec7a1:	83 45 ec 04          	addl   $0x4,-0x14(%ebp)
4ec7a5:	47                   	inc    %edi
4ec7a6:	83 c6 54             	add    $0x54,%esi
4ec7a9:	8b 53 3c             	mov    0x3c(%ebx),%edx
4ec7ac:	3b fa                	cmp    %edx,%edi
4ec7ae:	7c cf                	jl     0x4ec77f
4ec7b0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4ec7b3:	8b 45 08             	mov    0x8(%ebp),%eax
4ec7b6:	89 01                	mov    %eax,(%ecx)
4ec7b8:	eb 1c                	jmp    0x4ec7d6
4ec7ba:	8b 55 f8             	mov    -0x8(%ebp),%edx
4ec7bd:	8b 02                	mov    (%edx),%eax
4ec7bf:	8b 55 14             	mov    0x14(%ebp),%edx
4ec7c2:	3b c2                	cmp    %edx,%eax
4ec7c4:	73 10                	jae    0x4ec7d6
4ec7c6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4ec7c9:	8b 11                	mov    (%ecx),%edx
4ec7cb:	8b 4d 08             	mov    0x8(%ebp),%ecx
4ec7ce:	3b d1                	cmp    %ecx,%edx
4ec7d0:	0f 82 b2 fe ff ff    	jb     0x4ec688
4ec7d6:	5f                   	pop    %edi
4ec7d7:	5e                   	pop    %esi
4ec7d8:	5b                   	pop    %ebx
4ec7d9:	8b e5                	mov    %ebp,%esp
4ec7db:	5d                   	pop    %ebp
4ec7dc:	c2 10 00             	ret    $0x10
4ec7df:	90                   	nop
4ec7e0:	55                   	push   %ebp
4ec7e1:	8b ec                	mov    %esp,%ebp
4ec7e3:	83 c4 e4             	add    $0xffffffe4,%esp
4ec7e6:	53                   	push   %ebx
4ec7e7:	56                   	push   %esi
4ec7e8:	57                   	push   %edi
4ec7e9:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4ec7ec:	89 55 f8             	mov    %edx,-0x8(%ebp)
4ec7ef:	89 45 fc             	mov    %eax,-0x4(%ebp)
4ec7f2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ec7f5:	8b 98 54 01 00 00    	mov    0x154(%eax),%ebx
4ec7fb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ec7fe:	8b 90 ec 00 00 00    	mov    0xec(%eax),%edx
4ec804:	8d 14 52             	lea    (%edx,%edx,2),%edx
4ec807:	89 55 e8             	mov    %edx,-0x18(%ebp)
4ec80a:	e9 7d 01 00 00       	jmp    0x4ec98c
4ec80f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4ec812:	8b 01                	mov    (%ecx),%eax
4ec814:	8b 55 14             	mov    0x14(%ebp),%edx
4ec817:	3b c2                	cmp    %edx,%eax
4ec819:	0f 83 bb 00 00 00    	jae    0x4ec8da
4ec81f:	8b 4d 14             	mov    0x14(%ebp),%ecx
4ec822:	8b 53 3c             	mov    0x3c(%ebx),%edx
4ec825:	2b c8                	sub    %eax,%ecx
4ec827:	8b c1                	mov    %ecx,%eax
4ec829:	8b 4b 34             	mov    0x34(%ebx),%ecx
4ec82c:	2b d1                	sub    %ecx,%edx
4ec82e:	89 55 f0             	mov    %edx,-0x10(%ebp)
4ec831:	8b 55 f0             	mov    -0x10(%ebp),%edx
4ec834:	3b c2                	cmp    %edx,%eax
4ec836:	76 05                	jbe    0x4ec83d
4ec838:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4ec83b:	eb 02                	jmp    0x4ec83f
4ec83d:	8b c8                	mov    %eax,%ecx
4ec83f:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4ec842:	8b 43 34             	mov    0x34(%ebx),%eax
4ec845:	50                   	push   %eax
4ec846:	8b 55 f0             	mov    -0x10(%ebp),%edx
4ec849:	52                   	push   %edx
4ec84a:	8d 4b 08             	lea    0x8(%ebx),%ecx
4ec84d:	8b 45 f4             	mov    -0xc(%ebp),%eax
4ec850:	8b 10                	mov    (%eax),%edx
4ec852:	c1 e2 02             	shl    $0x2,%edx
4ec855:	8b 45 f8             	mov    -0x8(%ebp),%eax
4ec858:	03 d0                	add    %eax,%edx
4ec85a:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ec85d:	8b b0 60 01 00 00    	mov    0x160(%eax),%esi
4ec863:	ff 56 04             	call   *0x4(%esi)
4ec866:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ec869:	8b 50 20             	mov    0x20(%eax),%edx
4ec86c:	8b 4b 30             	mov    0x30(%ebx),%ecx
4ec86f:	3b d1                	cmp    %ecx,%edx
4ec871:	75 54                	jne    0x4ec8c7
4ec873:	33 c0                	xor    %eax,%eax
4ec875:	89 45 ec             	mov    %eax,-0x14(%ebp)
4ec878:	8d 53 08             	lea    0x8(%ebx),%edx
4ec87b:	89 55 e4             	mov    %edx,-0x1c(%ebp)
4ec87e:	eb 3a                	jmp    0x4ec8ba
4ec880:	bf 01 00 00 00       	mov    $0x1,%edi
4ec885:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4ec888:	8b f0                	mov    %eax,%esi
4ec88a:	eb 1a                	jmp    0x4ec8a6
4ec88c:	8b d7                	mov    %edi,%edx
4ec88e:	f7 da                	neg    %edx
4ec890:	52                   	push   %edx
4ec891:	6a 01                	push   $0x1
4ec893:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4ec896:	8b 51 1c             	mov    0x1c(%ecx),%edx
4ec899:	52                   	push   %edx
4ec89a:	33 d2                	xor    %edx,%edx
4ec89c:	8b 06                	mov    (%esi),%eax
4ec89e:	8b c8                	mov    %eax,%ecx
4ec8a0:	e8 07 d7 ff ff       	call   0x4e9fac
4ec8a5:	47                   	inc    %edi
4ec8a6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4ec8a9:	8b 81 ec 00 00 00    	mov    0xec(%ecx),%eax
4ec8af:	3b f8                	cmp    %eax,%edi
4ec8b1:	7e d9                	jle    0x4ec88c
4ec8b3:	ff 45 ec             	incl   -0x14(%ebp)
4ec8b6:	83 45 e4 04          	addl   $0x4,-0x1c(%ebp)
4ec8ba:	8b 55 fc             	mov    -0x4(%ebp),%edx
4ec8bd:	8b 4a 3c             	mov    0x3c(%edx),%ecx
4ec8c0:	8b 45 ec             	mov    -0x14(%ebp),%eax
4ec8c3:	3b c8                	cmp    %eax,%ecx
4ec8c5:	7f b9                	jg     0x4ec880
4ec8c7:	8b 55 f4             	mov    -0xc(%ebp),%edx
4ec8ca:	8b 45 f0             	mov    -0x10(%ebp),%eax
4ec8cd:	01 02                	add    %eax,(%edx)
4ec8cf:	8b 55 f0             	mov    -0x10(%ebp),%edx
4ec8d2:	01 53 34             	add    %edx,0x34(%ebx)
4ec8d5:	29 43 30             	sub    %eax,0x30(%ebx)
4ec8d8:	eb 4c                	jmp    0x4ec926
4ec8da:	8b 4b 30             	mov    0x30(%ebx),%ecx
4ec8dd:	85 c9                	test   %ecx,%ecx
4ec8df:	0f 85 b7 00 00 00    	jne    0x4ec99c
4ec8e5:	8b 43 34             	mov    0x34(%ebx),%eax
4ec8e8:	8b 53 3c             	mov    0x3c(%ebx),%edx
4ec8eb:	3b c2                	cmp    %edx,%eax
4ec8ed:	7d 37                	jge    0x4ec926
4ec8ef:	33 c9                	xor    %ecx,%ecx
4ec8f1:	8d 73 08             	lea    0x8(%ebx),%esi
4ec8f4:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4ec8f7:	eb 1a                	jmp    0x4ec913
4ec8f9:	8b 43 3c             	mov    0x3c(%ebx),%eax
4ec8fc:	50                   	push   %eax
4ec8fd:	8b 55 fc             	mov    -0x4(%ebp),%edx
4ec900:	8b 52 1c             	mov    0x1c(%edx),%edx
4ec903:	8b 06                	mov    (%esi),%eax
4ec905:	8b 4b 34             	mov    0x34(%ebx),%ecx
4ec908:	e8 23 fd ff ff       	call   0x4ec630
4ec90d:	ff 45 ec             	incl   -0x14(%ebp)
4ec910:	83 c6 04             	add    $0x4,%esi
4ec913:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ec916:	8b 50 3c             	mov    0x3c(%eax),%edx
4ec919:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4ec91c:	3b d1                	cmp    %ecx,%edx
4ec91e:	7f d9                	jg     0x4ec8f9
4ec920:	8b 43 3c             	mov    0x3c(%ebx),%eax
4ec923:	89 43 34             	mov    %eax,0x34(%ebx)
4ec926:	8b 53 34             	mov    0x34(%ebx),%edx
4ec929:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
4ec92c:	3b d1                	cmp    %ecx,%edx
4ec92e:	75 5c                	jne    0x4ec98c
4ec930:	8b 45 10             	mov    0x10(%ebp),%eax
4ec933:	50                   	push   %eax
4ec934:	8b 55 0c             	mov    0xc(%ebp),%edx
4ec937:	8b 0a                	mov    (%edx),%ecx
4ec939:	51                   	push   %ecx
4ec93a:	8d 53 08             	lea    0x8(%ebx),%edx
4ec93d:	8b 4b 38             	mov    0x38(%ebx),%ecx
4ec940:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ec943:	8b b0 64 01 00 00    	mov    0x164(%eax),%esi
4ec949:	ff 56 04             	call   *0x4(%esi)
4ec94c:	8b 45 0c             	mov    0xc(%ebp),%eax
4ec94f:	ff 00                	incl   (%eax)
4ec951:	8b 55 fc             	mov    -0x4(%ebp),%edx
4ec954:	8b 8a ec 00 00 00    	mov    0xec(%edx),%ecx
4ec95a:	01 4b 38             	add    %ecx,0x38(%ebx)
4ec95d:	8b 43 38             	mov    0x38(%ebx),%eax
4ec960:	8b 55 e8             	mov    -0x18(%ebp),%edx
4ec963:	3b c2                	cmp    %edx,%eax
4ec965:	7c 05                	jl     0x4ec96c
4ec967:	33 c9                	xor    %ecx,%ecx
4ec969:	89 4b 38             	mov    %ecx,0x38(%ebx)
4ec96c:	8b 43 34             	mov    0x34(%ebx),%eax
4ec96f:	8b 55 e8             	mov    -0x18(%ebp),%edx
4ec972:	3b c2                	cmp    %edx,%eax
4ec974:	7c 05                	jl     0x4ec97b
4ec976:	33 c9                	xor    %ecx,%ecx
4ec978:	89 4b 34             	mov    %ecx,0x34(%ebx)
4ec97b:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ec97e:	8b 90 ec 00 00 00    	mov    0xec(%eax),%edx
4ec984:	8b 4b 34             	mov    0x34(%ebx),%ecx
4ec987:	03 d1                	add    %ecx,%edx
4ec989:	89 53 3c             	mov    %edx,0x3c(%ebx)
4ec98c:	8b 45 0c             	mov    0xc(%ebp),%eax
4ec98f:	8b 10                	mov    (%eax),%edx
4ec991:	8b 4d 08             	mov    0x8(%ebp),%ecx
4ec994:	3b d1                	cmp    %ecx,%edx
4ec996:	0f 82 73 fe ff ff    	jb     0x4ec80f
4ec99c:	5f                   	pop    %edi
4ec99d:	5e                   	pop    %esi
4ec99e:	5b                   	pop    %ebx
4ec99f:	8b e5                	mov    %ebp,%esp
4ec9a1:	5d                   	pop    %ebp
4ec9a2:	c2 10 00             	ret    $0x10
4ec9a5:	90                   	nop
4ec9a6:	90                   	nop
4ec9a7:	90                   	nop
4ec9a8:	53                   	push   %ebx
4ec9a9:	56                   	push   %esi
4ec9aa:	57                   	push   %edi
4ec9ab:	55                   	push   %ebp
4ec9ac:	83 c4 ec             	add    $0xffffffec,%esp
4ec9af:	89 04 24             	mov    %eax,(%esp)
4ec9b2:	8b 04 24             	mov    (%esp),%eax
4ec9b5:	8b b0 54 01 00 00    	mov    0x154(%eax),%esi
4ec9bb:	8b 04 24             	mov    (%esp),%eax
4ec9be:	8b 98 ec 00 00 00    	mov    0xec(%eax),%ebx
4ec9c4:	8b 04 24             	mov    (%esp),%eax
4ec9c7:	8b 50 3c             	mov    0x3c(%eax),%edx
4ec9ca:	8b 04 24             	mov    (%esp),%eax
4ec9cd:	0f af d3             	imul   %ebx,%edx
4ec9d0:	8b 78 04             	mov    0x4(%eax),%edi
4ec9d3:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
4ec9d6:	c1 e1 02             	shl    $0x2,%ecx
4ec9d9:	ba 01 00 00 00       	mov    $0x1,%edx
4ec9de:	ff 17                	call   *(%edi)
4ec9e0:	89 44 24 0c          	mov    %eax,0xc(%esp)
4ec9e4:	33 c0                	xor    %eax,%eax
4ec9e6:	89 44 24 04          	mov    %eax,0x4(%esp)
4ec9ea:	8b 14 24             	mov    (%esp),%edx
4ec9ed:	8b 4a 44             	mov    0x44(%edx),%ecx
4ec9f0:	89 4c 24 08          	mov    %ecx,0x8(%esp)
4ec9f4:	8d 46 08             	lea    0x8(%esi),%eax
4ec9f7:	89 44 24 10          	mov    %eax,0x10(%esp)
4ec9fb:	e9 ab 00 00 00       	jmp    0x4ecaab
4eca00:	8d 14 5b             	lea    (%ebx,%ebx,2),%edx
4eca03:	52                   	push   %edx
4eca04:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4eca08:	8b 54 24 04          	mov    0x4(%esp),%edx
4eca0c:	8b 41 1c             	mov    0x1c(%ecx),%eax
4eca0f:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4eca13:	c1 e0 03             	shl    $0x3,%eax
4eca16:	f7 aa e8 00 00 00    	imull  0xe8(%edx)
4eca1c:	99                   	cltd
4eca1d:	f7 79 08             	idivl  0x8(%ecx)
4eca20:	8b c8                	mov    %eax,%ecx
4eca22:	8b 44 24 04          	mov    0x4(%esp),%eax
4eca26:	ba 01 00 00 00       	mov    $0x1,%edx
4eca2b:	8b 70 04             	mov    0x4(%eax),%esi
4eca2e:	ff 56 08             	call   *0x8(%esi)
4eca31:	8b f0                	mov    %eax,%esi
4eca33:	8d 04 5b             	lea    (%ebx,%ebx,2),%eax
4eca36:	c1 e0 02             	shl    $0x2,%eax
4eca39:	8b d3                	mov    %ebx,%edx
4eca3b:	50                   	push   %eax
4eca3c:	56                   	push   %esi
4eca3d:	c1 e2 02             	shl    $0x2,%edx
4eca40:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4eca44:	03 d1                	add    %ecx,%edx
4eca46:	52                   	push   %edx
4eca47:	e8 50 d7 fe ff       	call   0x4da19c
4eca4c:	83 c4 0c             	add    $0xc,%esp
4eca4f:	33 c0                	xor    %eax,%eax
4eca51:	3b d8                	cmp    %eax,%ebx
4eca53:	8b ce                	mov    %esi,%ecx
4eca55:	8b 54 24 0c          	mov    0xc(%esp),%edx
4eca59:	7e 25                	jle    0x4eca80
4eca5b:	8d 3c 58             	lea    (%eax,%ebx,2),%edi
4eca5e:	8b 3c be             	mov    (%esi,%edi,4),%edi
4eca61:	89 3a                	mov    %edi,(%edx)
4eca63:	8d 3c 98             	lea    (%eax,%ebx,4),%edi
4eca66:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
4eca6a:	40                   	inc    %eax
4eca6b:	83 c2 04             	add    $0x4,%edx
4eca6e:	8d 7c bd 00          	lea    0x0(%ebp,%edi,4),%edi
4eca72:	57                   	push   %edi
4eca73:	5d                   	pop    %ebp
4eca74:	8b 39                	mov    (%ecx),%edi
4eca76:	83 c1 04             	add    $0x4,%ecx
4eca79:	3b d8                	cmp    %eax,%ebx
4eca7b:	89 7d 00             	mov    %edi,0x0(%ebp)
4eca7e:	7f db                	jg     0x4eca5b
4eca80:	8b c3                	mov    %ebx,%eax
4eca82:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4eca86:	c1 e0 02             	shl    $0x2,%eax
4eca89:	8b 54 24 0c          	mov    0xc(%esp),%edx
4eca8d:	03 c2                	add    %edx,%eax
4eca8f:	89 01                	mov    %eax,(%ecx)
4eca91:	8b c3                	mov    %ebx,%eax
4eca93:	c1 e0 02             	shl    $0x2,%eax
4eca96:	8d 04 80             	lea    (%eax,%eax,4),%eax
4eca99:	01 44 24 0c          	add    %eax,0xc(%esp)
4eca9d:	83 44 24 10 04       	addl   $0x4,0x10(%esp)
4ecaa2:	ff 44 24 04          	incl   0x4(%esp)
4ecaa6:	83 44 24 08 54       	addl   $0x54,0x8(%esp)
4ecaab:	8b 14 24             	mov    (%esp),%edx
4ecaae:	8b 4a 3c             	mov    0x3c(%edx),%ecx
4ecab1:	8b 44 24 04          	mov    0x4(%esp),%eax
4ecab5:	3b c8                	cmp    %eax,%ecx
4ecab7:	0f 8f 43 ff ff ff    	jg     0x4eca00
4ecabd:	83 c4 14             	add    $0x14,%esp
4ecac0:	5d                   	pop    %ebp
4ecac1:	5f                   	pop    %edi
4ecac2:	5e                   	pop    %esi