434033:	e8 74 a2 00 00       	call   0x43e2ac
434038:	8d 45 dc             	lea    -0x24(%ebp),%eax
43403b:	50                   	push   %eax
43403c:	8b 47 08             	mov    0x8(%edi),%eax
43403f:	e8 c0 fc 01 00       	call   0x453d04
434044:	50                   	push   %eax
434045:	56                   	push   %esi
434046:	8b 45 fc             	mov    -0x4(%ebp),%eax
434049:	e8 ce 0c ff ff       	call   0x424d1c
43404e:	50                   	push   %eax
43404f:	e8 78 9f 00 00       	call   0x43dfcc
434054:	8d 4d ec             	lea    -0x14(%ebp),%ecx
434057:	5a                   	pop    %edx
434058:	e8 9f a1 00 00       	call   0x43e1fc
43405d:	eb 7d                	jmp    0x4340dc
43405f:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
434063:	75 05                	jne    0x43406a
434065:	80 fb 03             	cmp    $0x3,%bl
434068:	75 37                	jne    0x4340a1
43406a:	6a 01                	push   $0x1
43406c:	68 ff ff ff 1f       	push   $0x1fffffff
434071:	68 ff ff ff 1f       	push   $0x1fffffff
434076:	6a 00                	push   $0x0
434078:	6a 00                	push   $0x0
43407a:	8b 45 f8             	mov    -0x8(%ebp),%eax
43407d:	8b 40 04             	mov    0x4(%eax),%eax
434080:	50                   	push   %eax
434081:	8b 45 f8             	mov    -0x8(%ebp),%eax
434084:	8b 00                	mov    (%eax),%eax
434086:	50                   	push   %eax
434087:	8b 45 fc             	mov    -0x4(%ebp),%eax
43408a:	e8 8d 0c ff ff       	call   0x424d1c
43408f:	50                   	push   %eax
434090:	56                   	push   %esi
434091:	8b 47 08             	mov    0x8(%edi),%eax
434094:	e8 6b fc 01 00       	call   0x453d04
434099:	50                   	push   %eax
43409a:	e8 e1 75 ff ff       	call   0x42b680
43409f:	eb 3b                	jmp    0x4340dc
4340a1:	6a 00                	push   $0x0
4340a3:	68 ff ff ff 1f       	push   $0x1fffffff
4340a8:	b8 0f 00 00 ff       	mov    $0xff00000f,%eax
4340ad:	e8 d2 f8 fe ff       	call   0x423984
4340b2:	50                   	push   %eax
4340b3:	6a 00                	push   $0x0
4340b5:	6a 00                	push   $0x0
4340b7:	8b 45 f8             	mov    -0x8(%ebp),%eax
4340ba:	8b 40 04             	mov    0x4(%eax),%eax
4340bd:	50                   	push   %eax
4340be:	8b 45 f8             	mov    -0x8(%ebp),%eax
4340c1:	8b 00                	mov    (%eax),%eax
4340c3:	50                   	push   %eax
4340c4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4340c7:	e8 50 0c ff ff       	call   0x424d1c
4340cc:	50                   	push   %eax
4340cd:	56                   	push   %esi
4340ce:	8b 47 08             	mov    0x8(%edi),%eax
4340d1:	e8 2e fc 01 00       	call   0x453d04
4340d6:	50                   	push   %eax
4340d7:	e8 a4 75 ff ff       	call   0x42b680
4340dc:	5f                   	pop    %edi
4340dd:	5e                   	pop    %esi
4340de:	5b                   	pop    %ebx
4340df:	8b e5                	mov    %ebp,%esp
4340e1:	5d                   	pop    %ebp
4340e2:	c2 08 00             	ret    $0x8
4340e5:	8d 40 00             	lea    0x0(%eax),%eax
4340e8:	55                   	push   %ebp
4340e9:	8b ec                	mov    %esp,%ebp
4340eb:	83 c4 f0             	add    $0xfffffff0,%esp
4340ee:	53                   	push   %ebx
4340ef:	56                   	push   %esi
4340f0:	57                   	push   %edi
4340f1:	8b 75 10             	mov    0x10(%ebp),%esi
4340f4:	8d 7d f0             	lea    -0x10(%ebp),%edi
4340f7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4340f8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4340f9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4340fa:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4340fb:	8b f1                	mov    %ecx,%esi
4340fd:	8b da                	mov    %edx,%ebx
4340ff:	8b 7d 08             	mov    0x8(%ebp),%edi
434102:	b2 01                	mov    $0x1,%dl
434104:	8b 43 14             	mov    0x14(%ebx),%eax
434107:	e8 20 06 ff ff       	call   0x42472c
43410c:	80 7d 0c 01          	cmpb   $0x1,0xc(%ebp)
434110:	0f 85 82 00 00 00    	jne    0x434198
434116:	6a 01                	push   $0x1
434118:	6a 01                	push   $0x1
43411a:	8d 45 f0             	lea    -0x10(%ebp),%eax
43411d:	50                   	push   %eax
43411e:	e8 21 29 fd ff       	call   0x406a44
434123:	ba 14 00 00 ff       	mov    $0xff000014,%edx
434128:	8b 43 0c             	mov    0xc(%ebx),%eax
43412b:	e8 14 fd fe ff       	call   0x423e44
434130:	8b c7                	mov    %edi,%eax
434132:	83 c8 05             	or     $0x5,%eax
434135:	50                   	push   %eax
434136:	8d 45 f0             	lea    -0x10(%ebp),%eax
434139:	50                   	push   %eax
43413a:	8b c6                	mov    %esi,%eax
43413c:	e8 cf 01 fd ff       	call   0x404310
434141:	50                   	push   %eax
434142:	8b c6                	mov    %esi,%eax
434144:	e8 c7 03 fd ff       	call   0x404510
434149:	50                   	push   %eax
43414a:	8b c3                	mov    %ebx,%eax
43414c:	e8 cb 0b ff ff       	call   0x424d1c
434151:	50                   	push   %eax
434152:	e8 5d 26 fd ff       	call   0x4067b4
434157:	6a ff                	push   $0xffffffff
434159:	6a ff                	push   $0xffffffff
43415b:	8d 45 f0             	lea    -0x10(%ebp),%eax
43415e:	50                   	push   %eax
43415f:	e8 e0 28 fd ff       	call   0x406a44
434164:	ba 10 00 00 ff       	mov    $0xff000010,%edx
434169:	8b 43 0c             	mov    0xc(%ebx),%eax
43416c:	e8 d3 fc fe ff       	call   0x423e44
434171:	83 cf 05             	or     $0x5,%edi
434174:	57                   	push   %edi
434175:	8d 45 f0             	lea    -0x10(%ebp),%eax
434178:	50                   	push   %eax
434179:	8b c6                	mov    %esi,%eax
43417b:	e8 90 01 fd ff       	call   0x404310
434180:	50                   	push   %eax
434181:	8b c6                	mov    %esi,%eax
434183:	e8 88 03 fd ff       	call   0x404510
434188:	50                   	push   %eax
434189:	8b c3                	mov    %ebx,%eax
43418b:	e8 8c 0b ff ff       	call   0x424d1c
434190:	50                   	push   %eax
434191:	e8 1e 26 fd ff       	call   0x4067b4
434196:	eb 25                	jmp    0x4341bd
434198:	83 cf 05             	or     $0x5,%edi
43419b:	57                   	push   %edi
43419c:	8d 45 f0             	lea    -0x10(%ebp),%eax
43419f:	50                   	push   %eax
4341a0:	8b c6                	mov    %esi,%eax
4341a2:	e8 69 01 fd ff       	call   0x404310
4341a7:	50                   	push   %eax
4341a8:	8b c6                	mov    %esi,%eax
4341aa:	e8 61 03 fd ff       	call   0x404510
4341af:	50                   	push   %eax
4341b0:	8b c3                	mov    %ebx,%eax
4341b2:	e8 65 0b ff ff       	call   0x424d1c
4341b7:	50                   	push   %eax
4341b8:	e8 f7 25 fd ff       	call   0x4067b4
4341bd:	5f                   	pop    %edi
4341be:	5e                   	pop    %esi
4341bf:	5b                   	pop    %ebx
4341c0:	8b e5                	mov    %ebp,%esp
4341c2:	5d                   	pop    %ebp
4341c3:	c2 0c 00             	ret    $0xc
4341c6:	8b c0                	mov    %eax,%eax
4341c8:	55                   	push   %ebp
4341c9:	8b ec                	mov    %esp,%ebp
4341cb:	83 c4 c0             	add    $0xffffffc0,%esp
4341ce:	53                   	push   %ebx
4341cf:	56                   	push   %esi
4341d0:	57                   	push   %edi
4341d1:	8b d9                	mov    %ecx,%ebx
4341d3:	89 55 f8             	mov    %edx,-0x8(%ebp)
4341d6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4341d9:	8b 7d 0c             	mov    0xc(%ebp),%edi
4341dc:	8b 75 10             	mov    0x10(%ebp),%esi
4341df:	8b 45 08             	mov    0x8(%ebp),%eax
4341e2:	83 e0 02             	and    $0x2,%eax
4341e5:	83 f8 02             	cmp    $0x2,%eax
4341e8:	75 16                	jne    0x434200
4341ea:	80 7d 1c 00          	cmpb   $0x0,0x1c(%ebp)
4341ee:	75 06                	jne    0x4341f6
4341f0:	c6 45 1c 01          	movb   $0x1,0x1c(%ebp)
4341f4:	eb 0a                	jmp    0x434200
4341f6:	80 7d 1c 01          	cmpb   $0x1,0x1c(%ebp)
4341fa:	75 04                	jne    0x434200
4341fc:	c6 45 1c 00          	movb   $0x0,0x1c(%ebp)
434200:	8b 53 0c             	mov    0xc(%ebx),%edx
434203:	2b 53 04             	sub    0x4(%ebx),%edx
434206:	8b 43 08             	mov    0x8(%ebx),%eax
434209:	2b 03                	sub    (%ebx),%eax
43420b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
43420e:	e8 d9 2e fe ff       	call   0x4170ec
434213:	8b 45 fc             	mov    -0x4(%ebp),%eax
434216:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
43421a:	74 2e                	je     0x43424a
43421c:	8b 45 fc             	mov    -0x4(%ebp),%eax
43421f:	8b 40 04             	mov    0x4(%eax),%eax
434222:	8b 10                	mov    (%eax),%edx
434224:	ff 52 20             	call   *0x20(%edx)
434227:	50                   	push   %eax
434228:	8b 45 fc             	mov    -0x4(%ebp),%eax
43422b:	8b 40 04             	mov    0x4(%eax),%eax
43422e:	8b 10                	mov    (%eax),%edx
434230:	ff 52 2c             	call   *0x2c(%edx)
434233:	8b 55 fc             	mov    -0x4(%ebp),%edx
434236:	0f b6 52 20          	movzbl 0x20(%edx),%edx
43423a:	8b ca                	mov    %edx,%ecx
43423c:	99                   	cltd
43423d:	f7 f9                	idiv   %ecx
43423f:	8d 4d e0             	lea    -0x20(%ebp),%ecx
434242:	5a                   	pop    %edx
434243:	e8 a4 2e fe ff       	call   0x4170ec
434248:	eb 0c                	jmp    0x434256
43424a:	8d 4d e0             	lea    -0x20(%ebp),%ecx
43424d:	33 d2                	xor    %edx,%edx
43424f:	33 c0                	xor    %eax,%eax
434251:	e8 96 2e fe ff       	call   0x4170ec
434256:	8b 45 20             	mov    0x20(%ebp),%eax
434259:	e8 b2 00 fd ff       	call   0x404310
43425e:	85 c0                	test   %eax,%eax
434260:	7e 5e                	jle    0x4342c0
434262:	6a 00                	push   $0x0
434264:	8d 45 c0             	lea    -0x40(%ebp),%eax
434267:	50                   	push   %eax
434268:	8b 4b 08             	mov    0x8(%ebx),%ecx
43426b:	2b 0b                	sub    (%ebx),%ecx
43426d:	33 d2                	xor    %edx,%edx
43426f:	33 c0                	xor    %eax,%eax
434271:	e8 9e 2e fe ff       	call   0x417114
434276:	56                   	push   %esi
434277:	57                   	push   %edi
434278:	8d 75 c0             	lea    -0x40(%ebp),%esi
43427b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43427c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43427d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43427e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43427f:	5f                   	pop    %edi
434280:	5e                   	pop    %esi
434281:	8b 45 08             	mov    0x8(%ebp),%eax
434284:	0d 00 04 00 00       	or     $0x400,%eax
434289:	50                   	push   %eax
43428a:	57                   	push   %edi
43428b:	8b 45 20             	mov    0x20(%ebp),%eax
43428e:	e8 7d 00 fd ff       	call   0x404310
434293:	50                   	push   %eax
434294:	8b 45 20             	mov    0x20(%ebp),%eax
434297:	e8 74 02 fd ff       	call   0x404510
43429c:	50                   	push   %eax
43429d:	8b 45 f8             	mov    -0x8(%ebp),%eax
4342a0:	e8 77 0a ff ff       	call   0x424d1c
4342a5:	50                   	push   %eax
4342a6:	e8 09 25 fd ff       	call   0x4067b4
4342ab:	8b 57 0c             	mov    0xc(%edi),%edx
4342ae:	2b 57 04             	sub    0x4(%edi),%edx
4342b1:	8b 47 08             	mov    0x8(%edi),%eax
4342b4:	2b 07                	sub    (%edi),%eax
4342b6:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4342b9:	e8 2e 2e fe ff       	call   0x4170ec
4342be:	eb 28                	jmp    0x4342e8
4342c0:	6a 00                	push   $0x0
4342c2:	8d 45 c0             	lea    -0x40(%ebp),%eax
4342c5:	50                   	push   %eax
4342c6:	33 c9                	xor    %ecx,%ecx
4342c8:	33 d2                	xor    %edx,%edx
4342ca:	33 c0                	xor    %eax,%eax
4342cc:	e8 43 2e fe ff       	call   0x417114
4342d1:	56                   	push   %esi
4342d2:	57                   	push   %edi
4342d3:	8d 75 c0             	lea    -0x40(%ebp),%esi
4342d6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4342d7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4342d8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4342d9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4342da:	5f                   	pop    %edi
4342db:	5e                   	pop    %esi
4342dc:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4342df:	33 d2                	xor    %edx,%edx
4342e1:	33 c0                	xor    %eax,%eax
4342e3:	e8 04 2e fe ff       	call   0x4170ec
4342e8:	8a 45 1c             	mov    0x1c(%ebp),%al
4342eb:	2c 02                	sub    $0x2,%al
4342ed:	73 23                	jae    0x434312
4342ef:	8b 45 ec             	mov    -0x14(%ebp),%eax
4342f2:	8b d0                	mov    %eax,%edx
4342f4:	2b 55 e4             	sub    -0x1c(%ebp),%edx
4342f7:	42                   	inc    %edx
4342f8:	d1 fa                	sar    $1,%edx
4342fa:	79 03                	jns    0x4342ff
4342fc:	83 d2 00             	adc    $0x0,%edx
4342ff:	89 56 04             	mov    %edx,0x4(%esi)
434302:	2b 45 dc             	sub    -0x24(%ebp),%eax
434305:	40                   	inc    %eax
434306:	d1 f8                	sar    $1,%eax
434308:	79 03                	jns    0x43430d
43430a:	83 d0 00             	adc    $0x0,%eax
43430d:	89 45 f4             	mov    %eax,-0xc(%ebp)
434310:	eb 20                	jmp    0x434332
434312:	8b 45 e8             	mov    -0x18(%ebp),%eax
434315:	8b d0                	mov    %eax,%edx
434317:	2b 55 e0             	sub    -0x20(%ebp),%edx
43431a:	42                   	inc    %edx
43431b:	d1 fa                	sar    $1,%edx
43431d:	79 03                	jns    0x434322
43431f:	83 d2 00             	adc    $0x0,%edx
434322:	89 16                	mov    %edx,(%esi)
434324:	2b 45 d8             	sub    -0x28(%ebp),%eax
434327:	40                   	inc    %eax
434328:	d1 f8                	sar    $1,%eax
43432a:	79 03                	jns    0x43432f
43432c:	83 d0 00             	adc    $0x0,%eax
43432f:	89 45 f0             	mov    %eax,-0x10(%ebp)
434332:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
434336:	74 06                	je     0x43433e
434338:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
43433c:	75 05                	jne    0x434343
43433e:	33 c0                	xor    %eax,%eax
434340:	89 45 14             	mov    %eax,0x14(%ebp)
434343:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
434347:	0f 85 97 00 00 00    	jne    0x4343e4
43434d:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
434351:	75 4a                	jne    0x43439d
434353:	8d 4d d0             	lea    -0x30(%ebp),%ecx
434356:	8b 55 e4             	mov    -0x1c(%ebp),%edx
434359:	03 55 dc             	add    -0x24(%ebp),%edx
43435c:	8b 45 e0             	mov    -0x20(%ebp),%eax
43435f:	03 45 d8             	add    -0x28(%ebp),%eax
434362:	e8 85 2d fe ff       	call   0x4170ec
434367:	8a 45 1c             	mov    0x1c(%ebp),%al
43436a:	2c 02                	sub    $0x2,%al
43436c:	73 13                	jae    0x434381
43436e:	8b 45 e8             	mov    -0x18(%ebp),%eax
434371:	2b 45 d0             	sub    -0x30(%ebp),%eax
434374:	b9 03 00 00 00       	mov    $0x3,%ecx
434379:	99                   	cltd
43437a:	f7 f9                	idiv   %ecx
43437c:	89 45 18             	mov    %eax,0x18(%ebp)
43437f:	eb 11                	jmp    0x434392
434381:	8b 45 ec             	mov    -0x14(%ebp),%eax
434384:	2b 45 d4             	sub    -0x2c(%ebp),%eax
434387:	b9 03 00 00 00       	mov    $0x3,%ecx
43438c:	99                   	cltd
43438d:	f7 f9                	idiv   %ecx
43438f:	89 45 18             	mov    %eax,0x18(%ebp)
434392:	8b 45 18             	mov    0x18(%ebp),%eax
434395:	89 45 14             	mov    %eax,0x14(%ebp)
434398:	e9 96 00 00 00       	jmp    0x434433
43439d:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4343a0:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4343a3:	03 55 14             	add    0x14(%ebp),%edx
4343a6:	03 55 dc             	add    -0x24(%ebp),%edx
4343a9:	8b 45 e0             	mov    -0x20(%ebp),%eax
4343ac:	03 45 14             	add    0x14(%ebp),%eax
4343af:	03 45 d8             	add    -0x28(%ebp),%eax
4343b2:	e8 35 2d fe ff       	call   0x4170ec
4343b7:	8a 45 1c             	mov    0x1c(%ebp),%al
4343ba:	2c 02                	sub    $0x2,%al
4343bc:	73 13                	jae    0x4343d1
4343be:	8b 45 e8             	mov    -0x18(%ebp),%eax
4343c1:	2b 45 d0             	sub    -0x30(%ebp),%eax
4343c4:	40                   	inc    %eax