Function at 0x404cd0
Capabilities:
Encode data using xor

Disassembly:
push ecx
push ebx
push ebp
push esi
push edi
mov ebp, dword [sym.imp.MSVCRT.dll_rand]
call ebp
mov esi, dword [0x40960c]
and eax, 0xf5fff7df
or eax, 0x84200000
mov edi, dword [0x409614]
mov ecx, eax
mov dword [0x409628], eax
sub ecx, esi
lea edx, [eax - 0x7e000000]
mov eax, ecx
mov dword [0x40972c], edx
shl eax, 0x19
shr ecx, 7
or eax, ecx
mov ecx, dword [0x40961c]
xor edi, ecx
and edi, esi
mov esi, dword [0x409604]
xor edi, ecx
sub eax, edi
mov edi, dword [0x409618]
sub eax, esi
mov esi, dword [0x409610]
sub edx, esi
add eax, 0x28955b88
mov ecx, edx
mov dword [0x40986c], eax
shl ecx, 0x19
shr edx, 7
or ecx, edx
mov edx, dword [0x409620]
xor edi, edx
and edi, esi
xor edi, edx
sub ecx, edi
mov edi, dword [0x409608]
sub ecx, edi
add ecx, 0x28955b88
cmp eax, ecx
mov dword [0x4098ec], ecx
je 0x404e0d
call ebp
mov esi, dword [0x40960c]
and eax, 0xf5fff7df
or eax, 0x84200000
mov edi, dword [0x409614]
mov ecx, eax
mov dword [0x409628], eax
sub ecx, esi
lea edx, [eax - 0x7e000000]
mov eax, ecx
mov dword [0x40972c], edx
shl eax, 0x19
shr ecx, 7
or eax, ecx
mov ecx, dword [0x40961c]
xor edi, ecx
and edi, esi
mov esi, dword [0x409604]
xor edi, ecx
sub eax, edi
mov edi, dword [0x409618]
sub eax, esi
mov esi, dword [0x409610]
sub edx, esi
add eax, 0x28955b88
mov ecx, edx
mov dword [0x40986c], eax
shl ecx, 0x19
shr edx, 7
or ecx, edx
mov edx, dword [0x409620]
xor edi, edx
and edi, esi
xor edi, edx
sub ecx, edi
mov edi, dword [0x409608]
sub ecx, edi
add ecx, 0x28955b88
cmp eax, ecx
mov dword [0x4098ec], ecx
jne 0x404d74
xor edi, edi
call ebp
mov esi, dword [0x409628]
and eax, 0x1c06719
mov edx, esi
or eax, 0x8c000800
and edx, 0x701f10c0
or eax, edx
mov ecx, eax
mov dword [0x40962c], eax
sub ecx, esi
lea edx, [eax - 0x7dffffe0]
mov eax, ecx
mov dword [0x409730], edx
shr eax, 0xc
shl ecx, 0x14
or eax, ecx
mov ecx, dword [0x409614]
mov ebx, ecx
xor ebx, dword [0x40960c]
and ebx, esi
mov esi, dword [0x40972c]
sub edx, esi
xor ebx, ecx
mov ecx, edx
sub eax, ebx
mov ebx, dword [0x40961c]
shr ecx, 0xc
shl edx, 0x14
or ecx, edx
mov edx, dword [0x409618]
sub eax, ebx
mov ebx, edx
xor ebx, dword [0x409610]
add eax, 0x173848aa
mov dword [0x409870], eax
and ebx, esi
xor ebx, edx
sub ecx, ebx
mov ebx, dword [0x409620]
sub ecx, ebx
add ecx, 0x173848aa
cmp eax, ecx
mov dword [0x4098f0], ecx
je 0x404ebd
inc edi
cmp edi, 0xa
jb 0x404e0f
jmp 0x404cdb
cmp edi, 0xa
jae 0x404cdb
xor edi, edi
call ebp
mov esi, dword [0x40962c]
and eax, 0x1c0e601
mov ecx, esi
or eax, 0xbe1f0966
and ecx, 0x18
or eax, ecx
mov ecx, eax
mov dword [0x409630], eax
sub ecx, esi
lea edx, [eax - 0x7dfef7e0]
mov eax, ecx
mov dword [0x409734], edx
shr eax, 0x11
shl ecx, 0xf
or eax, ecx
mov ecx, dword [0x40960c]
mov ebx, ecx
xor ebx, dword [0x409628]
and ebx, esi
mov esi, dword [0x409730]
sub edx, esi
xor ebx, ecx
mov ecx, edx
sub eax, ebx
mov ebx, dword [0x409614]
shr ecx, 0x11
shl edx, 0xf
or ecx, edx
mov edx, dword [0x409610]
sub eax, ebx
mov ebx, edx
xor ebx, dword [0x40972c]
sub eax, 0x242070db
mov dword [0x409874], eax
and ebx, esi
xor ebx, edx
sub ecx, ebx
mov ebx, dword [0x409618]
sub ecx, ebx
sub ecx, 0x242070db
cmp eax, ecx
mov dword [0x4098f4], ecx
je 0x404f73
inc edi
cmp edi, 0xa
jb 0x404ec8
jmp 0x404cdb
cmp edi, 0xa
jae 0x404cdb
xor edi, edi
call ebp
mov esi, dword [0x409630]
and eax, 0x1c0e000
mov edx, esi
or eax, 0xba040010
and edx, 0x601
mov ebx, dword [0x40962c]
or eax, edx
mov ecx, eax
mov dword [0x409634], eax
sub ecx, esi
lea edx, [eax - 0x7dffffe2]
mov eax, ecx
mov dword [0x409738], edx
shl eax, 0xa
shr ecx, 0x16
or eax, ecx
mov ecx, dword [0x409628]
xor ebx, ecx
and ebx, esi
mov esi, dword [0x409734]
sub edx, esi
xor ebx, ecx
mov ecx, edx
sub eax, ebx
mov ebx, dword [0x40960c]
shl ecx, 0xa
shr edx, 0x16
sub eax, ebx
mov ebx, dword [0x409730]
or ecx, edx
mov edx, dword [0x40972c]
xor ebx, edx
add eax, 0x3e423112
and ebx, esi
mov dword [0x409878], eax
xor ebx, edx
sub ecx, ebx
mov ebx, dword [0x409610]
sub ecx, ebx
add ecx, 0x3e423112
cmp eax, ecx
mov dword [0x4098f8], ecx
je 0x40502c
inc edi
cmp edi, 0xa
jb 0x404f7e
jmp 0x404cdb
cmp edi, 0xa
jae 0x404cdb
xor edi, edi
call ebp
mov esi, dword [0x409634]
and eax, 0x3c0e000
or eax, 0x482f0e50
mov ebx, dword [0x409630]
mov dword [0x409638], eax
lea edx, [eax - 0x7ffffcbf]
sub eax, esi
mov ecx, eax
mov dword [0x40973c], edx
shl ecx, 0x19
shr eax, 7
or ecx, eax
mov eax, dword [0x40962c]
xor ebx, eax
and ebx, esi
mov esi, dword [0x409738]
sub edx, esi
xor ebx, eax
mov eax, edx
sub ecx, ebx
mov ebx, dword [0x409628]
shl eax, 0x19
shr edx, 7
sub ecx, ebx
mov ebx, dword [0x409734]
or eax, edx
mov edx, dword [0x409730]
xor ebx, edx
add ecx, 0xa83f051
and ebx, esi
mov dword [0x40987c], ecx
xor ebx, edx
sub eax, ebx
mov ebx, dword [0x40972c]
sub eax, ebx
add eax, 0xa83f051
mov dword [0x4098fc], eax
xor eax, ecx
cmp eax, 0x80000000
je 0x4050dd
inc edi
cmp edi, 0xa
jb 0x405037
jmp 0x404cdb
cmp edi, 0xa
jae 0x404cdb
xor edi, edi
call ebp
mov esi, dword [0x409638]
and eax, 0x61cce000
or eax, 0x4220c56
mov ebx, dword [0x409634]
mov ecx, eax
mov dword [0x40963c], eax
sub ecx, esi
lea edx, [eax + 0x7fef0000]
mov eax, ecx
mov dword [0x409740], edx
shr eax, 0xc
shl ecx, 0x14
or eax, ecx
mov ecx, dword [0x409630]
xor ebx, ecx
and ebx, esi
mov esi, dword [0x40973c]
sub edx, esi
xor ebx, ecx
mov ecx, edx
sub eax, ebx
mov ebx, dword [0x40962c]
shr ecx, 0xc
shl edx, 0x14
sub eax, ebx
mov ebx, dword [0x409738]
or ecx, edx
mov edx, dword [0x409734]
xor ebx, edx
sub eax, 0x4787c62a
and ebx, esi
mov dword [0x409880], eax
xor ebx, edx
sub ecx, ebx
mov ebx, dword [0x409730]
sub ecx, ebx
sub ecx, 0x4787c62a
cmp eax, ecx
mov dword [0x409900], ecx
je 0x40518c
inc edi
cmp edi, 0xa
jb 0x4050e8
jmp 0x404cdb
cmp edi, 0xa
jae 0x404cdb
xor edi, edi
call ebp
mov esi, dword [0x40963c]
and eax, 0xf64d7e3f
mov ecx, esi
or eax, 0x96011e01
and ecx, 0x1808000
mov ebx, dword [0x409638]
or eax, ecx
mov ecx, eax
mov dword [0x409640], eax
sub ecx, esi
lea edx, [eax + 0x77ffffc0]
mov eax, ecx
mov dword [0x409744], edx
shr eax, 0x11
shl ecx, 0xf
or eax, ecx
mov ecx, dword [0x409634]
xor ebx, ecx
and ebx, esi
mov esi, dword [0x409740]
sub edx, esi
xor ebx, ecx
mov ecx, edx
sub eax, ebx
mov ebx, dword [0x409630]
shr ecx, 0x11
shl edx, 0xf
sub eax, ebx
mov ebx, dword [0x40973c]
or ecx, edx
mov edx, dword [0x409738]
xor ebx, edx
add eax, 0x57cfb9ed
and ebx, esi
mov dword [0x409884], eax
xor ebx, edx
sub ecx, ebx
mov ebx, dword [0x409734]
sub ecx, ebx
add ecx, 0x57cfb9ed
cmp eax, ecx
mov dword [0x409904], ecx
je 0x405245
inc edi
cmp edi, 0xa
jb 0x405197
jmp 0x404cdb
cmp edi, 0xa
jae 0x404cdb
xor edi, edi
call ebp
mov esi, dword [0x409640]
and eax, 0xe47efffc
mov edx, esi
or eax, 0x843283c0
and edx, 2
mov ebx, dword [0x40963c]
or eax, edx
mov ecx, eax
mov dword [0x409644], eax
sub ecx, esi
lea edx, [eax + 0x7f7e8000]
mov eax, ecx
mov dword [0x409748], edx
shl eax, 0xa
shr ecx, 0x16
or eax, ecx
mov ecx, dword [0x409638]
xor ebx, ecx
and ebx, esi
mov esi, dword [0x409744]
sub edx, esi
xor ebx, ecx
mov ecx, edx
sub eax, ebx
mov ebx, dword [0x409634]
shl ecx, 0xa
shr edx, 0x16
sub eax, ebx
mov ebx, dword [0x409740]
or ecx, edx
mov edx, dword [0x40973c]
xor ebx, edx
add eax, 0x2b96aff
and ebx, esi
mov dword [0x409888], eax
xor ebx, edx
sub ecx, ebx
mov ebx, dword [0x409738]
sub ecx, ebx
add ecx, 0x2b96aff
cmp eax, ecx
mov dword [0x409908], ecx
je 0x4052fb
inc edi
cmp edi, 0xa
jb 0x405250
jmp 0x404cdb
cmp edi, 0xa
jae 0x404cdb
xor edi, edi
call ebp
mov esi, dword [0x409644]
and eax, 0xfc7d6dfd
mov edx, esi
or eax, 0x9c0101c1
and edx, 0x1000
mov ebx, dword [0x409640]
or eax, edx
mov ecx, eax
mov dword [0x409648], eax
sub ecx, esi
lea edx, [eax - 0x7fffffbf]
mov eax, ecx
mov dword [0x40974c], edx
shl eax, 0x19
shr ecx, 7
or eax, ecx
mov ecx, dword [0x40963c]
xor ebx, ecx
and ebx, esi
mov esi, dword [0x409748]
sub edx, esi
xor ebx, ecx
mov ecx, edx
sub eax, ebx
mov ebx, dword [0x409638]
shl ecx, 0x19
shr edx, 7
sub eax, ebx
mov ebx, dword [0x409744]
or ecx, edx
mov edx, dword [0x409740]
xor ebx, edx
sub eax, 0x698098d8
and ebx, esi
mov dword [0x40988c], eax
xor ebx, edx
sub ecx, ebx
mov ebx, dword [0x40973c]
sub ecx, ebx
sub ecx, 0x698098d8
cmp eax, ecx
mov dword [0x40990c], ecx
je 0x4053b4
inc edi
cmp edi, 0xa
jb 0x405306
jmp 0x404cdb
cmp edi, 0xa
jae 0x404cdb
xor edi, edi
call ebp
mov esi, dword [0x409648]
and eax, 0xfffbeffc
or eax, 0x878383c0
mov ebx, dword [0x409644]
mov ecx, eax
mov dword [0x40964c], eax
sub ecx, esi
lea edx, [eax - 0x7ffff000]
mov eax, ecx
mov dword [0x409750], edx
shr eax, 0xc
shl ecx, 0x14
or eax, ecx
mov ecx, dword [0x409640]
xor ebx, ecx
and ebx, esi
mov esi, dword [0x40974c]
sub edx, esi
xor ebx, ecx
mov ecx, edx
sub eax, ebx
mov ebx, dword [0x40963c]
shr ecx, 0xc
shl edx, 0x14
sub eax, ebx
mov ebx, dword [0x409748]
or ecx, edx
mov edx, dword [0x409744]
xor ebx, edx
add eax, 0x74bb0851
and ebx, esi
mov dword [0x409890], eax
xor ebx, edx
sub ecx, ebx
mov ebx, dword [0x409740]
sub ecx, ebx
add ecx, 0x74bb0851
cmp eax, ecx
mov dword [0x409910], ecx
je 0x405463
inc edi
cmp edi, 0xa
jb 0x4053bf
jmp 0x404cdb
cmp edi, 0xa
jae 0x404cdb
xor edi, edi
call ebp
mov esi, dword [0x40964c]
and eax, 0xfff58fff
mov edx, esi
or eax, 0x800583c3
and edx, 0x86000
mov ebx, dword [0x409648]
or eax, edx
mov ecx, eax
mov dword [0x409650], eax
sub ecx, esi
lea edx, [eax - 0x80000000]
mov eax, ecx
mov dword [0x409754], edx
shr eax, 0x11
shl ecx, 0xf
or eax, ecx
mov ecx, dword [0x409644]
xor ebx, ecx
and ebx, esi
mov esi, dword [0x409750]
sub edx, esi
xor ebx, ecx
mov ecx, edx
sub eax, ebx
mov ebx, dword [0x409640]
shr ecx, 0x11
shl edx, 0xf
sub eax, ebx
mov ebx, dword [0x40974c]
or ecx, edx
mov edx, dword [0x409748]
xor ebx, edx
add eax, 0xa44f
and ebx, esi
mov dword [0x409894], eax
xor ebx, edx
sub ecx, ebx
mov ebx, dword [0x409744]
sub ecx, ebx
add ecx, 0xa44f
cmp eax, ecx
mov dword [0x409914], ecx
je 0x40551c
inc edi
cmp edi, 0xa
jb 0x40546e
jmp 0x404cdb
cmp edi, 0xa
jae 0x404cdb
xor edi, edi
call ebp
mov esi, dword [0x409650]
and eax, 0xf00f7f
mov ecx, esi
or eax, 0x80081080
and ecx, 0x7f000000
mov ebx, dword [0x40964c]
or eax, ecx
mov dword [0x409654], eax
lea edx, [eax + 0x7fffdf80]
sub eax, esi
mov ecx, eax
mov dword [0x409758], edx
shl ecx, 0xa
shr eax, 0x16
or ecx, eax
mov eax, dword [0x409648]
xor ebx, eax
and ebx, esi
mov esi, dword [0x409754]
sub edx, esi
xor ebx, eax
mov eax, edx
sub ecx, ebx
mov ebx, dword [0x409644]
shl eax, 0xa
shr edx, 0x16
sub ecx, ebx
mov ebx, dword [0x409750]
or eax, edx
mov edx, dword [0x40974c]
xor ebx, edx
add ecx, 0x76a32842
and ebx, esi
mov dword [0x409898], ecx
xor ebx, edx
sub eax, ebx
mov ebx, dword [0x409748]
sub eax, ebx
add eax, 0x76a32842
mov dword [0x409918], eax
xor eax, ecx
cmp eax, 0x8000
je 0x4055d7
inc edi
cmp edi, 0xa
jb 0x405527
jmp 0x404cdb
cmp edi, 0xa
jae 0x404cdb
xor edi, edi
call ebp
mov esi, dword [0x409654]
and eax, 0x40f01f77
or eax, 0x3f0fe008
mov ebx, dword [0x409650]
mov ecx, eax
mov dword [0x409658], eax
sub ecx, esi
lea edx, [eax - 0x7f000000]
mov eax, ecx
mov dword [0x40975c], edx
shl eax, 0x19
shr ecx, 7
or eax, ecx
mov ecx, dword [0x40964c]
xor ebx, ecx
and ebx, esi
mov esi, dword [0x409758]
sub edx, esi
xor ebx, ecx
mov ecx, edx
sub eax, ebx
mov ebx, dword [0x409648]
shl ecx, 0x19
shr edx, 7
sub eax, ebx
mov ebx, dword [0x409754]
or ecx, edx
mov edx, dword [0x409750]
xor ebx, edx
sub eax, 0x6b901122
and ebx, esi
mov dword [0x40989c], eax
xor ebx, edx
sub ecx, ebx
mov ebx, dword [0x40974c]
sub ecx, ebx
sub ecx, 0x6b901122
cmp eax, ecx
mov dword [0x40991c], ecx
je 0x405686
inc edi
cmp edi, 0xa
jb 0x4055e2
jmp 0x404cdb
cmp edi, 0xa
jae 0x404cdb
xor edi, edi
call ebp
mov esi, dword [0x409658]
and eax, 0xf01f77
or eax, 0x400be088
mov ebx, dword [0x409654]
mov ecx, eax
mov dword [0x40965c], eax
sub ecx, esi
lea edx, [eax - 0x80000000]
mov eax, ecx
mov dword [0x409760], edx
shr eax, 0xc
shl ecx, 0x14
or eax, ecx
mov ecx, dword [0x409650]
xor ebx, ecx
and ebx, esi
mov esi, dword [0x40975c]
sub edx, esi
xor ebx, ecx
mov ecx, edx
sub eax, ebx
mov ebx, dword [0x40964c]
shr ecx, 0xc
shl edx, 0x14
sub eax, ebx
mov ebx, dword [0x409758]
or ecx, edx
mov edx, dword [0x409754]
xor ebx, edx
add eax, 0x2678e6d
and ebx, esi
mov dword [0x4098a0], eax
xor ebx, edx
sub ecx, ebx
mov ebx, dword [0x409750]
sub ecx, ebx
add ecx, 0x2678e6d
cmp eax, ecx
mov dword [0x409920], ecx
je 0x405735
inc edi
cmp edi, 0xa
jb 0x405691
jmp 0x404cdb
cmp edi, 0xa
jae 0x404cdb
xor edi, edi
call ebp
mov esi, dword [0x40965c]
and eax, 0xff7ff7
or eax, 0x7d000000
mov ebx, dword [0x409658]
mov dword [0x409660], eax
lea edx, [eax - 0x7fff7ff8]
sub eax, esi
mov ecx, eax
mov dword [0x409764], edx
shr ecx, 0x11
shl eax, 0xf
or ecx, eax
mov eax, dword [0x409654]
xor ebx, eax
and ebx, esi
mov esi, dword [0x409760]
sub edx, esi
xor ebx, eax
mov eax, edx
sub ecx, ebx
mov ebx, dword [0x409650]
shr eax, 0x11
shl edx, 0xf
sub ecx, ebx
mov ebx, dword [0x40975c]
or eax, edx
mov edx, dword [0x409758]
xor ebx, edx
add ecx, 0x5986bc72
and ebx, esi
mov dword [0x4098a4], ecx
xor ebx, edx
sub eax, ebx
mov ebx, dword [0x409754]
sub eax, ebx
add eax, 0x5986bc72
mov dword [0x409924], eax
xor eax, ecx
cmp eax, 0x80000000
je 0x4057e6
inc edi
cmp edi, 0xa
jb 0x405740
jmp 0x404cdb
cmp edi, 0xa
jae 0x404cdb
mov dword [esp + 0x10], 0
call ebp
mov edi, dword [0x409660]
and eax, 0x5fffffff
or eax, 0x20000000
mov ebx, dword [0x40965c]
mov edx, eax
mov dword [0x409664], eax
sub edx, edi
lea esi, [eax + 0x60000000]
mov ecx, edx
mov dword [0x409768], esi
shl ecx, 0xa
shr edx, 0x16
or ecx, edx
mov edx, dword [0x409658]
xor ebx, edx
and ebx, edi
xor ebx, edx
mov edx, dword [0x409654]
sub ecx, ebx
mov ebx, dword [0x409760]
sub ecx, edx
mov edx, dword [0x409764]
sub esi, edx
sub ecx, 0x49b40821
mov edx, esi
mov dword [0x4098a8], ecx
shl edx, 0xa
shr esi, 0x16
or edx, esi
mov esi, dword [0x40975c]
xor ebx, esi
mov esi, dword [0x409764]
and ebx, esi
mov esi, dword [0x40975c]
xor ebx, esi
sub edx, ebx
mov ebx, dword [0x409758]
sub edx, ebx
sub edx, 0x49b40821
cmp ecx, edx
mov dword [0x409928], edx
jne 0x405b94
mov edx, dword [0x40965c]
mov ecx, eax
xor ecx, edi
and ecx, edx
mov edx, dword [0x409658]
xor ecx, edi
add ecx, edx
mov edx, dword [0x409870]
add edx, ecx
lea ecx, [edx - 0x9e1da9e]
add edx, 0x61e2562
shr ecx, 0x1b
shl edx, 5
or ecx, edx
mov edx, eax
add ecx, eax
and edx, 0x8008
xor edx, ecx
mov dword [0x409668], ecx
test edx, 0x80028008
jne 0x405b94
mov ebx, dword [0x409768]
mov edx, dword [0x409764]
xor ebx, edx
and ebx, dword [0x409760]
xor ebx, edx
mov edx, dword [0x4098f0]
add ebx, esi
add edx, ebx
lea esi, [edx - 0x9e1da9e]
add edx, 0x61e2562
shr esi, 0x1b
shl edx, 5
or esi, edx
mov edx, dword [0x409768]
add esi, edx
mov edx, esi
mov dword [0x40976c], esi
xor edx, ecx
cmp edx, 0x80000000
jne 0x405b94
mov edx, ecx
xor edx, eax
and edx, edi
mov edi, dword [0x40965c]
xor edx, eax
add edx, edi
mov edi, dword [0x409884]
add edi, edx
lea edx, [edi - 0x3fbf4cc0]
add edi, 0x40b340
shr edx, 0x17
shl edi, 9
or edx, edi
mov edi, ecx
add edx, ecx
and edi, 0x20000000
mov ebx, edx
or edi, 0x20000
and ebx, 0xa0020000
mov dword [0x40966c], edx
cmp ebx, edi
jne 0x405b94
mov ebx, dword [0x409768]
mov edi, esi
xor edi, ebx
mov ebx, dword [0x409764]
and edi, ebx
mov ebx, dword [0x409768]
xor edi, ebx
mov ebx, dword [0x409760]
add edi, ebx
mov ebx, dword [0x409904]
add edi, ebx
lea ebx, [edi - 0x3fbf4cc0]
add edi, 0x40b340
shr ebx, 0x17
shl edi, 9
or ebx, edi
add ebx, esi
mov dword [0x409770], ebx
xor ebx, edx
cmp ebx, 0x80000000
jne 0x405b94
mov ebx, dword [0x409660]
mov edi, edx
xor edi, ecx
and edi, eax
xor edi, ecx
add edi, ebx
mov ebx, dword [0x409898]
add ebx, edi
lea edi, [ebx + 0x265e5a51]
add ebx, 0x25a51
shr edi, 0x12
shl ebx, 0xe
or edi, ebx
add edi, edx
test edi, 0x80020000
mov dword [0x409670], edi
jne 0x405b94
mov edi, dword [0x409770]
mov ebx, dword [0x409768]
xor edi, esi
and edi, ebx
mov ebx, dword [0x409764]
xor edi, esi
add edi, ebx
mov ebx, dword [0x409918]
add edi, ebx
lea ebx, [edi + 0x265e5a51]
add edi, 0x25a51
shr ebx, 0x12
shl edi, 0xe
or ebx, edi
mov edi, dword [0x409770]
add ebx, edi
mov edi, dword [0x409670]
sub edi, ebx
mov dword [0x409774], ebx
cmp edi, 0x7ffe0000
jne 0x405b94
mov edi, dword [0x409670]
xor edi, edx
and edi, ecx
xor edi, edx
add edi, eax
mov eax, dword [0x40986c]
add edi, eax
lea eax, [edi - 0x16493856]
add edi, 0x7aa
shr eax, 0xc
shl edi, 0x14
or eax, edi
mov edi, dword [0x409670]
add eax, edi
test eax, 0x80000000
mov dword [0x409674], eax
jne 0x405b94
mov edi, dword [0x409770]
xor ebx, edi
and ebx, esi
xor ebx, edi
mov edi, dword [0x409768]
add ebx, edi
mov edi, dword [0x4098ec]
add ebx, edi
lea edi, [ebx - 0x16493856]
add ebx, 0x7aa
shr edi, 0xc
shl ebx, 0x14
or edi, ebx
mov ebx, dword [0x409774]
add edi, ebx
mov dword [0x409778], edi
xor edi, eax
cmp edi, 0x80000000
jne 0x405b94
mov edi, dword [0x409670]
mov ebx, eax
xor ebx, edi
and ebx, edx
xor ebx, edi
add ebx, ecx
mov ecx, dword [0x409880]
lea edx, [ebx + ecx]
lea ecx, [edx - 0x29d0efa3]
add edx, 0x62f105d
shr ecx, 0x1b
shl edx, 5
or ecx, edx
add ecx, eax
and eax, 0x20000
xor eax, ecx
mov dword [0x409678], ecx
test eax, 0x80020000
jne 0x405b94
mov edi, dword [0x409778]
mov eax, dword [0x409774]
mov ebx, dword [0x409770]
mov edx, edi
xor edx, eax
and edx, ebx
xor edx, eax
mov eax, dword [0x409900]
add edx, esi
add edx, eax
lea eax, [edx - 0x29d0efa3]
add edx, 0x62f105d
shr eax, 0x1b
shl edx, 5
or eax, edx
add eax, edi
mov dword [0x40977c], eax
xor eax, ecx
cmp eax, 0x80000000
je 0x405bad
mov eax, dword [esp + 0x10]
inc eax
cmp eax, 0x3e8
mov dword [esp + 0x10], eax
jb 0x4057f7
jmp 0x404cdb
cmp dword [esp + 0x10], 0x3e8
jae 0x404cdb
mov dword [esp + 0x10], 0
call ebp
cdq
mov ecx, 0x1e
mov ebx, dword [0x409660]
idiv ecx
mov ecx, dword [0x409664]
mov edi, dword [0x40965c]
xor ecx, dword [edx*4 + 0x408598]
mov eax, ecx
mov dword [0x409664], ecx
sub eax, ebx
lea esi, [ecx + 0x60000000]
mov edx, eax
mov dword [0x409768], esi
shl edx, 0xa
shr eax, 0x16
or edx, eax
mov eax, dword [0x409658]
xor edi, eax
and edi, ebx
xor edi, eax
mov eax, dword [0x409654]
sub edx, edi
mov edi, dword [0x40975c]
sub edx, eax
mov eax, dword [0x409764]
sub esi, eax
sub edx, 0x49b40821
mov eax, esi
mov dword [0x4098a8], edx
shl eax, 0xa
shr esi, 0x16
or eax, esi
mov esi, dword [0x409760]
xor esi, edi
mov edi, dword [0x409764]
and esi, edi
mov edi, dword [0x40975c]
xor esi, edi
sub eax, esi
mov esi, dword [0x409758]
sub eax, esi
sub eax, 0x49b40821
cmp edx, eax
mov dword [0x409928], eax
jne 0x40749a
mov eax, dword [0x40965c]
mov edx, ecx
xor edx, ebx
and edx, eax
mov eax, dword [0x409658]
xor edx, ebx
add edx, eax
mov eax, dword [0x409870]
add edx, eax
lea eax, [edx - 0x9e1da9e]
add edx, 0x61e2562
shr eax, 0x1b
shl edx, 5
or eax, edx
mov edx, ecx
add eax, ecx
and edx, 0x8008
xor edx, eax
mov dword [0x409668], eax
test edx, 0x80028008
jne 0x40749a
mov esi, dword [0x409768]
mov edx, dword [0x409764]
xor esi, edx
and esi, dword [0x409760]
xor esi, edx
mov edx, dword [0x4098f0]
add esi, edi
add edx, esi
lea edi, [edx - 0x9e1da9e]
add edx, 0x61e2562
shr edi, 0x1b
shl edx, 5
or edi, edx
mov edx, dword [0x409768]
add edi, edx
mov edx, edi
mov dword [0x40976c], edi
xor edx, eax
cmp edx, 0x80000000
jne 0x40749a
mov esi, dword [0x40965c]
mov edx, eax
xor edx, ecx
and edx, ebx
xor edx, ecx
add edx, esi
mov esi, dword [0x409884]
add edx, esi
lea esi, [edx - 0x3fbf4cc0]
add edx, 0x40b340
shr esi, 0x17
shl edx, 9
or esi, edx
mov edx, eax
add esi, eax
and edx, 0x20000000
mov ebx, esi
or edx, 0x20000
and ebx, 0xa0020000
mov dword [0x40966c], esi
cmp ebx, edx
jne 0x40749a
mov ebx, dword [0x409768]
mov edx, edi
xor edx, ebx
mov ebx, dword [0x409764]
and edx, ebx
mov ebx, dword [0x409768]
xor edx, ebx
mov ebx, dword [0x409760]
add edx, ebx
mov ebx, dword [0x409904]
add edx, ebx
lea ebx, [edx - 0x3fbf4cc0]
add edx, 0x40b340
shr ebx, 0x17
shl edx, 9
or ebx, edx
add ebx, edi
mov dword [0x409770], ebx
xor ebx, esi
cmp ebx, 0x80000000
jne 0x40749a
mov ebx, dword [0x409660]
mov edx, esi
xor edx, eax
and edx, ecx
xor edx, eax
add edx, ebx
mov ebx, dword [0x409898]
add ebx, edx
lea edx, [ebx + 0x265e5a51]
add ebx, 0x25a51
shr edx, 0x12
shl ebx, 0xe
or edx, ebx
add edx, esi
test edx, 0x80020000
mov dword [0x409670], edx
jne 0x40749a
mov edx, dword [0x409770]
mov ebx, dword [0x409768]
xor edx, edi
and edx, ebx
mov ebx, dword [0x409764]
xor edx, edi
add edx, ebx
mov ebx, dword [0x409918]
add edx, ebx
lea ebx, [edx + 0x265e5a51]
add edx, 0x25a51
shr ebx, 0x12
shl edx, 0xe
or ebx, edx
mov edx, dword [0x409770]
add ebx, edx
mov edx, dword [0x409670]
sub edx, ebx
mov dword [0x409774], ebx
cmp edx, 0x7ffe0000
jne 0x40749a
mov edx, dword [0x409670]
xor edx, esi
and edx, eax
xor edx, esi
add edx, ecx
mov ecx, dword [0x40986c]
add ecx, edx
lea edx, [ecx - 0x16493856]
add ecx, 0x7aa
shr edx, 0xc
shl ecx, 0x14
or edx, ecx
mov ecx, dword [0x409670]
add edx, ecx
test edx, 0x80000000
mov dword [0x409674], edx
jne 0x40749a
mov ecx, dword [0x409770]
xor ebx, ecx
and ebx, edi
xor ebx, ecx
mov ecx, dword [0x409768]
add ebx, ecx
mov ecx, dword [0x4098ec]
add ecx, ebx
lea edi, [ecx - 0x16493856]
add ecx, 0x7aa
shr edi, 0xc
shl ecx, 0x14
or edi, ecx
mov ecx, dword [0x409774]
add edi, ecx
mov ecx, edi
mov dword [0x409778], edi
xor ecx, edx
cmp ecx, 0x80000000
jne 0x40749a
mov ecx, dword [0x409670]
mov ebx, edx
xor ebx, ecx
and ebx, esi
xor ebx, ecx
add ebx, eax
mov eax, dword [0x409880]
add eax, ebx
lea ecx, [eax - 0x29d0efa3]
add eax, 0x62f105d
shr ecx, 0x1b
shl eax, 5
or ecx, eax
mov eax, edx
add ecx, edx
and eax, 0x20000
xor eax, ecx
mov dword [0x409678], ecx
test eax, 0x80020000
jne 0x40749a
mov ebx, dword [0x409774]
mov eax, edi
xor eax, ebx
mov ebx, dword [0x409770]
and eax, ebx
mov ebx, dword [0x409774]
xor eax, ebx
mov ebx, dword [0x40976c]
add eax, ebx
mov ebx, dword [0x409900]
add eax, ebx
lea ebx, [eax - 0x29d0efa3]
add eax, 0x62f105d
shr ebx, 0x1b
shl eax, 5
or ebx, eax
add ebx, edi
mov dword [0x40977c], ebx
xor ebx, ecx
cmp ebx, 0x80000000
jne 0x40749a
mov ebx, dword [0x409670]
mov eax, ecx
xor eax, edx
and eax, ebx
xor eax, edx
add eax, esi
mov esi, dword [0x409894]
add esi, eax
lea eax, [esi + 0x2441453]
add esi, 0x441453
shr eax, 0x17
shl esi, 9
or eax, esi
add eax, ecx
test eax, 0x80000000
mov dword [0x40967c], eax
jne 0x40749a
mov esi, dword [0x40977c]
mov ebx, dword [0x409774]
xor esi, edi
and esi, ebx
mov ebx, dword [0x409770]
xor esi, edi
add esi, ebx
mov ebx, dword [0x409914]
add esi, ebx
lea ebx, [esi + 0x2441453]
add esi, 0x441453
shr ebx, 0x17
shl esi, 9
or ebx, esi
mov esi, dword [0x40977c]
add ebx, esi
mov dword [0x409780], ebx
xor ebx, eax
cmp ebx, 0x80000000
jne 0x40749a
mov ebx, dword [0x409670]
mov esi, eax
xor esi, ecx
and esi, edx
xor esi, ecx
add esi, ebx
mov ebx, dword [0x4098a8]
add esi, ebx
lea ebx, [esi - 0x275e197f]
add esi, 0x1e681
shr ebx, 0x12
shl esi, 0xe
or ebx, esi
add ebx, eax
test ebx, 0x80000000
mov dword [0x409680], ebx
jne 0x40749a
mov ebp, dword [0x409780]
mov esi, dword [0x40977c]
xor ebp, esi
and ebp, edi
xor ebp, esi
mov esi, dword [0x409774]
add ebp, esi
mov esi, dword [0x409928]
add esi, ebp
lea ebp, [esi - 0x275e197f]
add esi, 0x1e681
shr ebp, 0x12
shl esi, 0xe
or ebp, esi
mov esi, dword [0x409780]
add ebp, esi
cmp ebx, ebp
mov dword [0x409784], ebp
jne 0x407494
mov esi, ebx
xor esi, eax
and esi, ecx
xor esi, eax
add esi, edx
mov edx, dword [0x40987c]
add edx, esi
lea esi, [edx - 0x182c0438]
add edx, 0xbc8
shr esi, 0xc
shl edx, 0x14
or esi, edx
mov edx, dword [0x409780]
xor ebp, edx
mov edx, dword [0x40977c]
and ebp, edx
mov edx, dword [0x409780]
xor ebp, edx
mov edx, dword [0x4098fc]
add ebp, edi
add esi, ebx
add edx, ebp
mov ebp, dword [0x409784]
mov dword [0x409684], esi
lea edi, [edx - 0x182c0438]
add edx, 0xbc8
shr edi, 0xc
shl edx, 0x14
or edi, edx
add edi, ebp
cmp esi, edi
mov dword [0x409788], edi
jne 0x407494
mov edx, esi
xor edx, ebx
and edx, eax
xor edx, ebx
add edx, ecx
mov ecx, dword [0x409890]
add ecx, edx
lea edx, [ecx + 0x21e1cde6]
add ecx, 0x1e1cde6
shr edx, 0x1b
shl ecx, 5
or edx, ecx
mov ecx, edi
xor ecx, ebp
mov ebp, dword [0x409780]
and ecx, ebp
mov ebp, dword [0x409784]
xor ecx, ebp
mov ebp, dword [0x40977c]
add ecx, ebp
mov ebp, dword [0x409910]
add ebp, ecx
add edx, esi
mov dword [0x409688], edx
lea ecx, [ebp + 0x21e1cde6]
add ebp, 0x1e1cde6
shr ecx, 0x1b
shl ebp, 5
or ecx, ebp
add ecx, edi
cmp edx, ecx
mov dword [0x40978c], ecx
jne 0x407494
mov ebp, edx
xor ecx, edi
xor ebp, esi
and ebp, ebx
xor ebp, esi
add ebp, eax
mov eax, dword [0x4098a4]
add ebp, eax
lea eax, [ebp - 0x3cc8f82a]
add ebp, 0x3707d6
shr eax, 0x17
shl ebp, 9
or eax, ebp
mov ebp, dword [0x409784]
and ecx, ebp
mov ebp, dword [0x409780]
xor ecx, edi
add eax, edx
add ecx, ebp
mov ebp, dword [0x409924]
add ebp, ecx
mov dword [0x40968c], eax
lea ecx, [ebp - 0x3cc8f82a]
add ebp, 0x3707d6
shr ecx, 0x17
shl ebp, 9
or ecx, ebp
mov ebp, dword [0x40978c]
add ecx, ebp
cmp eax, ecx
mov dword [0x409790], ecx
jne 0x407494
mov ebp, eax
xor ebp, edx
and ebp, esi
xor ebp, edx
add ebp, ebx
mov ebx, dword [0x409878]
add ebp, ebx
lea ebx, [ebp + 0x10d87]
add ebp, 0xf4d50d87
shl ebx, 0xe
shr ebp, 0x12
or ebx, ebp
add ebx, eax
mov dword [0x409690], ebx
mov ebx, dword [0x40978c]
mov ebp, ebx
xor ebp, ecx
and ebp, edi
xor ebp, ebx
mov ebx, dword [0x409784]
add ebp, ebx
mov ebx, dword [0x4098f8]
add ebp, ebx
lea ebx, [ebp + 0x10d87]
add ebp, 0xf4d50d87
shl ebx, 0xe
shr ebp, 0x12
or ebx, ebp
mov ebp, dword [0x409690]
add ebx, ecx
cmp ebp, ebx
mov dword [0x409794], ebx
jne 0x407494
mov ebx, eax
xor ebx, ebp
and ebx, edx
xor ebx, eax
add ebx, esi
mov esi, dword [0x40988c]
add ebx, esi
lea esi, [ebx + 0x455a14ed]
add ebx, 0x4ed
shr esi, 0xc
shl ebx, 0x14
or esi, ebx
mov ebx, dword [0x409794]
add esi, ebp
mov ebp, dword [0x40978c]
xor ebx, ecx
mov dword [0x409694], esi
and ebx, ebp
mov ebp, dword [0x409794]
xor ebx, ecx
add ebx, edi
mov edi, dword [0x40990c]
add ebx, edi
lea edi, [ebx + 0x455a14ed]
add ebx, 0x4ed
shr edi, 0xc
shl ebx, 0x14
or edi, ebx
add edi, ebp
cmp esi, edi
mov dword [0x409798], edi
jne 0x407494
mov ebx, dword [0x409690]
mov ebp, esi
xor ebp, ebx
and ebp, eax
xor ebp, ebx
add ebp, edx
mov edx, dword [0x4098a0]
add edx, ebp
mov ebp, edi
lea ebx, [edx + 0x1e3e905]
add edx, 0xa9e3e905
shl ebx, 5
shr edx, 0x1b
or ebx, edx
mov edx, dword [0x409794]
xor ebp, edx
add ebx, esi
and ebp, ecx
mov dword [0x409698], ebx
xor ebp, edx
mov edx, dword [0x40978c]
add ebp, edx
mov edx, dword [0x409920]
add ebp, edx
lea edx, [ebp - 0x561c16fb]
add ebp, 0x1e3e905
shr edx, 0x1b
shl ebp, 5
or edx, ebp
add edx, edi
cmp ebx, edx
mov dword [0x40979c], edx
jne 0x407494
mov ebp, dword [0x409690]
xor ebx, esi
and ebx, ebp
mov ebp, dword [0x409794]
xor ebx, esi
add ebx, eax
mov eax, dword [0x409874]
add ebx, eax
lea eax, [ebx - 0x3105c08]
add ebx, 0x6fa3f8
shr eax, 0x17
shl ebx, 9
or eax, ebx
mov ebx, dword [0x409698]
add eax, ebx
mov ebx, edx
xor ebx, edi
mov dword [0x40969c], eax
and ebx, ebp
xor ebx, edi
add ebx, ecx
mov ecx, dword [0x4098f4]
add ebx, ecx
lea ecx, [ebx - 0x3105c08]
add ebx, 0x6fa3f8
shr ecx, 0x17
shl ebx, 9
or ecx, ebx
add ecx, edx
cmp eax, ecx
mov dword [0x4097a0], ecx
jne 0x407494
mov ebx, dword [0x409698]
mov ebp, eax
xor ebp, ebx
and ebp, esi
xor ebp, ebx
mov ebx, dword [0x409888]
add ebp, ebx
mov ebx, dword [0x409690]
add ebp, ebx
lea ebx, [ebp + 0x302d9]
add ebp, 0x676f02d9
shl ebx, 0xe
shr ebp, 0x12
or ebx, ebp
mov ebp, dword [0x409908]
add ebx, eax
mov dword [0x4096a0], ebx
mov ebx, ecx
xor ebx, edx
and ebx, edi
xor ebx, edx
add ebx, ebp
mov ebp, dword [0x409794]
add ebp, ebx
lea ebx, [ebp + 0x302d9]
add ebp, 0x676f02d9
shl ebx, 0xe
shr ebp, 0x12
or ebx, ebp
mov ebp, dword [0x4096a0]
add ebx, ecx
cmp ebp, ebx
mov dword [0x4097a4], ebx
jne 0x407494
mov ebx, dword [0x409698]
xor ebp, eax
and ebp, ebx
mov ebx, dword [0x40989c]
xor ebp, eax
add ebp, ebx
mov ebx, dword [0x4096a0]
add esi, ebp
lea ebp, [esi - 0x72d5b376]
add esi, 0xc8a
shr ebp, 0xc
shl esi, 0x14
or ebp, esi
add ebp, ebx
mov ebx, dword [0x4097a4]
mov esi, ebx
mov dword [0x4096a4], ebp
xor esi, ecx
and esi, edx
xor esi, ecx
add esi, dword [0x40991c]
add esi, edi
lea edi, [esi - 0x72d5b376]
add esi, 0xc8a
shr edi, 0xc
shl esi, 0x14
or edi, esi
add edi, ebx
cmp ebp, edi
mov dword [0x4097a8], edi
jne 0x407494
mov ebx, dword [0x4096a0]
mov esi, ebp
xor esi, ebx
mov ebx, dword [0x409880]
xor esi, eax
add esi, ebx
mov ebx, dword [0x409698]
add ebx, esi
lea esi, [ebx - 0x5c6be]
add ebx, 0xffa3942
shr esi, 0x1c
shl ebx, 4
or esi, ebx
mov ebx, dword [0x4097a4]
xor edi, ebx
mov ebx, dword [0x409900]
xor edi, ecx
add esi, ebp
add edi, ebx
mov ebx, dword [0x4097a8]
add edi, edx
mov dword [0x4096a8], esi
lea edx, [edi - 0x5c6be]
add edi, 0xffa3942
shr edx, 0x1c
shl edi, 4
or edx, edi
add edx, ebx
cmp esi, edx
mov dword [0x4097ac], edx
jne 0x407494
mov ebx, dword [0x4096a0]
mov edi, esi
xor edi, ebp
xor edi, ebx
mov ebx, dword [0x40988c]
add edi, ebx
mov ebx, dword [0x4097a8]
add eax, edi
lea edi, [eax + 0x11f681]
add eax, 0x8771f681
shl edi, 0xb
shr eax, 0x15
or edi, eax
mov eax, edx
xor eax, ebx
mov ebx, dword [0x4097a4]
xor eax, ebx
mov ebx, dword [0x40990c]
add eax, ebx
add edi, esi
add ecx, eax
mov dword [0x4096ac], edi
lea eax, [ecx + 0x11f681]
add ecx, 0x8771f681
shl eax, 0xb
shr ecx, 0x15
or eax, ecx
add eax, edx
cmp edi, eax
mov dword [0x4097b0], eax
jne 0x407494
mov ebx, dword [0x409898]
mov ecx, edi
xor ecx, esi
xor eax, edx
xor ecx, ebp
add ecx, ebx
mov ebx, dword [0x4096a0]
add ecx, ebx
lea ebx, [ecx + 0x6d9d6122]
add ecx, 0x6122
shr ebx, 0x10
shl ecx, 0x10
or ebx, ecx
mov ecx, dword [0x4097a8]
xor eax, ecx
mov ecx, dword [0x409918]
add eax, ecx
mov ecx, dword [0x4097a4]
add ecx, eax
add ebx, edi
mov dword [0x4096b0], ebx
lea eax, [ecx + 0x6d9d6122]
add ecx, 0x6122
shr eax, 0x10
shl ecx, 0x10
or eax, ecx
mov ecx, dword [0x4097b0]
add eax, ecx
mov dword [0x4097b4], eax
xor eax, ebx
cmp eax, 0x80000000
jne 0x407494
mov eax, ebx
xor eax, edi
xor eax, esi
add eax, dword [0x4098a4]
add ebp, eax
lea eax, [ebp - 0x21ac7f4]
add ebp, 0xc
shr eax, 9
shl ebp, 0x17
or eax, ebp
mov ebp, dword [0x4097b4]
xor ebp, ecx
mov ecx, dword [0x409924]
xor ebp, edx
add eax, ebx
add ebp, ecx
mov ecx, dword [0x4097a8]
add ebp, ecx
mov dword [0x4096b4], eax
lea ecx, [ebp - 0x21ac7f4]
add ebp, 0xc
shr ecx, 9
shl ebp, 0x17
or ecx, ebp
mov ebp, dword [0x4097b4]
add ecx, ebp
mov ebp, ecx
mov dword [0x4097b8], ecx
xor ebp, eax
cmp ebp, 0x80000000
jne 0x407494
mov ebp, eax
xor ebp, ebx
xor ebp, edi
add ebp, esi
mov esi, dword [0x409870]
add esi, ebp
mov ebp, dword [0x4097b4]
lea edi, [esi - 0x5b4115bc]
add esi, 0x4beea44
shr edi, 0x1c
shl esi, 4
or edi, esi
mov esi, ecx
xor esi, ebp
mov ebp, dword [0x4097b0]
xor esi, ebp
add edi, eax
add esi, edx
mov edx, dword [0x4098f0]
add edx, esi
mov dword [0x4096b8], edi
lea esi, [edx - 0x5b4115bc]
add edx, 0x4beea44
shr esi, 0x1c
shl edx, 4
or esi, edx
add esi, ecx
mov edx, esi
mov dword [0x4097bc], esi
xor edx, edi
cmp edx, 0x80000000
jne 0x407494
mov ebp, dword [0x4096ac]
mov edx, edi
xor edx, eax
xor esi, ecx
xor edx, ebx
add edx, ebp
mov ebp, dword [0x40987c]
add ebp, edx
lea edx, [ebp + 0x4bdecfa9]
add ebp, 0x1ecfa9
shr edx, 0x15
shl ebp, 0xb
or edx, ebp
mov ebp, dword [0x4097b4]
xor esi, ebp
mov ebp, dword [0x4097b0]
add esi, ebp
mov ebp, dword [0x4098fc]
add ebp, esi
add edx, edi
mov dword [0x4096bc], edx
lea esi, [ebp + 0x4bdecfa9]
add ebp, 0x1ecfa9
shr esi, 0x15
shl ebp, 0xb
or esi, ebp
mov ebp, dword [0x4097bc]
add esi, ebp
mov ebp, esi
mov dword [0x4097c0], esi
xor ebp, edx
cmp ebp, 0x80000000
jne 0x407494
mov ebp, edx
xor ebp, edi
xor ebp, eax
add ebp, dword [0x409888]
add ebx, ebp
lea ebp, [ebx + 0x4b60]
add ebx, 0xf6bb4b60
shl ebp, 0x10
shr ebx, 0x10
or ebp, ebx
mov ebx, esi
add ebp, edx
mov dword [0x4096c0], ebp
mov ebp, dword [0x4097bc]
xor ebx, ebp
mov ebp, dword [0x409908]
xor ebx, ecx
add ebx, ebp
mov ebp, dword [0x4097b4]
add ebp, ebx
lea ebx, [ebp + 0x4b60]
add ebp, 0xf6bb4b60
shl ebx, 0x10
shr ebp, 0x10
or ebx, ebp
mov ebp, dword [0x4096c0]
add ebx, esi
mov dword [0x4097c4], ebx
xor ebx, ebp
cmp ebx, 0x80000000
jne 0x407494
mov ebx, ebp
xor ebx, edx
xor ebx, edi
add ebx, dword [0x409894]
add ebx, eax
lea eax, [ebx - 0x41404390]
add ebx, 0x70
shr eax, 9
shl ebx, 0x17
or eax, ebx
mov ebx, dword [0x4097c4]
add eax, ebp
mov ebp, dword [0x4097bc]
xor ebx, esi
mov dword [0x4096c4], eax
xor ebx, ebp
mov ebp, dword [0x409914]
add ebx, ebp
add ebx, ecx
lea ecx, [ebx - 0x41404390]
add ebx, 0x70
shr ecx, 9
shl ebx, 0x17
or ecx, ebx
mov ebx, dword [0x4097c4]
add ecx, ebx
mov ebx, ecx
mov dword [0x4097c8], ecx
xor ebx, eax
cmp ebx, 0x80000000
jne 0x407494
mov ebp, dword [0x4096c0]
mov ebx, eax
xor ebx, ebp
mov ebp, dword [0x4098a0]
xor ebx, edx
add ebx, ebp
add edi, ebx
mov ebx, dword [0x4097c4]
lea ebp, [edi + 0x89b7ec6]
add edi, 0x289b7ec6
shl ebp, 4
shr edi, 0x1c
or ebp, edi
mov edi, ecx
xor edi, ebx
mov ebx, dword [0x409920]
xor edi, esi
add ebp, eax
add edi, ebx
mov ebx, dword [0x4097bc]
add ebx, edi
mov dword [0x4096c8], ebp
lea edi, [ebx + 0x89b7ec6]
add ebx, 0x289b7ec6
shl edi, 4
shr ebx, 0x1c
or edi, ebx
add edi, ecx
mov dword [0x4097cc], edi
xor edi, ebp
cmp edi, 0x80000000
jne 0x407494
mov ebx, dword [0x4096c0]
mov edi, ebp
xor edi, eax
xor edi, ebx
add edi, edx
mov edx, dword [0x40986c]
add edx, edi
mov edi, dword [0x4097c4]
lea ebx, [edx + 0x127fa]
add edx, 0xeaa127fa
shl ebx, 0xb
shr edx, 0x15
or ebx, edx
mov edx, dword [0x4097cc]
xor edx, ecx
add ebx, ebp
xor edx, edi
mov dword [0x4096cc], ebx
add edx, esi
mov esi, dword [0x4098ec]
add esi, edx
lea edx, [esi + 0x127fa]
add esi, 0xeaa127fa
shl edx, 0xb
shr esi, 0x15
or edx, esi
mov esi, dword [0x4097cc]
add edx, esi
mov esi, edx
mov dword [0x4097d0], edx
xor esi, ebx
cmp esi, 0x80000000
jne 0x407494
mov edi, dword [0x4096c0]
mov esi, ebx
xor esi, ebp
xor esi, eax
add esi, edi
mov edi, dword [0x409878]
add edi, esi
lea esi, [edi + 0x3085]
add edi, 0xd4ef3085
shl esi, 0x10
shr edi, 0x10
or esi, edi
mov edi, dword [0x4097cc]
xor edx, edi
mov edi, dword [0x4097c4]
xor edx, ecx
add esi, ebx
add edx, edi
mov edi, dword [0x4098f8]
add edx, edi
mov dword [0x4096d0], esi
lea edi, [edx + 0x3085]
add edx, 0xd4ef3085
shl edi, 0x10
shr edx, 0x10
or edi, edx
mov edx, dword [0x4097d0]
add edi, edx
mov edx, edi
mov dword [0x4097d4], edi
xor edx, esi
cmp edx, 0x80000000
jne 0x407494
mov edx, esi
xor edx, ebx
xor edx, ebp
mov ebp, dword [0x409884]
add edx, ebp
mov ebp, dword [0x4097d0]
add eax, edx
lea edx, [eax + 0x4881d05]
add eax, 0x105
shr edx, 9
shl eax, 0x17
or edx, eax
mov eax, edi
xor eax, ebp
mov ebp, dword [0x4097cc]
xor eax, ebp
mov ebp, dword [0x409904]
add eax, ebp
add edx, esi
add ecx, eax
mov dword [0x4096d4], edx
lea eax, [ecx + 0x4881d05]
add ecx, 0x105
shr eax, 9
shl ecx, 0x17
or eax, ecx
add eax, edi
mov ecx, eax
mov dword [0x4097d8], eax
xor ecx, edx
cmp ecx, 0x80000000
jne 0x407494
mov ebp, dword [0x409890]
mov ecx, edx
xor ecx, esi
xor ecx, ebx
add ecx, ebp
mov ebp, dword [0x4096c8]
add ebp, ecx
lea ecx, [ebp - 0x262b2fc7]
add ebp, 0x9d4d039
shr ecx, 0x1c
shl ebp, 4
or ecx, ebp
mov ebp, dword [0x4097d0]
add ecx, edx
mov dword [0x4096d8], ecx
mov ecx, eax
xor ecx, edi
xor ecx, ebp
mov ebp, dword [0x409910]
add ecx, ebp
mov ebp, dword [0x4097cc]
add ebp, ecx
lea ecx, [ebp - 0x262b2fc7]
add ebp, 0x9d4d039
shr ecx, 0x1c
shl ebp, 4
or ecx, ebp
add ecx, eax
mov dword [0x4097dc], ecx
mov ebp, ecx
mov ecx, dword [0x4096d8]
xor ebp, ecx
cmp ebp, 0x80000000
jne 0x407494
mov ebp, dword [0x40989c]
xor ecx, edx
xor ecx, esi
add ecx, ebp
mov ebp, dword [0x4097d0]
add ebx, ecx
lea ecx, [ebx + 0x1b99e5]
add ebx, 0xe6db99e5
shl ecx, 0xb
shr ebx, 0x15
or ecx, ebx
mov ebx, dword [0x4096d8]
add ecx, ebx
mov ebx, dword [0x4097dc]
xor ebx, eax
mov dword [0x4096dc], ecx
xor ebx, edi
add ebx, ebp
mov ebp, dword [0x40991c]
add ebp, ebx
lea ebx, [ebp + 0x1b99e5]
add ebp, 0xe6db99e5
shl ebx, 0xb
shr ebp, 0x15
or ebx, ebp
mov ebp, dword [0x4097dc]
add ebx, ebp
mov dword [0x4097e0], ebx
xor ebx, ecx
cmp ebx, 0x80000000
jne 0x407494
mov ebp, dword [0x4096d8]
mov ebx, ecx
xor ebx, ebp
mov ebp, dword [0x4097e0]
xor ebx, edx
add ebx, esi
mov esi, dword [0x4098a8]
add ebx, esi
lea esi, [ebx + 0x7cf8]
add ebx, 0x1fa27cf8
shl esi, 0x10
shr ebx, 0x10
or esi, ebx
mov ebx, ebp
xor ebx, dword [0x4097dc]
add esi, ecx
mov dword [0x4096e0], esi
xor ebx, eax
add ebx, edi
mov edi, dword [0x409928]
add ebx, edi
lea edi, [ebx + 0x7cf8]
add ebx, 0x1fa27cf8
shl edi, 0x10
shr ebx, 0x10
or edi, ebx
add edi, ebp
mov ebx, edi
mov dword [0x4097e4], edi
xor ebx, esi
cmp ebx, 0x80000000
jne 0x407494
mov ebx, esi
xor ebx, ecx
xor ebx, dword [0x4096d8]
add ebx, edx
mov edx, dword [0x409874]
add edx, ebx
lea ebx, [edx - 0x3b53a99b]
add edx, 0x65
shr ebx, 9
shl edx, 0x17
or ebx, edx
add ebx, esi
mov edx, ebx
mov dword [0x4096e4], ebx
xor edx, ecx
test edx, 0x80000000
jne 0x407494
mov edx, edi
xor edx, ebp
mov ebp, dword [0x4097dc]
xor edx, ebp
add edx, eax
mov eax, dword [0x4098f4]
add edx, eax
lea eax, [edx - 0x3b53a99b]
add edx, 0x65
shr eax, 9
shl edx, 0x17
or eax, edx
add eax, edi
mov edx, eax
mov dword [0x4097e8], eax
xor edx, ebx
cmp edx, 0x80000000
jne 0x407494
mov ebp, dword [0x4096d8]
mov edx, ecx
not edx
or edx, ebx
xor edx, esi
add edx, ebp
mov ebp, dword [0x40986c]
add ebp, edx
lea edx, [ebp + 0x292244]
add ebp, 0xf4292244
shl edx, 6
shr ebp, 0x1a
or edx, ebp
add edx, ebx
mov ebp, edx
mov dword [0x4096e8], edx
xor ebp, esi
test ebp, 0x80000000
jne 0x407494
mov ebp, dword [0x4097e0]
not ebp
or ebp, eax
mov eax, dword [0x4097dc]
xor ebp, edi
add ebp, eax
mov eax, dword [0x4098ec]
add eax, ebp
lea ebp, [eax + 0x292244]
add eax, 0xf4292244
shl ebp, 6
shr eax, 0x1a
or ebp, eax
mov eax, dword [0x4097e8]
add ebp, eax
mov eax, ebp
mov dword [0x4097ec], ebp
xor eax, edx
cmp eax, 0x80000000
jne 0x407494
mov eax, esi
not eax
or eax, edx
xor eax, ebx
add eax, ecx
mov ecx, dword [0x409888]
add ecx, eax
lea eax, [ecx + 0x2aff97]
add ecx, 0x432aff97
shl eax, 0xa
shr ecx, 0x16
or eax, ecx
mov ecx, edi
not ecx
or ecx, ebp
mov ebp, dword [0x4097e8]
xor ecx, ebp
mov ebp, dword [0x4097e0]
add ecx, ebp
mov ebp, dword [0x409908]
add ebp, ecx
add eax, edx
mov dword [0x4096ec], eax
lea ecx, [ebp + 0x2aff97]
add ebp, 0x432aff97
shl ecx, 0xa
shr ebp, 0x16
or ecx, ebp
mov ebp, dword [0x4097ec]
add ecx, ebp
mov ebp, ecx
mov dword [0x4097f0], ecx
xor ebp, eax
cmp ebp, 0x80000000
jne 0x407494
mov ebp, ebx
not ebp
or ebp, eax
xor ebp, edx
add ebp, esi
mov esi, dword [0x4098a4]
add ebp, esi
lea esi, [ebp + 0x23a7]
add ebp, 0xab9423a7
shl esi, 0xf
shr ebp, 0x11
or esi, ebp
add esi, eax
mov dword [0x4096f0], esi
xor esi, edx
test esi, 0x80000000
jne 0x407494
mov esi, dword [0x4097e8]
mov ebp, dword [0x4097ec]
not esi
or esi, ecx
xor esi, ebp
mov ebp, dword [0x4096f0]
add esi, edi
mov edi, dword [0x409924]
add esi, edi
lea edi, [esi + 0x23a7]
add esi, 0xab9423a7
shl edi, 0xf
shr esi, 0x11
or edi, esi
add edi, ecx
mov esi, edi
mov dword [0x4097f4], edi
xor esi, ebp
cmp esi, 0x80000000
jne 0x407494
mov esi, edx
not esi
or esi, ebp
xor esi, eax
add esi, ebx
mov ebx, dword [0x409880]
add ebx, esi
lea esi, [ebx + 0x39]
add ebx, 0xfc93a039
shl esi, 0x15
shr ebx, 0xb
or esi, ebx
add esi, ebp
mov ebx, esi
mov dword [0x4096f4], esi
xor ebx, eax
test ebx, 0x80000000
jne 0x407494
mov ebx, dword [0x4097ec]
mov ebp, dword [0x4097e8]
not ebx
or ebx, edi
xor ebx, ecx
add ebx, ebp
mov ebp, dword [0x409900]
add ebp, ebx
lea ebx, [ebp + 0x39]
add ebp, 0xfc93a039
shl ebx, 0x15
shr ebp, 0xb
or ebx, ebp
add ebx, edi
mov dword [0x4097f8], ebx
xor ebx, esi
cmp ebx, 0x80000000
jne 0x407494
mov edi, dword [0x4096f0]
mov ebx, eax
not ebx
or ebx, esi
xor ebx, edi
add ebx, edx
mov edx, dword [0x40989c]
add edx, ebx
lea ebx, [edx + 0x15b59c3]
add edx, 0x655b59c3
shl ebx, 6
shr edx, 0x1a
or ebx, edx
add ebx, esi
mov edx, ebx
mov dword [0x4096f8], ebx
xor edx, edi
test edx, 0x80000000
jne 0x407494
mov edx, dword [0x4097f8]
mov ebp, dword [0x4097f4]
mov edi, ecx
not edi
or edi, edx
xor edi, ebp
mov ebp, dword [0x4097ec]
add edi, ebp
mov ebp, dword [0x40991c]
add edi, ebp
lea ebp, [edi + 0x15b59c3]
add edi, 0x655b59c3
shl ebp, 6
shr edi, 0x1a
or ebp, edi
add ebp, edx
mov edi, ebp
mov dword [0x4097fc], ebp
xor edi, ebx
cmp edi, 0x80000000
jne 0x407494
mov edi, dword [0x4096f0]
not edi
or edi, ebx
xor edi, esi
add edi, eax
mov eax, dword [0x409878]
add eax, edi
lea edi, [eax + 0xccc92]
add eax, 0x8f0ccc92
shl edi, 0xa
shr eax, 0x16
or edi, eax
add edi, ebx
mov eax, edi
mov dword [0x4096fc], edi
xor eax, esi
test eax, 0x80000000
jne 0x407494
mov eax, dword [0x4097f4]
not eax
or eax, ebp
xor eax, edx
add eax, ecx
mov ecx, dword [0x4098f8]
add ecx, eax
lea eax, [ecx + 0xccc92]
add ecx, 0x8f0ccc92
shl eax, 0xa
shr ecx, 0x16
or eax, ecx
add eax, ebp
mov edx, eax
mov dword [0x409800], eax
xor edx, edi
cmp edx, 0x80000000
jne 0x407494
mov edx, dword [0x4096f0]
mov ecx, esi
not ecx
or ecx, edi
xor ecx, ebx
add ecx, edx
mov edx, dword [0x409894]
add ecx, edx
lea edx, [ecx - 0x100b83]
add ecx, 0x1f47d
shr edx, 0x11
shl ecx, 0xf
or edx, ecx
add edx, edi
mov ecx, edx
mov dword [0x409700], edx
xor ecx, ebx
test ecx, 0x80000000
jne 0x407494
mov ecx, dword [0x4097f8]
not ecx
or ecx, eax
mov eax, dword [0x4097f4]
xor ecx, ebp
add ecx, eax
mov eax, dword [0x409914]
add ecx, eax
lea eax, [ecx - 0x100b83]
add ecx, 0x1f47d
shr eax, 0x11
shl ecx, 0xf
or eax, ecx
mov ecx, dword [0x409800]
add eax, ecx
mov ecx, eax
mov dword [0x409804], eax
xor ecx, edx
cmp ecx, 0x80000000
jne 0x407494
mov ecx, ebx
not ecx
or ecx, edx
xor ecx, edi
add ecx, esi
mov esi, dword [0x409870]
add ecx, esi
lea esi, [ecx + 0x5d1]
add ecx, 0x85845dd1
shl esi, 0x15
shr ecx, 0xb
or esi, ecx
add esi, edx
mov ecx, esi
mov dword [0x409704], esi
xor ecx, edi
test ecx, 0x80000000
jne 0x407494
mov ecx, ebp
not ecx
or ecx, eax
mov eax, dword [0x409800]
xor ecx, eax
mov eax, dword [0x4097f8]
add ecx, eax
mov eax, dword [0x4098f0]
add eax, ecx
lea ecx, [eax + 0x5d1]
add eax, 0x85845dd1
shl ecx, 0x15
shr eax, 0xb
or ecx, eax
mov eax, dword [0x409804]
add ecx, eax
mov dword [0x409808], ecx
xor ecx, esi
cmp ecx, 0x80000000
jne 0x407494
mov ecx, edi
mov eax, dword [0x40988c]
not ecx
or ecx, esi
xor ecx, edx
add ecx, ebx
add ecx, eax
lea eax, [ecx + 0x6fa87e4f]
add ecx, 0x3a87e4f
shr eax, 0x1a
shl ecx, 6
or eax, ecx
add eax, esi
mov ecx, eax
mov dword [0x409708], eax
xor ecx, edx
test ecx, 0x80000000
jne 0x407494
mov ecx, dword [0x409800]
mov ebx, dword [0x409808]
not ecx
or ecx, ebx
mov ebx, dword [0x409804]
xor ecx, ebx
mov ebx, dword [0x40990c]
add ecx, ebp
lea ebp, [ecx + ebx]
mov ebx, dword [0x409808]
lea ecx, [ebp + 0x6fa87e4f]
add ebp, 0x3a87e4f
shr ecx, 0x1a
shl ebp, 6
or ecx, ebp
add ecx, ebx
mov ebp, ecx
mov dword [0x40980c], ecx
xor ebp, eax
cmp ebp, 0x80000000
jne 0x407494
mov ebp, edx
not ebp
or ebp, eax
xor ebp, esi
add ebp, edi
mov edi, dword [0x4098a8]
add ebp, edi
lea edi, [ebp + 0x2ce6e0]
add ebp, 0xfe2ce6e0
shl edi, 0xa
shr ebp, 0x16
or edi, ebp
add edi, eax
mov ebp, edi
mov dword [0x40970c], edi
xor ebp, esi
test ebp, 0x80000000
jne 0x407494
mov ebp, dword [0x409804]
not ebp
or ebp, ecx
xor ebp, ebx
mov ebx, dword [0x409800]
add ebp, ebx
mov ebx, dword [0x409928]
add ebp, ebx
lea ebx, [ebp + 0x2ce6e0]
add ebp, 0xfe2ce6e0
shl ebx, 0xa
shr ebp, 0x16
or ebx, ebp
mov ebp, edi
add ebx, ecx
xor ebp, ebx
mov dword [0x409810], ebx
cmp ebp, 0x80000000
jne 0x407494
mov ebp, esi
not ebp
or ebp, edi
xor ebp, eax
add ebp, edx
mov edx, dword [0x409884]
add edx, ebp
lea ebp, [edx - 0x5cfebcec]
add edx, 0x14314
shr ebp, 0x11
shl edx, 0xf
or ebp, edx
mov edx, eax
add ebp, edi
xor edx, ebp
mov dword [0x409710], ebp
test edx, 0x80000000
jne 0x407494
mov edx, dword [0x409808]
not edx
or edx, ebx
mov ebx, dword [0x409804]
xor edx, ecx
add edx, ebx
mov ebx, dword [0x409904]
add edx, ebx
lea ebx, [edx - 0x5cfebcec]
add edx, 0x14314
shr ebx, 0x11
shl edx, 0xf
or ebx, edx
mov edx, dword [0x409810]
add ebx, edx
mov edx, ebx
mov dword [0x409814], ebx
xor edx, ebp
cmp edx, 0x80000000
jne 0x407494
mov edx, eax
not edx
or edx, ebp
xor edx, edi
add edx, esi
mov esi, dword [0x4098a0]
add esi, edx
lea edx, [esi + 0x1a1]
add esi, 0x4e0811a1
shl edx, 0x15
shr esi, 0xb
or edx, esi
mov esi, ecx
not esi
add edx, ebp
mov ebp, dword [0x409810]
or esi, ebx
mov dword [0x409714], edx
xor esi, ebp
mov ebp, dword [0x409808]
add esi, ebp
mov ebp, dword [0x409920]
add ebp, esi
lea esi, [ebp + 0x1a1]
add ebp, 0x4e0811a1
shl esi, 0x15
shr ebp, 0xb
or esi, ebp
add esi, ebx
mov ebp, esi
mov dword [0x409818], esi
xor ebp, edx
cmp ebp, 0x80000000
jne 0x407494
mov ebp, edi
not ebp
or ebp, edx
xor ebp, dword [0x409710]
add ebp, eax
mov eax, dword [0x40987c]
add ebp, eax
lea eax, [ebp + 0x3537e82]
add ebp, 0xf7537e82
shl eax, 6
shr ebp, 0x1a
or eax, ebp
mov ebp, dword [0x409810]
not ebp
or ebp, esi
add eax, edx
xor ebp, ebx
mov dword [0x409718], eax
add ebp, ecx
mov ecx, dword [0x4098fc]
lea ebx, [ecx + ebp]
lea ecx, [ebx + 0x3537e82]
add ebx, 0xf7537e82
shl ecx, 6
shr ebx, 0x1a
or ecx, ebx
add ecx, esi
mov ebx, ecx
mov dword [0x40981c], ecx
xor ebx, eax
cmp ebx, 0x80000000
jne 0x407494
mov ebx, dword [0x409608]
mov ebp, dword [0x409604]
add ebx, ecx
add ebp, eax
cmp ebp, ebx
jne 0x407494
mov ebx, dword [0x409710]
mov ebp, dword [0x409918]
not ebx
or ebx, eax
xor ebx, edx
add ebx, edi
mov edi, dword [0x409898]
add edi, ebx
lea ebx, [edi + 0x3af235]
add edi, 0xbd3af235
shl ebx, 0xa
shr edi, 0x16
or ebx, edi
mov edi, dword [0x409814]
not edi
or edi, ecx
add ebx, eax
xor edi, esi
mov dword [0x40971c], ebx
add edi, ebp
mov ebp, dword [0x409810]
add ebp, edi
lea edi, [ebp + 0x3af235]
add ebp, 0xbd3af235
shl edi, 0xa
shr ebp, 0x16
or edi, ebp
mov ebp, dword [0x409620]
add edi, ecx
mov dword [0x409820], edi
add ebp, edi
mov edi, dword [0x40961c]
add edi, ebx
cmp edi, ebp
jne 0x407494
mov ebp, dword [0x409874]
mov edi, edx
not edi
or edi, ebx
xor edi, eax
add edi, ebp
mov ebp, dword [0x409710]
add ebp, edi
lea edi, [ebp + 0x2ad7d2bb]
add ebp, 0x1d2bb
shr edi, 0x11
shl ebp, 0xf
or edi, ebp
mov ebp, dword [0x409820]
add edi, ebx
mov ebx, esi
not ebx
or ebx, ebp
mov ebp, dword [0x4098f4]
xor ebx, ecx
mov dword [0x409720], edi
add ebx, ebp
mov ebp, dword [0x409814]
add ebp, ebx
lea ebx, [ebp + 0x2ad7d2bb]
add ebp, 0x1d2bb
shr ebx, 0x11
shl ebp, 0xf
or ebx, ebp
mov ebp, dword [0x409820]
add ebx, ebp
mov ebp, dword [0x409618]
mov dword [0x409824], ebx
add ebp, ebx
mov ebx, dword [0x409614]
add ebx, edi
cmp ebx, ebp
jne 0x407494
mov ebp, dword [0x40971c]
mov ebx, dword [0x409890]
not eax
or eax, edi
xor eax, ebp
mov ebp, dword [0x409820]
add eax, ebx
add eax, edx
mov edx, dword [0x409824]
not ecx
lea ebx, [eax - 0x14792c6f]
add eax, 0x391
shr ebx, 0xb
shl eax, 0x15
or ebx, eax
or ecx, edx
add ebx, edi
mov edi, dword [0x409910]
xor ecx, ebp
mov dword [0x409724], ebx
add ecx, edi
add ecx, esi
lea eax, [ecx - 0x14792c6f]
add ecx, 0x391
shr eax, 0xb
shl ecx, 0x15
or eax, ecx
add eax, edx
mov edx, dword [0x409610]
mov dword [0x409828], eax
add edx, eax
mov eax, dword [0x40960c]
add eax, ebx
cmp eax, edx
je 0x4074b3
mov ebp, dword [sym.imp.MSVCRT.dll_rand]
mov eax, dword [esp + 0x10]
inc eax
cmp eax, 0x4000000
mov dword [esp + 0x10], eax
jb 0x405bc3
jmp 0x404cdb
cmp dword [esp + 0x10], 0x4000000
jae 0x404cd5
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret