540e4f:	8d 46 54             	lea    0x54(%esi),%eax
540e52:	50                   	push   %eax
540e53:	e8 e2 b6 ed ff       	call   0x41c53a
540e58:	8d 46 24             	lea    0x24(%esi),%eax
540e5b:	50                   	push   %eax
540e5c:	e8 08 90 ef ff       	call   0x439e69
540e61:	83 c4 10             	add    $0x10,%esp
540e64:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
540e68:	75 22                	jne    0x540e8c
540e6a:	8b ce                	mov    %esi,%ecx
540e6c:	e8 14 20 ee ff       	call   0x422e85
540e71:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
540e76:	74 0e                	je     0x540e86
540e78:	68 50 01 00 00       	push   $0x150
540e7d:	56                   	push   %esi
540e7e:	e8 19 10 ec ff       	call   0x401e9c
540e83:	83 c4 08             	add    $0x8,%esp
540e86:	8b c6                	mov    %esi,%eax
540e88:	5e                   	pop    %esi
540e89:	c2 04 00             	ret    $0x4
540e8c:	e8 b5 8b ee ff       	call   0x429a46
540e91:	cc                   	int3
540e92:	cc                   	int3
540e93:	cc                   	int3
540e94:	cc                   	int3
540e95:	cc                   	int3
540e96:	cc                   	int3
540e97:	cc                   	int3
540e98:	cc                   	int3
540e99:	cc                   	int3
540e9a:	cc                   	int3
540e9b:	cc                   	int3
540e9c:	cc                   	int3
540e9d:	cc                   	int3
540e9e:	cc                   	int3
540e9f:	cc                   	int3
540ea0:	cc                   	int3
540ea1:	cc                   	int3
540ea2:	cc                   	int3
540ea3:	cc                   	int3
540ea4:	cc                   	int3
540ea5:	cc                   	int3
540ea6:	cc                   	int3
540ea7:	cc                   	int3
540ea8:	cc                   	int3
540ea9:	cc                   	int3
540eaa:	cc                   	int3
540eab:	cc                   	int3
540eac:	cc                   	int3
540ead:	cc                   	int3
540eae:	cc                   	int3
540eaf:	cc                   	int3
540eb0:	56                   	push   %esi
540eb1:	8b f1                	mov    %ecx,%esi
540eb3:	8d 4e 04             	lea    0x4(%esi),%ecx
540eb6:	e8 3d d6 ec ff       	call   0x40e4f8
540ebb:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
540ec0:	74 0e                	je     0x540ed0
540ec2:	68 1c 01 00 00       	push   $0x11c
540ec7:	56                   	push   %esi
540ec8:	e8 cf 0f ec ff       	call   0x401e9c
540ecd:	83 c4 08             	add    $0x8,%esp
540ed0:	8b c6                	mov    %esi,%eax
540ed2:	5e                   	pop    %esi
540ed3:	c2 04 00             	ret    $0x4
540ed6:	cc                   	int3
540ed7:	cc                   	int3
540ed8:	cc                   	int3
540ed9:	cc                   	int3
540eda:	cc                   	int3
540edb:	cc                   	int3
540edc:	cc                   	int3
540edd:	cc                   	int3
540ede:	cc                   	int3
540edf:	cc                   	int3
540ee0:	56                   	push   %esi
540ee1:	8b f1                	mov    %ecx,%esi
540ee3:	e8 7e 92 ef ff       	call   0x43a166
540ee8:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
540eed:	74 0e                	je     0x540efd
540eef:	68 50 01 00 00       	push   $0x150
540ef4:	56                   	push   %esi
540ef5:	e8 a2 0f ec ff       	call   0x401e9c
540efa:	83 c4 08             	add    $0x8,%esp
540efd:	8b c6                	mov    %esi,%eax
540eff:	5e                   	pop    %esi
540f00:	c2 04 00             	ret    $0x4
540f03:	cc                   	int3
540f04:	cc                   	int3
540f05:	cc                   	int3
540f06:	cc                   	int3
540f07:	cc                   	int3
540f08:	cc                   	int3
540f09:	cc                   	int3
540f0a:	cc                   	int3
540f0b:	cc                   	int3
540f0c:	cc                   	int3
540f0d:	cc                   	int3
540f0e:	cc                   	int3
540f0f:	cc                   	int3
540f10:	56                   	push   %esi
540f11:	8b f1                	mov    %ecx,%esi
540f13:	56                   	push   %esi
540f14:	e8 76 2a ed ff       	call   0x41398f
540f19:	83 c4 04             	add    $0x4,%esp
540f1c:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
540f21:	74 0b                	je     0x540f2e
540f23:	6a 58                	push   $0x58
540f25:	56                   	push   %esi
540f26:	e8 71 0f ec ff       	call   0x401e9c
540f2b:	83 c4 08             	add    $0x8,%esp
540f2e:	8b c6                	mov    %esi,%eax
540f30:	5e                   	pop    %esi
540f31:	c2 04 00             	ret    $0x4
540f34:	cc                   	int3
540f35:	cc                   	int3
540f36:	cc                   	int3
540f37:	cc                   	int3
540f38:	cc                   	int3
540f39:	cc                   	int3
540f3a:	cc                   	int3
540f3b:	cc                   	int3
540f3c:	cc                   	int3
540f3d:	cc                   	int3
540f3e:	cc                   	int3
540f3f:	cc                   	int3
540f40:	83 ec 08             	sub    $0x8,%esp
540f43:	56                   	push   %esi
540f44:	8d 44 24 18          	lea    0x18(%esp),%eax
540f48:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
540f4f:	00
540f50:	50                   	push   %eax
540f51:	ff 74 24 18          	push   0x18(%esp)
540f55:	8d 44 24 0c          	lea    0xc(%esp),%eax
540f59:	50                   	push   %eax
540f5a:	e8 d7 15 ec ff       	call   0x402536
540f5f:	8b 74 24 1c          	mov    0x1c(%esp),%esi
540f63:	83 c4 0c             	add    $0xc,%esp
540f66:	8b 08                	mov    (%eax),%ecx
540f68:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
540f6e:	89 0e                	mov    %ecx,(%esi)
540f70:	8b 4c 24 04          	mov    0x4(%esp),%ecx
540f74:	85 c9                	test   %ecx,%ecx
540f76:	74 06                	je     0x540f7e
540f78:	8b 11                	mov    (%ecx),%edx
540f7a:	6a 01                	push   $0x1
540f7c:	ff 12                	call   *(%edx)
540f7e:	8b c6                	mov    %esi,%eax
540f80:	5e                   	pop    %esi
540f81:	83 c4 08             	add    $0x8,%esp
540f84:	c3                   	ret
540f85:	cc                   	int3
540f86:	cc                   	int3
540f87:	cc                   	int3
540f88:	cc                   	int3
540f89:	cc                   	int3
540f8a:	cc                   	int3
540f8b:	cc                   	int3
540f8c:	cc                   	int3
540f8d:	cc                   	int3
540f8e:	cc                   	int3
540f8f:	cc                   	int3
540f90:	cc                   	int3
540f91:	cc                   	int3
540f92:	cc                   	int3
540f93:	cc                   	int3
540f94:	cc                   	int3
540f95:	cc                   	int3
540f96:	cc                   	int3
540f97:	cc                   	int3
540f98:	cc                   	int3
540f99:	cc                   	int3
540f9a:	cc                   	int3
540f9b:	cc                   	int3
540f9c:	cc                   	int3
540f9d:	cc                   	int3
540f9e:	cc                   	int3
540f9f:	cc                   	int3
540fa0:	55                   	push   %ebp
540fa1:	8d ac 24 38 7f ff ff 	lea    -0x80c8(%esp),%ebp
540fa8:	b8 c8 80 00 00       	mov    $0x80c8,%eax
540fad:	e8 e4 99 ee ff       	call   0x42a996
540fb2:	6a ff                	push   $0xffffffff
540fb4:	68 2e 03 b5 00       	push   $0xb5032e
540fb9:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
540fbf:	50                   	push   %eax
540fc0:	83 ec 30             	sub    $0x30,%esp
540fc3:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
540fc8:	33 c5                	xor    %ebp,%eax
540fca:	89 85 c4 80 00 00    	mov    %eax,0x80c4(%ebp)
540fd0:	53                   	push   %ebx
540fd1:	56                   	push   %esi
540fd2:	57                   	push   %edi
540fd3:	50                   	push   %eax
540fd4:	8d 45 f4             	lea    -0xc(%ebp),%eax
540fd7:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
540fdd:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
540fe0:	8b 85 d0 80 00 00    	mov    0x80d0(%ebp),%eax
540fe6:	6a 00                	push   $0x0
540fe8:	6a 01                	push   $0x1
540fea:	6a 02                	push   $0x2
540fec:	50                   	push   %eax
540fed:	e8 c7 57 ef ff       	call   0x4367b9
540ff2:	89 45 ec             	mov    %eax,-0x14(%ebp)
540ff5:	8d 45 ec             	lea    -0x14(%ebp),%eax
540ff8:	50                   	push   %eax
540ff9:	8d 45 e8             	lea    -0x18(%ebp),%eax
540ffc:	50                   	push   %eax
540ffd:	e8 e1 2e ee ff       	call   0x423ee3
541002:	8d 45 ec             	lea    -0x14(%ebp),%eax
541005:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
54100c:	50                   	push   %eax
54100d:	e8 e1 d3 ed ff       	call   0x41e3f3
541012:	83 c4 1c             	add    $0x1c,%esp
541015:	8b 7d ec             	mov    -0x14(%ebp),%edi
541018:	8d 85 c4 40 00 00    	lea    0x40c4(%ebp),%eax
54101e:	8b 75 e8             	mov    -0x18(%ebp),%esi
541021:	32 db                	xor    %bl,%bl
541023:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
541027:	88 5d f3             	mov    %bl,-0xd(%ebp)
54102a:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
541030:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
541037:	89 47 10             	mov    %eax,0x10(%edi)
54103a:	c7 47 14 00 40 00 00 	movl   $0x4000,0x14(%edi)
541041:	eb 03                	jmp    0x541046
541043:	8a 5d f3             	mov    -0xd(%ebp),%bl
541046:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
54104a:	75 2a                	jne    0x541076
54104c:	84 db                	test   %bl,%bl
54104e:	75 26                	jne    0x541076
541050:	8d 85 c4 00 00 00    	lea    0xc4(%ebp),%eax
541056:	89 07                	mov    %eax,(%edi)
541058:	8d 8d c4 00 00 00    	lea    0xc4(%ebp),%ecx
54105e:	8b 06                	mov    (%esi),%eax
541060:	68 00 40 00 00       	push   $0x4000
541065:	51                   	push   %ecx
541066:	8b ce                	mov    %esi,%ecx
541068:	ff 50 04             	call   *0x4(%eax)
54106b:	85 c0                	test   %eax,%eax
54106d:	89 47 04             	mov    %eax,0x4(%edi)
541070:	0f 94 c3             	sete   %bl
541073:	88 5d f3             	mov    %bl,-0xd(%ebp)
541076:	33 c0                	xor    %eax,%eax
541078:	b9 03 00 00 00       	mov    $0x3,%ecx
54107d:	84 db                	test   %bl,%bl
54107f:	0f 45 c1             	cmovne %ecx,%eax
541082:	50                   	push   %eax
541083:	57                   	push   %edi
541084:	e8 c6 93 ef ff       	call   0x43a44f
541089:	8b d8                	mov    %eax,%ebx
54108b:	83 c4 08             	add    $0x8,%esp
54108e:	8b 47 14             	mov    0x14(%edi),%eax
541091:	85 c0                	test   %eax,%eax
541093:	74 05                	je     0x54109a
541095:	83 fb 01             	cmp    $0x1,%ebx
541098:	75 2a                	jne    0x5410c4
54109a:	b9 00 40 00 00       	mov    $0x4000,%ecx
54109f:	2b c8                	sub    %eax,%ecx
5410a1:	8d 85 c4 40 00 00    	lea    0x40c4(%ebp),%eax
5410a7:	51                   	push   %ecx
5410a8:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
5410ab:	50                   	push   %eax
5410ac:	8d 49 0c             	lea    0xc(%ecx),%ecx
5410af:	e8 d7 00 ec ff       	call   0x40118b
5410b4:	8d 85 c4 40 00 00    	lea    0x40c4(%ebp),%eax
5410ba:	89 47 10             	mov    %eax,0x10(%edi)
5410bd:	c7 47 14 00 40 00 00 	movl   $0x4000,0x14(%edi)
5410c4:	85 db                	test   %ebx,%ebx
5410c6:	0f 84 77 ff ff ff    	je     0x541043
5410cc:	83 fb 01             	cmp    $0x1,%ebx
5410cf:	75 54                	jne    0x541125
5410d1:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
5410d8:	85 ff                	test   %edi,%edi
5410da:	74 11                	je     0x5410ed
5410dc:	57                   	push   %edi
5410dd:	e8 ad 28 ed ff       	call   0x41398f
5410e2:	6a 58                	push   $0x58
5410e4:	57                   	push   %edi
5410e5:	e8 b2 0d ec ff       	call   0x401e9c
5410ea:	83 c4 0c             	add    $0xc,%esp
5410ed:	8b ce                	mov    %esi,%ecx
5410ef:	e8 b0 84 ef ff       	call   0x4395a4
5410f4:	85 f6                	test   %esi,%esi
5410f6:	74 08                	je     0x541100
5410f8:	8b 06                	mov    (%esi),%eax
5410fa:	8b ce                	mov    %esi,%ecx
5410fc:	6a 01                	push   $0x1
5410fe:	ff 10                	call   *(%eax)
541100:	8b 4d f4             	mov    -0xc(%ebp),%ecx
541103:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
54110a:	59                   	pop    %ecx
54110b:	5f                   	pop    %edi
54110c:	5e                   	pop    %esi
54110d:	5b                   	pop    %ebx
54110e:	8b 8d c4 80 00 00    	mov    0x80c4(%ebp),%ecx
541114:	33 cd                	xor    %ebp,%ecx
541116:	e8 9b a6 ed ff       	call   0x41b7b6
54111b:	8d a5 c8 80 00 00    	lea    0x80c8(%ebp),%esp
541121:	5d                   	pop    %ebp
541122:	c2 04 00             	ret    $0x4
541125:	68 40 de bd 00       	push   $0xbdde40
54112a:	8d 8d ac 00 00 00    	lea    0xac(%ebp),%ecx
541130:	e8 95 5b ed ff       	call   0x416cca
541135:	68 f4 db bd 00       	push   $0xbddbf4
54113a:	8d 8d 94 00 00 00    	lea    0x94(%ebp),%ecx
541140:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
541144:	e8 81 5b ed ff       	call   0x416cca
541149:	68 bc db bd 00       	push   $0xbddbbc
54114e:	8d 4d 7c             	lea    0x7c(%ebp),%ecx
541151:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
541155:	e8 70 5b ed ff       	call   0x416cca
54115a:	68 fc de bd 00       	push   $0xbddefc
54115f:	8d 4d 64             	lea    0x64(%ebp),%ecx
541162:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
541166:	e8 5f 5b ed ff       	call   0x416cca
54116b:	6a 6f                	push   $0x6f
54116d:	8d 85 ac 00 00 00    	lea    0xac(%ebp),%eax
541173:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
541177:	50                   	push   %eax
541178:	8d 85 94 00 00 00    	lea    0x94(%ebp),%eax
54117e:	50                   	push   %eax
54117f:	8d 4d 00             	lea    0x0(%ebp),%ecx
541182:	e8 16 b9 ee ff       	call   0x42ca9d
541187:	8b f0                	mov    %eax,%esi
541189:	8d 45 4c             	lea    0x4c(%ebp),%eax
54118c:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
541190:	53                   	push   %ebx
541191:	50                   	push   %eax
541192:	e8 60 2c ef ff       	call   0x433df7
541197:	83 c4 08             	add    $0x8,%esp
54119a:	50                   	push   %eax
54119b:	8d 45 7c             	lea    0x7c(%ebp),%eax
54119e:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
5411a2:	50                   	push   %eax
5411a3:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
5411a6:	e8 7e 13 ef ff       	call   0x432529
5411ab:	56                   	push   %esi
5411ac:	50                   	push   %eax
5411ad:	8d 45 64             	lea    0x64(%ebp),%eax
5411b0:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
5411b4:	50                   	push   %eax
5411b5:	e8 ea 5e ec ff       	call   0x4070a4
5411ba:	cc                   	int3
5411bb:	cc                   	int3
5411bc:	cc                   	int3
5411bd:	cc                   	int3
5411be:	cc                   	int3
5411bf:	cc                   	int3
5411c0:	cc                   	int3
5411c1:	cc                   	int3