Function at 0x41903d
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
push ebx
push esi
push edi
mov dword [ebp - 0x28], 0xffffff15
mov eax, dword [0x423118]
and eax, 0x2ba
mov ecx, dword [0x423108]
sub ecx, eax
mov dword [0x423108], ecx
mov dword [ebp - 0x10], 0xfffffc8e
mov edx, dword [0x4230e8]
sub edx, dword [0x4230fc]
mov eax, dword [0x4230e8]
or eax, edx
mov dword [0x4230e8], eax
mov dword [ebp - 0x54], 0xfffffece
mov ecx, dword [0x4230f8]
and ecx, 0xffff5cce
mov dword [0x4230f8], ecx
mov dword [ebp - 0x5c], 0x1f4
mov edx, dword [0x4230e8]
or edx, 0xfffffe72
mov eax, dword [0x4230ec]
xor eax, edx
mov dword [0x4230ec], eax
mov dword [ebp - 0x24], 0xfffffdf6
mov ecx, dword [0x4230c8]
sub ecx, 0xaa
mov dword [0x4230c8], ecx
mov dword [ebp - 0x34], 0xfffffcfa
mov eax, dword [0x42310c]
cdq
mov ecx, 0x64417
idiv ecx
mov dword [0x42310c], eax
mov dword [ebp - 8], 0xfffffdbe
mov edx, dword [0x4230ec]
and edx, 0xfffffc08
mov eax, dword [0x4230e0]
or eax, edx
mov dword [0x4230e0], eax
mov dword [ebp - 0x18], 0xffffff49
mov ecx, dword [0x4230cc]
or ecx, 0x1b7
mov dword [0x4230cc], ecx
mov dword [ebp - 0xc], 0xfffffd18
mov edx, dword [0x4230f0]
imul edx, edx, 0xfffffcfe
mov eax, dword [0x4230c8]
sub eax, edx
mov dword [0x4230c8], eax
mov dword [ebp - 0x3c], 0xffffffa7
mov edx, dword [0x423114]
mov ecx, dword [0x423100]
sar edx, cl
mov eax, dword [0x4230cc]
xor eax, edx
mov dword [0x4230cc], eax
mov dword [ebp - 0x20], 0xfffffce7
mov ecx, dword [0x4230f8]
or ecx, 0xffffff7e
mov dword [0x4230f8], ecx
mov dword [ebp - 4], 0x92
mov edx, dword [0x4230d4]
xor edx, 0x290
mov eax, dword [0x423110]
sub eax, edx
mov dword [0x423110], eax
mov dword [ebp - 0x38], 0x3b3
mov ecx, dword [0x4230d8]
or ecx, 0xfffffd61
mov edx, dword [0x4230d8]
xor edx, ecx
mov dword [0x4230d8], edx
mov dword [ebp - 0x50], 0x13b
mov esi, dword [0x4230dc]
mov ecx, dword [0x4230c8]
shr esi, cl
add esi, 0x635d8
mov eax, dword [0x4230d8]
xor edx, edx
div esi
mov dword [0x4230d8], eax
mov dword [ebp - 0x30], 0xfffffea5
mov eax, dword [0x4230dc]
mov ecx, dword [0x4230e0]
shl eax, cl
mov ecx, dword [0x4230e4]
shr eax, cl
mov dword [0x423108], eax
mov dword [ebp - 0x48], 0xfffffc84
mov ecx, dword [0x423118]
shr ecx, 0x5a
mov edx, dword [0x4230d4]
sub edx, ecx
mov dword [0x4230d4], edx
mov ecx, dword [ebp - 0x30]
or cl, 0xbd
add ecx, 0x6a720
mov eax, dword [ebp - 0x5c]
xor edx, edx
div ecx
mov dword [ebp - 0x5c], eax
mov edx, 0xfffffeca
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x38]
add eax, edx
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
xor ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x38]
add edx, ecx
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x34]
or ecx, 0xfffffd3f
mov edx, dword [ebp - 4]
and edx, ecx
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x10]
add eax, 0x42
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x48]
sub ecx, 0x1ef
mov edx, dword [ebp - 0x10]
and edx, ecx
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0xc]
shr eax, 0x31
mov ecx, dword [ebp - 0x18]
or ecx, eax
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x24]
sub edx, dword [ebp - 0x24]
sar edx, 0xad
mov eax, dword [ebp - 0x54]
add eax, edx
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0xc]
or ecx, dword [ebp - 0xc]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x50]
or edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
sub eax, edx
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0xc]
imul ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x50]
sub edx, ecx
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x50]
or eax, 0x151
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x28]
and ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x10]
add edx, ecx
mov dword [ebp - 0x10], edx
mov esi, dword [ebp - 0x10]
add esi, 0x2ff
mov ecx, dword [ebp - 0x38]
shl esi, cl
sub esi, 0xcbdb8
mov eax, dword [ebp - 0x5c]
xor edx, edx
div esi
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0xc]
sub eax, 0x1d1
mov ecx, dword [ebp - 0x5c]
or ecx, eax
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0xc]
and edx, 0xfffffe2d
mov eax, dword [ebp - 8]
xor eax, edx
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x24]
add ecx, 0xea
mov edx, dword [ebp - 4]
shr edx, cl
mov eax, dword [ebp - 0x10]
sub eax, edx
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x30]
or ecx, dword [ebp - 0x48]
sub ecx, 0xb4aa0
mov eax, dword [ebp - 0x10]
xor edx, edx
div ecx
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x18]
and edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x48]
add eax, edx
mov dword [ebp - 0x48], eax
mov ecx, 0x2e1
sub ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x24]
sar edx, cl
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x5c]
and eax, dword [ebp - 4]
xor eax, 0xffffffd3
mov ecx, dword [ebp - 0x54]
and ecx, eax
mov dword [ebp - 0x54], ecx
mov ecx, dword [ebp - 0x24]
sub ecx, 0xaac26
mov eax, dword [ebp - 0xc]
xor edx, edx
div ecx
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0x5c]
shl edx, 0x12
mov ecx, dword [ebp - 8]
or ecx, edx
sub ecx, 0x76688
mov eax, dword [ebp - 4]
xor edx, edx
div ecx
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x54]
add ecx, 0xf7
or ecx, dword [ebp - 0x50]
sub ecx, 0x8ed28
mov eax, dword [ebp - 0x18]
cdq
idiv ecx
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x24]
shr edx, cl
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x54]
imul eax, eax, 0xffffff16
mov ecx, dword [ebp - 0x18]
sar eax, cl
mov ecx, dword [ebp - 0x24]
add ecx, eax
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x28]
or edx, 0xffffff72
mov eax, dword [ebp - 0x30]
xor eax, edx
mov dword [ebp - 0x30], eax
mov edx, 0xffffff3c
mov ecx, dword [ebp - 0x54]
shl edx, cl
mov eax, dword [ebp - 0x54]
sub eax, edx
mov dword [ebp - 0x54], eax
mov edx, 0x11e
mov ecx, dword [ebp - 0x3c]
sar edx, cl
xor edx, 0xfffffe49
mov eax, dword [ebp - 0x3c]
or eax, edx
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x24]
or ecx, 0xfffffe74
mov edx, dword [ebp - 0x30]
or edx, ecx
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x3c]
sub ecx, 0xf25aa
mov eax, dword [ebp - 0x3c]
xor edx, edx
div ecx
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x24]
imul edx, dword [ebp - 0x34]
add edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
or eax, edx
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x10]
and ecx, dword [ebp - 4]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x48]
and edx, 0xffffff9f
mov eax, dword [ebp - 0x28]
or eax, edx
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0xc]
and ecx, dword [ebp - 0x38]
sub ecx, 0x64190
mov eax, dword [ebp - 0x28]
xor edx, edx
div ecx
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x3c]
imul edx, edx, 0xfffffe8d
mov eax, dword [ebp - 0x34]
or eax, edx
mov dword [ebp - 0x34], eax
mov esi, 0xfffffd69
mov ecx, dword [ebp - 0x28]
sar esi, cl
shl esi, 0xb3
sub esi, 0x57670
mov eax, dword [ebp - 0x20]
xor edx, edx
div esi
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x34]
and ecx, dword [ebp - 0x10]
sub ecx, 0xb5658
mov eax, dword [ebp - 0x3c]
xor edx, edx
div ecx
mov dword [ebp - 0x3c], eax
mov esi, 0xfffffd0b
mov ecx, dword [ebp - 0x10]
sar esi, cl
sub esi, 0xce4c8
mov eax, dword [ebp - 0x18]
cdq
idiv esi
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x18]
and edx, 0xfffffe1f
mov eax, dword [ebp - 0x50]
sub eax, edx
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x54]
add ecx, 0x101
mov dword [ebp - 0x54], ecx
mov ecx, dword [ebp - 0x20]
sub ecx, 0x3b3
mov edx, dword [ebp - 0x34]
shr edx, cl
mov eax, dword [ebp - 0x24]
and eax, edx
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x34]
xor ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x20]
xor edx, ecx
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
sar eax, cl
mov ecx, dword [ebp - 0x3c]
sar eax, cl
mov ecx, dword [ebp - 0x5c]
or ecx, eax
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0xc]
sub edx, 0x294
shr edx, 0xf3
mov eax, dword [ebp - 0x24]
xor eax, edx
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x50]
add edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x5c]
shl edx, cl
mov eax, dword [ebp - 0x28]
and eax, edx
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
and edx, ecx
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x18]
imul eax, eax, 0xffffffda
and eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
add ecx, eax
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x5c]
shl edx, cl
mov ecx, dword [ebp - 0x28]
shr edx, cl
mov eax, dword [ebp - 0x20]
add eax, edx
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x5c]
imul ecx, dword [ebp - 0x28]
xor ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x54]
xor edx, ecx
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x50]
add eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x30]
and ecx, eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x1c], 0
mov edx, dword [ebp - 0x34]
xor edx, 0x3f4
mov eax, dword [ebp - 0x10]
or eax, edx
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x20]
sub ecx, 0x3ac
shr ecx, 0xc4
mov edx, dword [ebp - 0x18]
and edx, ecx
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x50]
xor eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x48]
add ecx, eax
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x34]
sub edx, dword [ebp - 0x5c]
xor edx, 0x32f
mov eax, dword [ebp - 0x48]
xor eax, edx
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0xc]
xor ecx, 0xfffffdf1
mov edx, dword [ebp - 8]
and edx, ecx
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x54]
add eax, 0x210
mov ecx, dword [ebp - 0x5c]
sub ecx, eax
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x34]
lea ecx, [eax + edx + 0xb9]
mov edx, dword [ebp - 0x34]
xor edx, ecx
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x3c]
sub eax, 0x78
mov ecx, dword [ebp - 0x18]
or ecx, eax
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x5c]
xor edx, 0xfffffa8e
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x28]
and eax, 0x74
mov ecx, dword [ebp - 0x3c]
xor ecx, eax
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x18]
imul edx, edx, 0x187
mov eax, dword [ebp - 0xc]
sub eax, edx
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x30]
sar ecx, 0x9c
mov edx, dword [ebp - 0x3c]
add edx, ecx
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x3c]
or eax, 0x120
mov ecx, dword [ebp - 0x24]
add ecx, eax
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0xc]
imul edx, dword [ebp - 0x54]
mov eax, dword [ebp - 8]
add eax, edx
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x3c]
add ecx, 0x24c
and ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 8]
add edx, ecx
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
xor ecx, eax
mov dword [ebp - 0x24], ecx
mov edx, 0xffffffbf
sub edx, dword [ebp - 0x28]
mov eax, dword [ebp - 4]
and eax, edx
mov dword [ebp - 4], eax
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x48]
shr edx, cl
mov eax, dword [ebp - 0x48]
add eax, edx
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x5c]
sub ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
xor edx, ecx
mov eax, dword [ebp - 0x3c]
sub eax, edx
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x28]
or ecx, 0x23d
mov edx, dword [ebp - 0x30]
xor edx, ecx
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x28]
xor eax, 0xfffffe29
mov dword [ebp - 0x28], eax
mov ecx, 0xfffffc22
sub ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x18]
or edx, ecx
mov dword [ebp - 0x18], edx
mov eax, 0xfffffe18
mov ecx, dword [ebp - 0x50]
shl eax, cl
sar eax, 0xa7
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x28]
xor ecx, 0x34d
mov edx, dword [ebp - 0x18]
or edx, ecx
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x48]
imul eax, eax, 0xfffffec9
mov ecx, dword [ebp - 0x18]
add ecx, eax
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x54]
imul edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
or eax, edx
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x34]
sar edx, cl
mov eax, dword [ebp - 8]
and eax, edx
mov ecx, dword [ebp - 0xc]
or ecx, eax
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x34]
imul edx, edx, 0xfffffd9a
sub edx, 0x2c0
mov eax, dword [ebp - 0x24]
sub eax, edx
mov dword [ebp - 0x24], eax
mov esi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x20]
shr esi, cl
or esi, dword [ebp - 0x5c]
sub esi, 0x73f78
mov eax, dword [ebp - 0x20]
xor edx, edx
div esi
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x34b
mov edx, dword [ebp - 0x5c]
xor edx, ecx
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x54]
imul eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x50]
or ecx, eax
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x54]
imul edx, edx, 0xfffffd1a
mov ecx, dword [ebp - 4]
shl edx, cl
mov eax, dword [ebp - 0x54]
add eax, edx
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x20]
and ecx, 0x219
sub ecx, 0xd2f00
mov eax, dword [ebp - 0x54]
xor edx, edx
div ecx
mov dword [ebp - 0x54], eax
mov edx, dword [ebp - 4]
imul edx, edx, 0x351
mov ecx, dword [ebp - 0xc]
shr edx, cl
mov eax, dword [ebp - 0x10]
and eax, edx
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x10]
imul edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x18]
shl edx, cl
mov eax, dword [ebp - 0x48]
xor eax, edx
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x30]
sub ecx, dword [ebp - 0x20]
and ecx, 0x3ed
mov edx, dword [ebp - 4]
add edx, ecx
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x28]
shl eax, cl
mov ecx, dword [ebp - 4]
sub ecx, eax
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 8]
imul edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
sub eax, edx
mov ecx, dword [ebp - 0x34]
sub ecx, eax
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x54]
add edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x38]
shl edx, cl
mov eax, dword [ebp - 8]
or eax, edx
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x24]
add ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x10]
xor edx, ecx
mov eax, dword [ebp - 0x24]
or eax, edx
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x18]
xor ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
add edx, ecx
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
and ecx, dword [ebp - 0x34]
xor ecx, dword [ebp - 4]
sub ecx, 0x5c490
mov eax, dword [ebp - 0x54]
xor edx, edx
div ecx
mov dword [ebp - 0x54], eax
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x38]
sar esi, cl
add esi, 0x67840
mov eax, dword [ebp - 8]
cdq
idiv esi
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
shr edx, cl
mov ecx, dword [ebp - 0x50]
shl edx, cl
mov eax, dword [ebp - 0x10]
add eax, edx
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x50]
shl edx, cl
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x3c]
and ecx, eax
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x24]
imul edx, edx, 0xffffff80
mov eax, dword [ebp - 8]
add eax, edx
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x34]
imul ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x54]
or edx, ecx
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x48]
imul eax, eax, 0xffffff93
mov ecx, dword [ebp - 0x24]
xor ecx, eax
mov edx, dword [ebp - 0x54]
add edx, ecx
mov dword [ebp - 0x54], edx
mov ecx, dword [ebp - 0x24]
add ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x3c]
shl eax, cl
mov ecx, dword [ebp - 0x3c]
xor ecx, eax
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0xc]
or ecx, dword [ebp - 0x20]
sub ecx, 0xd61c8
mov eax, dword [ebp - 0x50]
xor edx, edx
div ecx
mov dword [ebp - 0x50], eax
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x18]
shr edx, cl
mov eax, dword [ebp - 0x18]
add eax, edx
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x5c]
xor ecx, dword [ebp - 0x28]
or ecx, 0x167
mov edx, dword [ebp - 4]
or edx, ecx
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0xc]
xor edx, edx
mov ecx, 0xd3030
div ecx
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0x48]
imul edx, edx, 0xfffffcc3
mov eax, dword [ebp - 0x38]
xor eax, edx
mov ecx, dword [ebp - 0xc]
or ecx, eax
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x10]
sub edx, 0x3a
mov eax, dword [ebp - 0xc]
or eax, edx
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x48]
and ecx, 0x363
mov edx, dword [ebp - 0x24]
or edx, ecx
mov dword [ebp - 0x24], edx
mov eax, 0xfffffda1
mov ecx, dword [ebp - 0x38]
sar eax, cl
xor eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 4]
or ecx, eax
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x5c]
and edx, 0xfffffdd2
mov eax, dword [ebp - 0x10]
xor eax, edx
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 4]
imul ecx, ecx, 0x3c0
mov edx, dword [ebp - 0x50]
and edx, ecx
mov eax, dword [ebp - 0x28]
add eax, edx
mov dword [ebp - 0x28], eax
mov edx, 0xfffffca9
mov ecx, dword [ebp - 0x3c]
sar edx, cl
or edx, dword [ebp - 8]
mov eax, dword [ebp - 0x50]
add eax, edx
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x54]
xor ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x54]
xor edx, ecx
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0xc]
and eax, dword [ebp - 0x10]
xor eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x48]
or ecx, eax
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 4]
imul ecx, ecx, 0x2f1
mov edx, dword [ebp - 0x10]
shr edx, cl
mov eax, dword [ebp - 0x28]
sub eax, edx
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x50]
shl edx, cl
xor edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
add eax, edx
mov dword [ebp - 0x30], eax
mov ecx, 0xfffffc6f
sub ecx, dword [ebp - 4]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
and ecx, dword [ebp - 0x34]
sub ecx, 0x468e8
mov eax, dword [ebp - 0x5c]
xor edx, edx
div ecx
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x28]
sub ecx, dword [ebp - 0x30]
mov edx, 0xffffffd5
sar edx, cl
mov eax, dword [ebp - 0x38]
or eax, edx
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x5c]
sub ecx, 0x508
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 4]
xor edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x3c]
sub eax, edx
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x54]
add ecx, 0x2f8
mov edx, dword [ebp - 0x28]
xor edx, ecx
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x34]
shr eax, 0xe5
mov ecx, dword [ebp - 0x24]
and ecx, eax
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x10]
sub edx, 0x67
or edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x3c]
sub eax, edx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x54]
cdq
mov ecx, 0xea60b
idiv ecx
mov dword [ebp - 0x54], eax
mov edx, dword [ebp - 0x20]
add edx, dword [ebp - 0x24]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x18]
shl eax, 0xc8
xor eax, 0xfffffd0e
mov ecx, dword [ebp - 0x30]
or ecx, eax
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x24]
xor edx, dword [ebp - 0x38]
or edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x3c]
add eax, edx
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 4]
shl edx, cl
mov eax, dword [ebp - 8]
or eax, edx
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x50]
add ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x54]
xor edx, ecx
mov eax, dword [ebp - 8]
and eax, edx
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x5c]
imul ecx, ecx, 0xfffffd3c
xor ecx, dword [ebp - 0x34]
add ecx, 0xae510
mov eax, dword [ebp - 0x3c]
xor edx, edx
div ecx
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x38]
sub edx, 0x25
mov eax, dword [ebp - 0x38]
or eax, edx
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x10]
sub ecx, 0x32c
mov edx, dword [ebp - 0x54]
xor edx, ecx
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 8]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x28]
shl ecx, 0x9d
or ecx, 0xffffffcb
mov edx, dword [ebp - 0x34]
and edx, ecx
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x48]
or ecx, eax
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x18]
sub edx, dword [ebp - 4]
mov eax, dword [ebp - 0x30]
and eax, edx
mov ecx, dword [ebp - 0x54]
or ecx, eax
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x28]
imul edx, edx, 0xfffffe1c
mov eax, dword [ebp - 0x5c]
sub eax, edx
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x48]
and ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0xc]
or edx, ecx
mov eax, dword [ebp - 0x38]
and eax, edx
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
lea ecx, [ecx + edx - 0x45178]
mov eax, dword [ebp - 0x48]
xor edx, edx
div ecx
mov dword [ebp - 0x48], eax
mov edx, dword [ebp - 4]
sub edx, 0x163
mov eax, dword [ebp - 0x24]
sub eax, edx
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 4]
or ecx, dword [ebp - 0x30]
sub ecx, 0x7f328
mov eax, dword [ebp - 0x20]
xor edx, edx
div ecx
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0xc]
imul ecx, ecx, 0xfffffc13
mov esi, dword [ebp - 0xc]
shr esi, cl
sub esi, 0x56ea0
mov eax, dword [ebp - 0x5c]
xor edx, edx
div esi
mov dword [ebp - 0x5c], eax
mov edx, dword [ebp - 0x10]
shl edx, 0xd1
mov eax, dword [ebp - 0x30]
sub eax, edx
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x48]
xor ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x34]
and edx, ecx
mov dword [ebp - 0x34], edx
mov eax, 0xfffffda4
sub eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x20]
and ecx, eax
mov dword [ebp - 0x20], ecx
mov edx, 0x2b9
mov ecx, dword [ebp - 0x30]
shl edx, cl
mov eax, dword [ebp - 4]
or eax, edx
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
and ecx, dword [ebp - 8]
mov dword [ebp - 8], ecx
mov edx, 0xfffffc53
sub edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 4]
shl edx, cl
mov eax, dword [ebp - 0x3c]
and eax, edx
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x28]
sub ecx, 0x1fa
sub ecx, dword [ebp - 0x18]
add ecx, 0x20f58
mov eax, dword [ebp - 0x30]
cdq
idiv ecx
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 8]
imul edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x50]
xor eax, edx
mov ecx, dword [ebp - 0xc]
or ecx, eax
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 8]
cdq
mov ecx, 0xfff6f932
idiv ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 4]
imul edx, edx, 0xfffffd84
mov eax, dword [ebp - 0x5c]
add eax, edx
mov ecx, dword [ebp - 0x28]
xor ecx, eax
mov dword [ebp - 0x28], ecx
mov eax, 0x30
mov eax, dword fs:[eax]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x38]
sub ecx, dword [ebp - 0x10]
and ecx, dword [ebp - 0x10]
sub ecx, 0x6e1b8
mov eax, dword [ebp - 0x38]
xor edx, edx
div ecx
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x20]
and edx, 0xfffffd03
mov eax, dword [ebp - 0xc]
add eax, edx
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
shl edx, cl
mov eax, dword [ebp - 0x30]
add eax, edx
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
add ecx, 0x7ea0e
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 8]
shl edx, 0x43
or edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x54]
or eax, edx
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x5c]
xor ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 4]
xor edx, ecx
mov dword [ebp - 4], edx
mov ecx, dword [ebp - 0x54]
imul ecx, ecx, 0x144
mov eax, dword [ebp - 0x48]
shl eax, cl
mov ecx, dword [ebp - 0x48]
add ecx, eax
mov dword [ebp - 0x48], ecx
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 4]
sar esi, cl
sub esi, 0xd9878
mov eax, dword [ebp - 0x24]
cdq
idiv esi
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x34]
add edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x5c]
and eax, edx
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x34]
add ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0xc]
sub edx, 0x6c6
mov eax, dword [ebp - 0x5c]
sub eax, edx
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0xc]
add edx, 0x14
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x3c]
add eax, dword [ebp - 0x38]
or eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x34]
sub ecx, eax
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x50]
and dl, 0xf
mov eax, dword [ebp - 0x20]
xor eax, edx
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x48]
sar ecx, 0x4e
mov edx, dword [ebp - 0x24]
or edx, ecx
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0xc]
shr ecx, 0xa1
sub ecx, 0xae510
mov eax, dword [ebp - 0x28]
xor edx, edx
div ecx
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x38]
xor edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
sub eax, edx
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x30]
sub ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x10]
shr edx, cl
mov eax, dword [ebp - 0x28]
add eax, edx
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x28]
shl edx, cl
xor edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x50]
xor eax, edx
mov dword [ebp - 0x50], eax
mov edx, dword [ebp - 0x50]
add edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x30]
shr edx, cl
mov eax, dword [ebp - 0x30]
and eax, edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x5c], 0x2ce
mov ecx, dword [ebp - 8]
or ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 4]
xor edx, ecx
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x3c]
sub eax, 0x270
mov ecx, dword [ebp - 0x50]
or ecx, eax
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x30]
sar edx, 0xc4
mov eax, dword [ebp - 0x28]
xor eax, edx
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x30]
and edx, ecx
mov dword [ebp - 0x30], edx
mov eax, 0xfffffc91
sub eax, dword [ebp - 0x50]
add eax, dword [ebp - 4]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x3c]
sub ecx, 0x1e5
and ecx, 0xfffffc8a
mov edx, dword [ebp - 8]
sub edx, ecx
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x50]
xor eax, 0xfffffe13
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0xc]
imul ecx, ecx, 0x1c5
imul ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x38]
or edx, ecx
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x2f3
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov edx, dword [ebp - 0x28]
xor edx, ecx
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 8]
shl eax, cl
mov ecx, dword [ebp - 0x38]
or ecx, eax
mov edx, dword [ebp - 0x3c]
add edx, ecx
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x18]
xor ecx, eax
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 4]
imul eax, eax, 0xfffffed6
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0xc]
add edx, 0x36966
mov eax, dword [ebp - 0x54]
and eax, edx
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x54]
add ecx, 0x263
mov edx, dword [ebp - 0x38]
or edx, ecx
mov eax, dword [ebp - 8]
sub eax, edx
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x48]
and ecx, 0xc7
mov edx, dword [ebp - 0x18]
and edx, ecx
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x10]
add eax, 0x1e1
xor eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x10]
sub ecx, eax
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x48]
and edx, dword [ebp - 0x5c]
or edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x24]
sub eax, edx
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x30]
add ecx, 0x379
and ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x34]
xor edx, ecx
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x20]
xor eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x34]
sub ecx, eax
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x58]
mov eax, dword [edx]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x34]
add ecx, 0x69f
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 8]
shr edx, cl
mov eax, dword [ebp - 0x3c]
or eax, edx
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x34]
or ecx, 0x193
mov edx, dword [ebp - 0x10]
add edx, ecx
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x38]
xor eax, 0x35f
mov ecx, dword [ebp - 0x34]
or ecx, eax
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x18]
sub edx, 0x2fe
and edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x20]
xor eax, edx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 0xfff39538
idiv ecx
mov dword [ebp - 0x24], eax
mov esi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x20]
shl esi, cl
mov ecx, dword [ebp - 0x10]
shl esi, cl
add esi, 0x9a0d8
mov eax, dword [ebp - 8]
xor edx, edx
div esi
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x38]
xor edx, 0xfffffe07
xor edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0xc]
xor eax, edx
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 4]
sub ecx, 0xa7
mov edx, dword [ebp - 8]
xor edx, ecx
mov eax, dword [ebp - 4]
and eax, edx
mov dword [ebp - 4], eax
mov edx, 0xfffffdb2
mov ecx, dword [ebp - 8]
sar edx, cl
mov eax, dword [ebp - 0x50]
and eax, edx
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x10]
xor ecx, 0x127
xor ecx, 0x2be
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x50]
xor edx, 0xfffffc82
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x34]
add eax, 0x229
or eax, 0xfffffe7a
mov dword [ebp - 4], eax
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x5c]
shl edx, cl
mov ecx, dword [ebp - 8]
shl edx, cl
mov eax, dword [ebp - 0xc]
add eax, edx
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
imul ecx, ecx, 0xfffffd83
imul ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x34]
or edx, ecx
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x50]
or eax, 0xfffffe6f
mov ecx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x54]
or ecx, dword [ebp - 0x10]
or ecx, dword [ebp - 0x3c]
add ecx, 0xd4288
mov eax, dword [ebp - 0xc]
xor edx, edx
div ecx
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0x5c]
shl edx, 0x6b
mov eax, dword [ebp - 0x38]
or eax, edx
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 8]
sub ecx, 0x3340c
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
imul edx, edx, 0xfffffe5d
and edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
and eax, edx
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x38]
sub ecx, 0x42f
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x38]
imul eax, eax, 0xfffffd0c
mov ecx, dword [ebp - 0x38]
sar eax, cl
mov ecx, dword [ebp - 8]
sub ecx, eax
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
xor edx, 0xffffffcf
mov eax, dword [ebp - 0x20]
xor eax, edx
mov dword [ebp - 0x20], eax
mov edx, 0xfffffd35
mov ecx, dword [ebp - 0x18]
sar edx, cl
mov ecx, dword [ebp - 0x20]
sar edx, cl
mov eax, dword [ebp - 0x38]
sub eax, edx
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0xc]
sub ecx, dword [ebp - 0x3c]
or ecx, 0x21
mov dword [ebp - 0x5c], ecx
mov edx, 0xfffffc31
sub edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
and eax, edx
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
imul ecx, dword [ebp - 0x34]
and ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x50]
imul edx, edx, 0xffffffc1
mov eax, dword [ebp - 0x18]
and eax, edx
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x5c]
imul ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
shl edx, cl
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x30]
shl eax, cl
mov ecx, dword [ebp - 0x28]
add ecx, eax
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 4]
add edx, dword [ebp - 4]
or edx, dword [ebp - 0x48]
mov eax, dword [ebp - 8]
add eax, edx
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x18]
xor ecx, 0x3c1
mov edx, dword [ebp - 0x18]
or edx, ecx
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x50]
xor eax, 0xfffffcfd
xor eax, 0x34
mov ecx, dword [ebp - 0x28]
xor ecx, eax
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x48]
imul edx, dword [ebp - 0x30]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0xc]
or eax, 0xffffff67
mov ecx, dword [ebp - 0xc]
and ecx, eax
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x28]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x34]
imul ecx, dword [ebp - 0x20]
and ecx, 0x370
mov edx, dword [ebp - 0x3c]
sub edx, ecx
mov dword [ebp - 0x3c], edx
mov esi, 0x326
mov ecx, dword [ebp - 0xc]
sar esi, cl
and esi, dword [ebp - 0x10]
sub esi, 0xbf68
mov eax, dword [ebp - 4]
xor edx, edx
div esi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x18]
xor eax, 0xfffffc7d
mov ecx, dword [ebp - 0x28]
sub ecx, eax
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x24]
or edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
add eax, edx
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x20]
xor ecx, 0x50
mov edx, dword [ebp - 8]
sub edx, ecx
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x30]
or eax, 0xfffffd6f
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x28]
or ecx, 0xffffff68
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
cdq
mov ecx, 0xfff5b766
idiv ecx
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x20]
or edx, dword [ebp - 0x38]
mov eax, dword [ebp - 4]
or eax, edx
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x30]
sar ecx, 0xc1
mov edx, dword [ebp - 0x30]
xor edx, ecx
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x48]
imul eax, dword [ebp - 0x34]
shr eax, 0x9c
mov ecx, dword [ebp - 0x48]
add ecx, eax
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x5c]
sub edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
shr edx, cl
mov eax, dword [ebp - 0x10]
and eax, edx
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x3c]
xor ecx, 0xfffffe71
mov edx, dword [ebp - 0x30]
and edx, ecx
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x50]
shl eax, cl
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
shl edx, cl
or edx, 0x12c
mov eax, dword [ebp - 0x10]
add eax, edx
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x30]
imul ecx, ecx, 0xfffffd08
mov edx, dword [ebp - 0x34]
and edx, ecx
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x38]
imul eax, eax, 0xfffffef6
imul eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x50]
xor ecx, eax
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x38]
add edx, 0x119
or edx, 0x217
mov eax, dword [ebp - 0x50]
and eax, edx
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x28]
or ecx, 0x12d
mov edx, dword [ebp - 0x50]
xor edx, ecx
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x24]
shl eax, 0x6e
mov ecx, dword [ebp - 0x3c]
or ecx, eax
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x54]
xor edx, dword [ebp - 0x48]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 8]
cdq
mov ecx, 0xfff9ac90
idiv ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xc]
xor edx, 0xffffffeb
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x24]
and eax, 0x29c48
mov ecx, dword [ebp - 0x50]
or ecx, eax
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x34]
sub edx, 0x145
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x5c]
xor eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x50]
xor ecx, eax
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x10]
shr edx, 0xea
mov ecx, dword [ebp - 0xc]
shl edx, cl
mov eax, dword [ebp - 0x34]
and eax, edx
mov dword [ebp - 0x34], eax
mov edx, 0xfff3aa32
mov ecx, dword [ebp - 0x30]
shl edx, cl
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x3c]
sub eax, 1
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x20]
imul ecx, ecx, 0x196
mov edx, dword [ebp - 0x10]
and edx, ecx
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x5c]
imul eax, dword [ebp - 0x30]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x34]
and ecx, 0x1bf
or ecx, 0x29f
mov edx, dword [ebp - 0x20]
and edx, ecx
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x24]
sub ecx, 0xeb59b
mov eax, dword [ebp - 0x20]
xor edx, edx
div ecx
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x50]
imul edx, dword [ebp - 0x50]
sub edx, 0x36e
mov eax, dword [ebp - 0x20]
xor eax, edx
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
sub ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x5c]
sub edx, ecx
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x18]
imul eax, eax, 0xfffffe74
mov ecx, dword [ebp - 0x24]
or ecx, eax
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x18]
imul edx, edx, 0xfffffebb
sub edx, 0x233
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x38]
imul eax, eax, 0x2a8
mov ecx, dword [ebp - 0x20]
and ecx, eax
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x54]
and eax, edx
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x50]
and ecx, dword [ebp - 0x20]
add ecx, 0x72038
mov eax, dword [ebp - 0x24]
xor edx, edx
div ecx
mov dword [ebp - 0x24], eax
mov edx, 0xffffff41
sub edx, dword [ebp - 0x50]
add edx, 0xbc
mov eax, dword [ebp - 8]
or eax, edx
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x3c]
imul ecx, ecx, 0xfffffc8c
sub ecx, 0x2d0
mov edx, dword [ebp - 0x5c]
sub edx, ecx
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x54]
sar eax, cl
mov ecx, dword [ebp - 0x48]
add ecx, eax
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 0x50]
mov edx, 0xfffffecf
shl edx, cl
mov eax, dword [ebp - 0x24]
sub eax, edx
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x38]
sub ecx, 0xa8
and ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x48]
or edx, ecx
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x30]
and eax, 0xfffffc97
mov ecx, dword [ebp - 0x34]
and ecx, eax
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x5c]
or ecx, dword [ebp - 0x48]
sub ecx, 0x9ac90
mov eax, dword [ebp - 0x30]
xor edx, edx
div ecx
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0xc]
and edx, dword [ebp - 0x20]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x10]
or eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x30]
or ecx, eax
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x48]
imul edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x24]
or eax, edx
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x54]
sub ecx, 0x272
mov edx, dword [ebp - 0x28]
and edx, ecx
mov eax, dword [ebp - 8]
or eax, edx
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x10]
imul ecx, ecx, 0x126
or ecx, 0xfffffe52
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x20]
sub edx, dword [ebp - 0x54]
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x50]
or eax, 0xffffff3d
mov ecx, dword [ebp - 0x20]
sub ecx, eax
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x14]
shl edx, 3
mov eax, dword [ebp - 0x14]
shr eax, 0x1d
or edx, eax
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 4]
or ecx, 0x2f9
mov edx, dword [ebp - 0xc]
xor edx, ecx
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x34]
or eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0xc]
or ecx, eax
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x24]
imul edx, edx, 0xfffffd64
and edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x30]
or eax, edx
mov dword [ebp - 0x30], eax
mov esi, 0xfffffecb
mov ecx, dword [ebp - 0x3c]
shl esi, cl
sub esi, 0xbd740
mov eax, dword [ebp - 8]
cdq
idiv esi
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x34]
imul ecx, ecx, 0xfffffd43
mov edx, 0xfffffd75
sub edx, ecx
mov eax, dword [ebp - 0x3c]
xor eax, edx
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x18]
and ecx, 0x96
mov edx, dword [ebp - 0x34]
and edx, ecx
mov dword [ebp - 0x34], edx
mov eax, 0xfffffe35
sub eax, dword [ebp - 4]
add eax, dword [ebp - 0x18]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x3c]
imul ecx, dword [ebp - 0x20]
shl ecx, 0x3d
mov edx, dword [ebp - 0x3c]
xor edx, ecx
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x50]
shl eax, 0x3f
mov ecx, dword [ebp - 0x30]
or ecx, eax
mov edx, dword [ebp - 0x34]
or edx, ecx
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0x34]
imul ecx, ecx, 0xfffffef9
mov eax, 0xfffffc17
shl eax, cl
mov ecx, dword [ebp - 0x50]
or ecx, eax
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x18]
sar edx, 0x71
and edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x5c]
xor eax, edx
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x20]
imul ecx, ecx, 0xfffffcd8
mov edx, dword [ebp - 0x18]
add edx, ecx
mov dword [ebp - 0x18], edx
mov ecx, dword [ebp - 0x50]
imul ecx, dword [ebp - 0x30]
or ecx, dword [ebp - 8]
sub ecx, 0x877f8
mov eax, dword [ebp - 0xc]
xor edx, edx
div ecx
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0x54]
sub edx, dword [ebp - 0xc]
sub edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
sub eax, edx
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x48]
add edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x48]
shl edx, cl
mov eax, dword [ebp - 0x18]
add eax, edx
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x28]
sar edx, cl
mov eax, dword [ebp - 8]
or eax, edx
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0xc]
or ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x24]
xor edx, ecx
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x24]
sub ecx, eax
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x34]
add edx, 0x510
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x20]
shr eax, cl
mov ecx, dword [ebp - 0x28]
sub ecx, eax
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x3c]
sub edx, 0x18
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
mov cx, word [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x14]
xor edx, ecx
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x20]
sub eax, 0x57d
mov ecx, dword [ebp - 0xc]
or ecx, eax
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x18]
imul edx, edx, 0xfffffe10
add edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
xor eax, edx
mov dword [ebp - 4], eax
mov edx, 0xfffffdc8
mov ecx, dword [ebp - 0x18]
shl edx, cl
mov ecx, dword [ebp - 0x34]
shl edx, cl
mov eax, dword [ebp - 8]
add eax, edx
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x5c]
or ecx, 0x76
mov edx, dword [ebp - 0x24]
or edx, ecx
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
shl eax, cl
mov ecx, dword [ebp - 8]
add ecx, eax
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x18]
and edx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
sub eax, edx
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x48]
or ecx, 0x353
mov edx, dword [ebp - 0xc]
add edx, ecx
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x5c]
imul eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
xor ecx, eax
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x5c]
sub edx, 0x264
mov eax, dword [ebp - 0x10]
xor eax, edx
mov ecx, dword [ebp - 4]
sub ecx, eax
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x50]
or eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x28]
xor ecx, eax
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x4c]
add edx, 2
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
mov cx, word [eax]
test ecx, ecx
jne 0x41a453
mov edx, 0xffffff85
sub edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x48]
xor eax, edx
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x3c]
xor edx, 0x2da
mov eax, dword [ebp - 0x24]
xor eax, edx
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x24]
shl edx, cl
mov eax, dword [ebp - 0x3c]
add eax, edx
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x20]
imul ecx, ecx, 0xfffffd1e
mov edx, 0xfffffdc7
shl edx, cl
mov eax, dword [ebp - 0x50]
add eax, edx
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x24]
add ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
and edx, ecx
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
xor eax, 0x3bb
mov dword [ebp - 0x54], eax
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x18]
shl edx, cl
or edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x30]
and eax, edx
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x38]
or ecx, 0xffff0f52
mov edx, dword [ebp - 0x28]
xor edx, ecx
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x18]
shl eax, 0x30
and eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x5c]
or ecx, eax
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x30]
xor edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x5c]
add eax, edx
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x50]
add ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0xc]
sub edx, ecx
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 0xc]
sub ecx, 0x28870
mov eax, dword [ebp - 8]
xor edx, edx
div ecx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x18]
and edx, 0x39d
mov eax, dword [ebp - 4]
or eax, edx
mov ecx, dword [ebp - 8]
xor ecx, eax
mov dword [ebp - 8], ecx
mov dword [ebp - 0x18], 0xfffffddd
mov edx, dword [ebp - 4]
imul edx, dword [ebp - 0x30]
imul edx, edx, 0xfffffe1e
mov eax, dword [ebp - 0x24]
or eax, edx
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x14]
xor ecx, 0x26533b
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x24]
mov esi, 0xfffffcd4
sar esi, cl
sub esi, 0xb17d8
mov eax, dword [ebp - 0x3c]
xor edx, edx
div esi
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0xc]
imul edx, edx, 0xfffffd6e
mov eax, dword [ebp - 0x5c]
sub eax, edx
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov dword [ebp - 0x50], ecx
mov edx, 0x2bf
mov ecx, dword [ebp - 0x54]
shl edx, cl
sar edx, 0x8d
mov eax, dword [ebp - 0x24]
xor eax, edx
mov dword [ebp - 0x24], eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x30]
sub edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x28]
shl edx, cl
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x18]
xor ecx, 0x184
xor ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x48]
or edx, ecx
mov dword [ebp - 0x48], edx
mov ecx, dword [ebp - 0xc]
xor ecx, 0x2c4
sub ecx, 0x56ea0
mov eax, dword [ebp - 0x34]
xor edx, edx
div ecx
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x30]
imul edx, edx, 0xffffff79
and edx, 0xfffffd62
mov eax, dword [ebp - 0x20]
xor eax, edx
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x50]
imul ecx, ecx, 0xffffffb0
add ecx, 0xe1960
mov eax, dword [ebp - 0x5c]
xor edx, edx
div ecx
mov dword [ebp - 0x5c], eax
mov edx, dword [ebp - 0x3c]
add edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x50]
xor eax, edx
mov dword [ebp - 0x50], eax
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0xc]
sar edx, cl
mov ecx, dword [ebp - 0x18]
sar edx, cl
mov eax, dword [ebp - 0x10]
sub eax, edx
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x34]
or ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x48]
and edx, ecx
mov dword [ebp - 0x48], edx
mov ecx, dword [ebp - 0x30]
or ecx, 8
add ecx, 0xb6dc8
mov eax, dword [ebp - 0x28]
cdq
idiv ecx
mov dword [ebp - 0x28], eax
mov edx, 0x27d
mov ecx, dword [ebp - 0x3c]
shl edx, cl
mov ecx, dword [ebp - 0x10]
sar edx, cl
mov dword [ebp - 0x48], edx
mov eax, 0x2e3
mov ecx, dword [ebp - 0x24]
shl eax, cl
mov ecx, dword [ebp - 0x48]
and ecx, eax
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0xc]
xor edx, 0x5cea9
mov eax, dword [ebp - 4]
and eax, edx
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp + 8]
jne 0x41aaf6
mov edx, dword [ebp - 0x50]
imul edx, edx, 0xfffffe94
mov eax, dword [ebp - 0x30]
add eax, edx
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x20]
shl edx, cl
mov eax, dword [ebp - 0x24]
and eax, edx
mov dword [ebp - 0x24], eax
mov edx, 0x2b6
mov ecx, dword [ebp - 0x54]
sar edx, cl
xor edx, dword [ebp - 0x20]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x34]
or eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0xc]
xor ecx, eax
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x34]
xor edx, 0xfffffcbb
mov eax, dword [ebp - 8]
or eax, edx
mov dword [ebp - 8], eax
mov ecx, 0xfffffc6e
sub ecx, dword [ebp - 0x34]
or ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 8]
sub edx, ecx
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x18]
or eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x20]
and ecx, eax
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x38]
imul edx, edx, 0x136
mov eax, dword [ebp - 0x10]
and eax, edx
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x24]
and ecx, 0xfffffc05
add ecx, 0xb71b0
mov eax, dword [ebp - 0x28]
cdq
idiv ecx
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x3c]
and edx, 0xfffffe10
mov eax, dword [ebp - 0x5c]
add eax, edx
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x11148
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x10]
jmp 0x41b05a
mov eax, 0xfffffd36
mov ecx, dword [ebp - 0x30]
shl eax, cl
or eax, 0x233
mov ecx, dword [ebp - 0x3c]
and ecx, eax
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x48]
imul edx, edx, 0xa9
mov eax, dword [ebp - 0x54]
sub eax, edx
mov ecx, dword [ebp - 0x5c]
or ecx, eax
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 8]
shl edx, 0x65
mov eax, dword [ebp - 4]
sub eax, edx
mov dword [ebp - 4], eax
mov ecx, 0xfffffd2f
sub ecx, dword [ebp - 0x54]
and ecx, dword [ebp - 0x24]
sub ecx, 0xec158
mov eax, dword [ebp - 0x10]
xor edx, edx
div ecx
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x50]
xor edx, 0xfffffd38
mov eax, dword [ebp - 0x48]
sub eax, edx
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x20]
xor ecx, dword [ebp - 0x34]
sub ecx, 0x1c908
mov eax, dword [ebp - 0x28]
xor edx, edx
div ecx
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x28]
imul edx, dword [ebp - 0x38]
xor edx, 0xffffff0e
mov eax, dword [ebp - 0x20]
or eax, edx
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x24]
and ecx, 0x24
and ecx, 0xfffffc7c
mov edx, dword [ebp - 0xc]
or edx, ecx
mov dword [ebp - 0xc], edx
mov eax, 0x247
mov ecx, dword [ebp - 0x48]
shl eax, cl
shl eax, 0xeb
mov ecx, dword [ebp - 0x34]
sub ecx, eax
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x48]
lea ecx, [eax + edx + 0x386]
mov edx, dword [ebp - 0xc]
and edx, ecx
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x48]
and eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x24]
sar edx, 0x3a
sar edx, 0xe9
mov eax, dword [ebp - 0x3c]
or eax, edx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 0x36424
idiv ecx
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x38]
and edx, 0xfffffc00
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 4]
and ecx, eax
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0xc]
add edx, dword [ebp - 0x28]
add edx, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
and eax, edx
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x48]
and ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 4]
sub edx, ecx
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x54]
add eax, 0x2dd
mov ecx, dword [ebp - 0x28]
or ecx, eax
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 4]
sub ecx, dword [ebp - 0x28]
sub ecx, 0x26d18
mov eax, dword [ebp - 0xc]
xor edx, edx
div ecx
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0x54]
add edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 8]
sar edx, cl
mov eax, dword [ebp - 0x28]
and eax, edx
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x48]
imul ecx, ecx, 0xfffffef0
sub ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x10]
or edx, ecx
mov dword [ebp - 0x10], edx
mov ecx, dword [ebp - 0x3c]
imul ecx, dword [ebp - 0x18]
sub ecx, 0xba090
mov eax, dword [ebp - 4]
xor edx, edx
div ecx
mov dword [ebp - 4], eax
mov edx, dword [ebp - 0x44]
mov eax, dword [edx]
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
shl edx, cl
xor edx, 0x1d1
mov eax, dword [ebp - 0x20]
xor eax, edx
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x50]
lea eax, [edx + ecx + 0x292]
mov ecx, dword [ebp - 4]
xor ecx, eax
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x48]
sub edx, 0x171
mov eax, dword [ebp - 0x38]
or eax, edx
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x38]
shl edx, cl
mov ecx, dword [ebp - 0x18]
sar edx, cl
mov eax, dword [ebp - 0x18]
or eax, edx
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x38]
add ecx, 0x3e1
mov edx, 0xfffffd7f
sar edx, cl
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x10]
imul eax, eax, 0xfffffd42
mov ecx, dword [ebp - 0x10]
or ecx, eax
mov edx, dword [ebp - 0x30]
sub edx, ecx
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x48]
or eax, 0x125
mov ecx, dword [ebp - 0x50]
or ecx, eax
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x28]
xor edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x54]
sub eax, edx
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x20]
imul ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
and edx, ecx
mov eax, dword [ebp - 0x54]
or eax, edx
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x50]
lea ecx, [edx + ecx - 0xb1fa8]
mov eax, dword [ebp - 0x34]
xor edx, edx
div ecx
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x10]
or edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
add eax, edx
mov dword [ebp - 8], eax
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
shl edx, cl
and edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
add eax, edx
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x30]
imul ecx, ecx, 0xf7
sub ecx, 0x91cdd
mov eax, dword [ebp - 0x24]
cdq
idiv ecx
mov dword [ebp - 0x24], eax
mov edx, 0xffffa3c8
sub edx, dword [ebp - 0x18]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x5c]
sub eax, 0x320
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x28]
sub ecx, 0x34a
or ecx, 0xfffffc23
mov edx, dword [ebp - 0x3c]
xor edx, ecx
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x48]
and eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x48]
and ecx, eax
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x38]
imul edx, edx, 0xfffffc7a
mov eax, dword [ebp - 0x10]
and eax, edx
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x20]
imul ecx, ecx, 0x110
add ecx, dword [ebp - 0x24]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x5c]
imul edx, edx, 0xfffffdf8
mov eax, dword [ebp - 0x30]
sub eax, edx
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x54]
sub ecx, 0x238
xor ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x38]
xor edx, ecx
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0xc]
add ecx, eax
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x34]
or edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
sub eax, edx
mov dword [ebp - 0x30], eax
mov edx, 0xfffffcec
mov ecx, dword [ebp - 0x24]
shl edx, cl
mov eax, dword [ebp - 0x54]
or eax, edx
mov ecx, dword [ebp - 0x34]
add ecx, eax
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x10]
imul ecx, ecx, 0x38f
mov edx, dword [ebp - 8]
shl edx, cl
mov eax, dword [ebp - 0x28]
and eax, edx
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x3c]
or ecx, 0xfffffe11
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x44]
cmp edx, dword [ebp - 0x58]
jne 0x41a04f
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x34]
shr eax, cl
mov ecx, dword [ebp - 0x20]
or ecx, eax
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x10]
sub edx, 0x160
and dl, 0x66
mov eax, dword [ebp - 0x48]
xor eax, edx
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x20]
and ecx, 0xfffffd75
mov edx, dword [ebp - 4]
xor edx, ecx
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x5c]
shr eax, cl
mov ecx, dword [ebp - 8]
xor ecx, eax
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x20]
add edx, 0xb06f8
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
mov esi, 0x27b
mov ecx, dword [ebp - 0x10]
shl esi, cl
mov ecx, dword [ebp - 0x54]
sar esi, cl
add esi, 0xf6950
mov eax, dword [ebp - 0x48]
cdq
idiv esi
mov dword [ebp - 0x48], eax
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
shr edx, cl
and edx, 0xfffffd69
mov eax, dword [ebp - 4]
sub eax, edx
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
add ecx, 0x2c3
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x18]
cdq
mov ecx, 0xd3fc9cd0
idiv ecx
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x3c]
sub edx, 0x208
mov eax, dword [ebp - 0x30]
or eax, edx
mov dword [ebp - 0x30], eax
mov ecx, 0xfffffe74
sub ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
xor edx, ecx
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x5c]
xor eax, 0xffffff03
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x50]
or edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
and eax, edx
mov dword [ebp - 0xc], eax
mov esi, 0x257
sub esi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x50]
sar esi, cl
add esi, 0x25d78
mov eax, dword [ebp - 0x34]
xor edx, edx
div esi
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x5c]
shr ecx, 0xa2
sub ecx, 0x324b0
mov eax, dword [ebp - 0x3c]
xor edx, edx
div ecx
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x28]
and edx, 0x1e6
and edx, 0xfffffd5d
mov eax, dword [ebp - 0x48]
or eax, edx
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x31b
mov edx, dword [ebp - 0xc]
and edx, ecx
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
shl eax, 0x4b
mov ecx, dword [ebp - 8]
sub ecx, eax
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x34]
shl edx, 0x1c
mov eax, dword [ebp - 0x48]
or eax, edx
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x3c]
sub edx, ecx
mov dword [ebp - 0x3c], edx
mov ecx, dword [ebp - 8]
xor ecx, 0xfffffc6d
add ecx, 0x46118
mov eax, dword [ebp - 8]
cdq
idiv ecx
mov dword [ebp - 8], eax
mov edx, 0x156
mov ecx, dword [ebp - 8]
shl edx, cl
mov eax, dword [ebp - 0x38]
sub eax, edx
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x54]
and ecx, dword [ebp - 4]
xor ecx, dword [ebp - 8]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 0x5c]
sub edx, 0x1bf
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x50]
add eax, 0x312
or eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
sub ecx, eax
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x18]
sar edx, 0x13
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x34]
or eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 8]
or ecx, eax
mov dword [ebp - 8], ecx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret