Function at 0x417a60
Capabilities:
Encode data using xor

Disassembly:
and dword [0x45a60c], 0x48dfd2cd
sub esp, 0x768
mov ecx, dword [0x45c020]
movzx eax, word [0x465e9c]
and ecx, 0xc711188c
or eax, ecx
mov word [0x465e9c], ax
mov eax, dword [0x45f0d8]
or eax, 0x8ecec0b2
mov dword [0x4627fc], eax
mov eax, dword [0x45b524]
sar eax, 1
imul eax, eax, 0xef9302ed
xor eax, 0x72594c2c
add dword [0x462968], eax
movsx eax, word [0x464968]
cmp eax, 0xb7bbe44c
jne 0x417adb
imul eax, dword [0x45b2b8], 0xf9d830bc
cmp eax, 0x561291cc
je 0x417adb
mov dword [0x460ae4], 0x5da920f9
or dword [0x4593fc], 0xe2787558
lea ecx, [esp + 4]
call fcn.00422bb0
mov eax, dword [0x45e58c]
mov ecx, 0xa8fb826d
sub ecx, eax
add dword [0x4609a0], ecx
mov eax, dword [0x45f598]
xor eax, 0x7dc53ba3
cmp eax, 0x2309e9f5
je 0x417b1c
mov eax, 0x1f61
mov word [0x467ecc], ax
mov ecx, dword [0x45ae00]
mov eax, dword [0x462130]
sub ecx, eax
movzx eax, word [0x46479e]
or eax, ecx
mov word [0x46479e], ax
dec dword [0x45ae00]
inc word [0x465326]
movzx eax, word [0x465326]
mov ecx, dword [0x458fa4]
cwde
cmp ecx, eax
jle 0x417b66
imul eax, dword [0x45cdd8], 0x21004100
mov dword [0x45cdd8], eax
inc dword [0x4632e4]
mov eax, dword [0x4632e4]
or eax, 0x9380e119
cmp eax, 0x94fbfabc
jl 0x417b8f
movzx eax, word [0x4650b0]
sub eax, 0x2e49b4a6
mov word [0x4650b0], ax
and dword [0x45cc80], 0xedb7cbfa
push ebx
push esi
push 0
call fcn.0042a680
mov ebx, dword [esp + 0x778]
add esp, 4
add eax, 0x258
mov ecx, edx
mov esi, ebx
mov dword [esp + 0x20], eax
adc ecx, 0
xor dword [0x45ad58], 0xb630ac7e
mov dword [esp + 0x24], ecx
mov byte [esp + 0x170], 0
mov dword [0x45b488], 0x6b08e940
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x417be0
xor dword [0x462d20], 0xc42d99f2
sub esi, ecx
cmp esi, 0x7f
jg 0x418c34
add dword [0x459980], 0x32b14
xor edx, edx
push edi
test esi, esi
js 0x417d3e
mov edi, ebx
lea eax, [esp + 0xf4]
sub edi, eax
lea esp, [esp]
mov dword [0x462048], 0xf8ac29a3
lea eax, [edi + edx]
mov al, byte [esp + eax + 0xf4]
movsx ecx, word [0x464592]
mov byte [esp + edx + 0xf4], al
movsx eax, word [0x4656f4]
shl ecx, 8
add eax, ecx
mov ecx, dword [0x459190]
dec word [0x4656f4]
xor ecx, eax
cmp ecx, 0xfecabf7d
jne 0x417c85
mov eax, dword [0x462a04]
mov ecx, dword [0x46121c]
sar eax, 1
add eax, 0xff7a5dce
and ecx, eax
xor dword [0x45da48], ecx
dec dword [0x46121c]
cmp byte [esp + edx + 0xf4], 0x2f
je 0x417cd3
mov eax, dword [0x459d1c]
dec dword [0x459d1c]
cmp eax, 0x1a5edb05
jg 0x417cc8
inc dword [0x45ca14]
mov eax, dword [0x45ca14]
movsx ecx, word [0x46866a]
not ecx
xor ecx, eax
mov eax, dword [0x45d344]
or eax, ecx
or eax, 0x77028a87
mov dword [0x45d344], eax
inc edx
cmp edx, esi
jle 0x417c20
jmp 0x417d3e
mov eax, dword [0x45df04]
not eax
xor dword [0x461504], eax
mov byte [esp + edx + 0xf4], 0
xor dword [0x45a26c], 0x2cd57b5d
cmp edx, esi
jg 0x417d34
lea edi, [esp + 0x174]
sub edi, edx
nop
imul eax, dword [0x45b24c], 0xa4f71c29
mov dword [0x45b24c], eax
mov al, byte [edx + ebx]
mov byte [edi + edx], al
inc edx
mov eax, dword [0x45b2bc]
movzx ecx, word [0x467316]
add eax, 0x458c6e44
xor ecx, eax
mov word [0x467316], cx
cmp edx, esi
jle 0x417d00
mov dword [0x461304], 0x29c21a2
movsx eax, word [0x466a94]
lea ecx, [esp + 0x174]
xor eax, 0x683c29ec
lea edx, [ecx + 1]
add dword [0x45d19c], eax
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x417d60
mov esi, dword [esp + 0x77c]
sub ecx, edx
mov edx, esi
lea edi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x417d75
sub edx, edi
lea eax, [edx + ecx]
cmp eax, 0x1ff
ja 0x418c33
cmp dword [0x45ed3c], 0xc6fafd21
jg 0x417daa
movzx eax, word [0x464c46]
add eax, 0x758d852c
mov word [0x464c46], ax
lea eax, [esp + 0x174]
push esi
push eax
call fcn.0042aed0
movsx eax, word [0x466d6e]
add esp, 8
cmp eax, 0x5ff1ec2e
jge 0x417deb
inc word [0x468558]
mov ecx, 0x5d8a85ea
mov ax, word [0x468558]
cwde
sub ecx, eax
imul ecx, dword [0x458be4]
mov dword [0x458be4], ecx
or dword [0x4608f4], 0x2008028
xor ebx, ebx
push 5
push 0x2bed
mov dword [esp + 0x14], ebx
call fcn.00410dd0
movsx ecx, word [0x46453a]
add esp, 8
shl ecx, 0xa
mov esi, eax
or ecx, 0x433c52aa
mov word [0x465e24], cx
lea ecx, [esp + 0x10]
push esi
call fcn.00412890
mov ecx, dword [0x45ee0c]
sar ecx, 8
cmp ecx, 0xcb46d039
jle 0x417e53
movzx eax, word [0x46723a]
imul eax, eax, 0xf1a24009
mov word [0x46723a], ax
jmp 0x417e6d
movsx eax, word [0x464be2]
shl eax, 4
add eax, 0x5a2e635c
and eax, 0x9c7fea3c
sub dword [0x458a34], eax
push esi
push 5
call fcn.00410d40
dec word [0x4663ae]
add esp, 8
mov ax, word [0x4663ae]
cwde
cmp eax, 0x445080f4
je 0x417ea8
mov eax, dword [0x459aa8]
lea ecx, [eax*4 + 0x2dbcb470]
movzx eax, word [0x4641d8]
and eax, ecx
mov word [0x4641d8], ax
mov edi, dword [esp + 0x780]
mov ecx, edi
call fcn.00416cc0
test eax, eax
je 0x41803c
and dword [0x45cb30], 0xa56fc8c0
push 0xc
push 0x238
call fcn.00410dd0
movzx ecx, word [0x464132]
add esp, 8
sub ecx, 0x6fdaa88a
mov esi, eax
mov word [0x464132], cx
lea ecx, [esp + 0xe0]
push esi
call fcn.00412bf0
push 0
lea eax, [esp + 0xe4]
mov ecx, edi
push eax
call fcn.004162b0
lea ecx, [esp + 0xe0]
mov ebx, eax
call fcn.00407f00
dec dword [0x45d458]
mov edx, dword [0x45d458]
imul ecx, dword [0x460f50], 0x5702608b
sub edx, ecx
cmp edx, 0x9e5bf99d
jge 0x417f4d
mov eax, dword [0x45a818]
not eax
and eax, 0x2573cbc7
sub dword [0x45cdc4], eax
jmp 0x417f57
xor dword [0x45dd3c], 0xd3280404
push esi
push 0xc
call fcn.00410d40
dec dword [0x45efac]
add esp, 8
mov eax, dword [0x45efac]
mov ecx, dword [0x4628b0]
not ecx
imul ecx, eax
and dword [0x45c844], ecx
test ebx, ebx
jne 0x418030
add dword [0x4591a4], 0x204c8800
mov ebx, 1
movsx eax, word [0x46361c]
mov ecx, dword [0x462304]
add eax, 0x98fb170b
add ecx, eax
mov dword [esp + 0xc], ebx
mov word [0x46361c], cx
mov ecx, edi
push 0xb
push 0
call fcn.0040d240
push eax
mov ecx, edi
call fcn.0041a1e0
imul eax, dword [0x459518], 0x9f4e7859
push 6
push 0x74f
mov dword [0x459518], eax
call fcn.00410dd0
mov edx, dword [0x461c6c]
add esp, 8
mov ecx, dword [0x45f068]
mov esi, eax
imul edx, ecx
mov ecx, dword [0x4628b0]
push esi
imul ecx, edx
mov dword [0x461c6c], ecx
lea ecx, [esp + 0x14]
call fcn.00412890
push esi
mov dword [0x45d48c], 0x2736765b
push 6
call fcn.00410d40
add esp, 8
add dword [0x461310], 0xb35f7d8b
jmp 0x418032
xor ebx, ebx
or dword [0x4626d8], 0x30020438
movzx eax, word [0x46702c]
lea ecx, [esp + 0x68]
lea eax, [eax*4 + 0x31873d0]
or eax, 0xb53e8207
mov word [0x465f5a], ax
lea eax, [esp + 0x174]
push eax
call fcn.00416270
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x14]
call fcn.00416970
lea ecx, [esp + 0x68]
call fcn.00428d60
mov eax, dword [0x45f8f4]
and eax, dword [0x45bbbc]
push 0x32
mov dword [0x45bbbc], eax
push 0x1b1
call fcn.00410dd0
or dword [0x459474], 0x11c108de
lea ecx, [esp + 0x48]
add esp, 8
mov esi, eax
push esi
call fcn.00416270
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x14]
call fcn.00416970
lea ecx, [esp + 0x40]
call fcn.00428d60
dec dword [0x45a1b0]
mov eax, dword [0x45a1b0]
cmp eax, 0x4da501a5
jge 0x4180e7
xor dword [0x459f30], 0x9fbd79f8
jmp 0x418115
inc dword [0x45d5ec]
mov eax, dword [0x45d5ec]
add eax, 0x8045613b
xor eax, 0xc6695115
cmp eax, 0xeff9987e
je 0x418115
movzx eax, word [0x466428]
or eax, 0x5dbb08b3
mov word [0x466428], ax
push ebp
push esi
push 0x32
call fcn.00410d40
or dword [0x45a4f4], 0x856f1322
lea eax, [esp + 0x100]
add esp, 8
lea ecx, [esp + 0x94]
push eax
call fcn.00416270
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x18]
call fcn.00416970
lea ecx, [esp + 0x94]
call fcn.00428d60
mov eax, dword [0x45f094]
mov ecx, dword [0x45ae68]
sar eax, 4
imul eax, eax, 0x88ae2402
and ecx, eax
mov dword [0x4602ec], ecx
test ebx, ebx
je 0x418318
mov eax, dword [0x462928]
mov ecx, dword [0x458fd4]
shl eax, 3
imul ecx, eax
push 0x44
push 0x3a31
mov dword [0x45e884], ecx
call fcn.00410dd0
movsx ecx, word [0x465336]
add esp, 8
sar ecx, 6
mov ebx, eax
add ecx, 0x401abaf0
xor ecx, 0xa14e7d9d
cmp ecx, 0x2a74e057
jl 0x4181d0
or dword [0x45bc48], 0x6ecd9135
push ebx
lea ecx, [esp + 0xd4]
call fcn.00416270
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0x18]
call fcn.00416970
lea ecx, [esp + 0xd0]
call fcn.00428d60
dec word [0x465d10]
mov ax, word [0x465d10]
mov ecx, dword [0x459cac]
cwde
imul ecx, eax
push 3
push 0x32f8
mov dword [0x459cac], ecx
call fcn.00410dd0
dec dword [0x460808]
add esp, 8
mov esi, dword [0x460808]
mov ebp, eax
mov ecx, dword [0x45de28]
mov edx, dword [0x45e39c]
not ecx
inc dword [0x45e39c]
and edx, ecx
and edx, esi
cmp edx, 0xe3d83617
jl 0x41827f
inc word [0x46799e]
mov ecx, 0xf5539ca8
movzx eax, word [0x46799e]
sub ecx, eax
movzx eax, word [0x46565c]
xor ecx, 0xc83c34eb
and ecx, eax
mov word [0x46565c], cx
push ebx
push 0x44
call fcn.00410d40
xor dword [0x460a84], 0xe89eeaa6
add esp, 8
mov ecx, edi
call fcn.00416cc0
push eax
lea eax, [esp + 0x37c]
push ebp
push eax
call fcn.0042c2a0
movsx eax, word [0x4662f6]
and eax, 0x6a20f1a0
sub dword [0x45cbf8], eax
dec word [0x4662f6]
push ebp
push 3
call fcn.00410d40
add esp, 0x14
lea ecx, [esp + 0xbc]
mov eax, 0xffff9886
mov word [0x467082], ax
lea eax, [esp + 0x378]
push eax
call fcn.00416270
lea eax, [esp + 0xbc]
push eax
lea ecx, [esp + 0x18]
call fcn.00416970
lea ecx, [esp + 0xbc]
call fcn.00428d60
xor dword [0x45cd6c], 0xda33593e
mov ebx, dword [esp + 0x10]
movsx eax, word [0x46495a]
mov ecx, dword [0x4622e4]
sar eax, 0xa
imul eax, eax, 0x7d0902a5
sar ecx, 1
push 5
push 0x742
sub ecx, eax
add dword [0x462d2c], ecx
call fcn.00410dd0
movzx ecx, word [0x463d14]
add esp, 8
xor ecx, 0x55f9c6f4
mov esi, eax
mov word [0x463d14], cx
lea ecx, [esp + 0x58]
push esi
call fcn.00416270
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x18]
call fcn.00416970
lea ecx, [esp + 0x58]
call fcn.00428d60
movsx eax, word [0x46888a]
mov ecx, dword [0x45d178]
sar eax, 8
xor ecx, eax
movzx eax, word [0x46812a]
or eax, ecx
push esi
mov word [0x46812a], ax
push 5
call fcn.00410d40
mov eax, dword [0x45c2d0]
mov ecx, 0x32f048d5
sar eax, 8
add esp, 8
sub ecx, eax
mov eax, dword [0x4598b4]
imul eax, ecx
mov dword [0x4598b4], eax
test ebx, ebx
je 0x4183d4
push edi
lea ecx, [esp + 0x18]
call fcn.00416970
add dword [0x460dbc], 0xda66a8ac
push 6
push 1
push 2
call dword [0x458740]
xor dword [0x45bfb0], 0x7f3c589a
mov ebx, eax
mov dword [esp + 0x10], ebx
cmp ebx, 0xffffffff
jne 0x418437
movsx eax, word [0x4664c0]
mov ecx, dword [0x45be80]
shl eax, 9
add ecx, eax
and ecx, 0x7303f2e7
sub dword [0x462b20], ecx
lea ecx, [esp + 0x14]
inc dword [0x45be80]
pop ebp
pop edi
call fcn.00428d60
pop esi
pop ebx
add esp, 0x768
ret
mov eax, dword [0x45ec18]
lea eax, [eax*4 - 0xf101429]
xor eax, 0xb9e1c451
or dword [0x45e44c], eax
cmp dword [esp + 0x788], 0
je 0x4184b4
mov ax, word [0x4682a6]
cwde
cmp eax, dword [0x45f5dc]
jle 0x418471
mov dword [0x46160c], 0xf0af3379
push 4
lea eax, [esp + 0x78c]
push eax
push 0x1006
push 0xffff
push ebx
call dword [0x45873c]
mov eax, dword [0x45a714]
movsx ecx, word [0x463e8a]
sar eax, 5
imul ecx, eax
movsx eax, word [0x4672ce]
xor eax, ecx
sub dword [0x45d338], eax
inc word [0x463e8a]
or dword [0x45e180], 0x49180600
lea eax, [esp + 0xf8]
push eax
call dword [0x45871c]
imul ecx, dword [0x45c968], 0x810e9b76
mov esi, eax
mov dword [0x45c968], ecx
test esi, esi
je 0x418c32
mov edx, dword [0x459a58]
imul ecx, dword [0x45f508], 0xbaeac650
inc dword [0x45f508]
shl edx, 4
cmp edx, ecx
jne 0x418515
movzx eax, word [0x4669aa]
add eax, 0x51a23644
mov word [0x4669aa], ax
mov eax, 2
mov word [esp + 0x34], ax
dec word [0x46412a]
mov ax, word [0x46412a]
mov ecx, dword [0x45c3e0]
cwde
imul ecx, eax
imul eax, ecx, 0xc1e25cb3
cmp eax, 0x8cbee4c3
jne 0x41856a
mov ecx, dword [0x45b19c]
mov eax, dword [0x461fa4]
and ecx, 0x3908240
or ecx, 0xbc6b5da7
xor eax, 0xa755fb39
cmp eax, ecx
je 0x418574
mov eax, dword [0x462930]
jmp 0x418574
or dword [0x45eb08], 0xa578d7c8
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
push dword [eax]
call dword [0x458728]
push eax
call dword [0x458724]
mov dword [esp + 0x38], eax
movsx eax, word [0x464e86]
mov ecx, dword [0x462f2c]
shl eax, 2
and ecx, 0xf1d38057
xor ecx, eax
cmp ecx, 0x6fcd8ecb
jne 0x4185b8
and dword [0x45fd2c], 0x74636edc
jmp 0x4185ca
movzx eax, word [0x46398c]
and eax, 0xafd6cb6e
mov word [0x46398c], ax
push 0x50
call dword [0x458720]
mov word [esp + 0x36], ax
movsx eax, word [0x466ee8]
or eax, 0x52858ace
mov dword [0x462dac], eax
lea eax, [esp + 0x34]
dec word [0x466ee8]
push 0x10
push eax
push ebx
call dword [0x458718]
cmp eax, 0xffffffff
jne 0x418626
mov eax, dword [0x462a18]
lea ecx, [esp + 0x14]
and eax, dword [0x458944]
pop ebp
pop edi
mov dword [0x462a18], eax
call fcn.00428d60
pop esi
pop ebx
add esp, 0x768
ret
mov eax, dword [0x45f35c]
lea ecx, [esp + 0x14]
xor eax, dword [0x45c510]
mov dword [0x45c510], eax
push 0
call fcn.00416cc0
push eax
lea ecx, [esp + 0x1c]
call fcn.00407f20
push eax
push ebx
call dword [0x458738]
mov edx, dword [0x460150]
mov esi, eax
movsx ecx, word [0x46727a]
not edx
inc word [0x46727a]
add ecx, edx
cmp ecx, 0x250506db
jne 0x41868a
mov eax, dword [0x45f330]
or eax, 0xc40d5f07
mov dword [0x4600e0], eax
dec dword [0x45f330]
lea ecx, [esp + 0x14]
call fcn.00416cc0
cmp esi, eax
jae 0x418714
dec dword [0x4599e0]
mov eax, 0xdc81e98b
mov ecx, dword [0x4599e0]
sub eax, ecx
movsx edx, word [0x465964]
or eax, 0x8ee01d91
and edx, 0x20df905b
add edx, edx
cmp edx, eax
jle 0x4186e4
add dword [0x462d54], 0x31f4fdeb
lea ecx, [esp + 0x14]
pop ebp
pop edi
call fcn.00428d60
pop esi
pop ebx
add esp, 0x768
ret
mov eax, dword [0x459ed0]
mov ecx, 0x8e77913c
sar eax, 3
sub ecx, eax
mov eax, dword [0x45e644]
and eax, ecx
lea ecx, [esp + 0x14]
sub dword [0x4633d8], eax
pop ebp
pop edi
call fcn.00428d60
pop esi
pop ebx
add esp, 0x768
ret
mov eax, dword [0x45f230]
mov ecx, 0xb36d576e
sub ecx, eax
cmp ecx, 0xe69cd612
jl 0x41873b
movzx eax, word [0x46610a]
imul eax, eax, 0x6c55c94
mov word [0x46610a], ax
mov ecx, edi
call fcn.00425ed0
add dword [0x45b3ec], 0xcc8655a5
or ebx, 0xffffffff
movzx eax, word [0x466e72]
or ebp, ebx
or eax, 0x6536270
mov word [0x466e72], ax
jmp 0x418770
mov eax, dword [0x4618e0]
and eax, 0xbcb9475d
xor eax, 0xdcc7dff5
cmp eax, 0x86320101
jg 0x4187ac
inc word [0x465b7e]
mov ax, word [0x465b7e]
movsx ecx, ax
mov eax, dword [0x46089c]
xor ecx, 0xb71b323d
sar eax, 6
or ecx, eax
or dword [0x459560], ecx
push 0
push 0x400
lea eax, [esp + 0x380]
push eax
push dword [esp + 0x1c]
call dword [0x458730]
imul ecx, dword [0x460414], 0xe0a3cf89
mov esi, eax
mov dword [0x460414], ecx
test esi, esi
jle 0x418b98
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.00416830
add esp, 8
test eax, eax
jne 0x418b98
or dword [0x463320], 0x2f9566db
mov ecx, edi
push eax
call fcn.00416cc0
add eax, esi
mov ecx, edi
push eax
call fcn.00422d90
movzx eax, word [0x4647f6]
mov ecx, edi
or eax, 0x38d9f41e
mov word [0x4647f6], ax
call fcn.00427d30
test eax, eax
je 0x418b98
and dword [0x462364], 0x90509657
lea eax, [esp + 0x378]
push esi
push eax
mov ecx, edi
call fcn.00424430
dec dword [0x45e380]
mov eax, dword [0x45e380]
mov ecx, dword [0x45b814]
imul ecx, eax
movzx eax, word [0x4642c2]
and ecx, 0x59df2485
add eax, ecx
mov word [0x4642c2], ax
test ebx, ebx
jns 0x418aa5
mov eax, dword [0x45a384]
sar eax, 7
cmp eax, 0x60ae7944
jne 0x4188a0
movsx eax, word [0x4634e6]
or eax, 0xbdc05181
and dword [0x462228], eax
push 5
push 0x742
call fcn.00410dd0
dec dword [0x4600c8]
add esp, 8
mov ecx, dword [0x4600c8]
mov esi, eax
mov edx, dword [0x462b50]
xor edx, ecx
lea ecx, [esp + 0x80]
or edx, 0x124168c8
add dword [0x459ffc], edx
push esi
call fcn.00412bf0
push 0
lea eax, [esp + 0x84]
mov ecx, edi
push eax
call fcn.004162b0
lea ecx, [esp + 0x80]
mov ebx, eax
call fcn.00407f00
inc dword [0x458938]
mov ecx, dword [0x458938]
add dword [0x45ce5c], ecx
push esi
push 5
call fcn.00410d40
dec dword [0x459c10]
add esp, 8
mov eax, dword [0x459c10]
and eax, 0x18a26306
cmp eax, 0x21c1ef86
jle 0x418950
mov eax, dword [0x45a21c]
inc dword [0x45a21c]
cmp eax, 0x86f96549
jge 0x418950
mov ax, word [0x4647c2]
dec word [0x4647c2]
test ebx, ebx
js 0x418a93
add dword [0x459358], 0xf512fdb8
add ebx, 4
and dword [0x458ce0], 0xf3259cc9
push edi
call fcn.0040d7e0
movsx ecx, word [0x466c42]
mov edx, 0x13b472c0
sub edx, ecx
mov ebp, eax
add dword [0x4609c4], edx
add esp, 4
inc word [0x466c42]
test ebp, ebp
jns 0x418a89
mov ecx, dword [0x461804]
add ecx, dword [0x458f58]
push 0xb
mov dword [0x461804], ecx
dec dword [0x458f58]
push 0x31a0
call fcn.00410dd0
movsx ecx, word [0x463ed2]
add esp, 8
not ecx
mov dword [esp + 0x30], eax
and ecx, 0xf7ab7fbf
or ecx, 0xb7212631
cmp ecx, 0xc493a237
je 0x4189f7
mov ecx, dword [0x45d3c4]
sub ecx, dword [0x45b1fc]
mov dword [0x45d3c4], ecx
push eax
lea ecx, [esp + 0xac]
call fcn.00412bf0
push 0
lea eax, [esp + 0xac]
mov ecx, edi
push eax
call fcn.004162b0
lea ecx, [esp + 0xa8]
mov esi, eax
call fcn.00407f00
imul ecx, dword [0x46123c], 0x890a6700
push dword [esp + 0x30]
push 0xb
xor ecx, 0x7b5be78d
add dword [0x45d70c], ecx
call fcn.00410d40
mov ecx, dword [0x45f22c]
add esp, 8
mov eax, dword [0x45e90c]
add eax, ecx
movsx ecx, word [0x4677b8]
xor ecx, eax
xor dword [0x45d898], ecx
test esi, esi
jns 0x418b98
inc word [0x464c48]
mov ax, word [0x464c48]
cwde
or eax, dword [0x461ec8]
or eax, 0x46a99063
mov dword [0x461ec8], eax
add dword [0x45b030], 0xf9da15d0
movzx eax, word [0x467056]
xor eax, 0x94f1373b
mov word [0x467056], ax
or dword [0x460298], 0x89a0bed1
test ebp, ebp
js 0x418ac4
mov ecx, edi
call fcn.00416cc0
sub eax, ebx
cmp eax, ebp
jae 0x418b98
cmp dword [0x45b778], 0xd4094920
jl 0x418ae1
imul eax, dword [0x462f24], 0xf535a40e
mov dword [0x462f24], eax
jmp 0x418af4
mov eax, dword [0x462228]
sar eax, 0xa
or eax, 0x15399d90
sub dword [0x4616b8], eax
cmp dword [esp + 0x788], 0x3aa6
jne 0x418b62
dec word [0x467746]
mov ax, word [0x467746]
mov ecx, dword [0x45efd4]
cwde
imul ecx, eax
mov eax, dword [0x45a9b4]
dec dword [0x45a9b4]
sub eax, ecx
cmp eax, 0x7962684b
jg 0x418b36
add dword [0x45abfc], 0xb9f7b96b
mov ecx, edi
call fcn.00416cc0
cmp eax, 0x500000
ja 0x418b89
mov eax, dword [0x460680]
mov ecx, 0x484982de
sub ecx, eax
and ecx, 0xe80ea312
sub dword [0x459e58], ecx
dec dword [0x460680]
dec word [0x466dfc]
mov ax, word [0x466dfc]
mov ecx, dword [0x45f370]
cwde
xor ecx, eax
xor ecx, 0x33418e3c
mov dword [0x45f370], ecx
jmp 0x418770
imul eax, dword [0x45d594], 0xb016ff6d
mov dword [0x45d594], eax
mov eax, dword [0x45e28c]
dec dword [0x45e28c]
cmp eax, 0x656888de
jge 0x418bcc
mov eax, dword [0x45af2c]
mov ecx, 0xcac792d4
sub ecx, eax
movzx eax, word [0x463dec]
or eax, ecx
or eax, 0x21d5e58
mov word [0x463dec], ax
jmp 0x418bd6
and dword [0x45dbd8], 0x7b5010d4
push dword [esp + 0x10]
call dword [0x458714]
imul eax, dword [0x4617e0], 0x3ecefa66
mov dword [0x4617e0], eax
test ebx, ebx
js 0x418c28
mov eax, dword [0x45d420]
mov ecx, edi
sar eax, 6
imul eax, eax, 0xf25828a8
push ebx
push 0
xor eax, 0xcbf7d6d8
sub dword [0x45dbf4], eax
call fcn.0040d240
push eax
mov ecx, edi
call fcn.0041a1e0
and dword [0x45cd08], 0xe38902de
mov dword [0x462e98], 0x4b9b8e44
pop ebp
pop edi
lea ecx, [esp + 0xc]
call fcn.00428d60
pop esi
pop ebx
add esp, 0x768
ret