Function at 0x4220a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
imul eax, dword [0x435ad0], 0xd97bb3b
sub esp, 0x60
push edi
mov edi, dword [ebp + 0x14]
mov dword [0x435ad0], eax
mov ecx, dword [0x436830]
mov eax, dword [0x4351a4]
sar ecx, 8
xor eax, ecx
sub dword [0x435afc], eax
mov eax, dword [0x435cc4]
sub eax, dword [0x43681c]
push 0
mov word [0x4379c0], ax
dec dword [0x435cc4]
push edi
call fcn.0041e4f0
add esp, 8
test eax, eax
jne 0x4220ff
mov eax, 0xfffffff4
pop edi
mov esp, ebp
pop ebp
ret
mov eax, dword [0x437154]
inc dword [0x437154]
add eax, 0x3be7ccdd
or eax, 0x653efb56
cmp eax, 0xca365996
jg 0x42213f
mov eax, dword [0x436c5c]
inc dword [0x436c5c]
cmp eax, 0xdcd8739a
jl 0x42213f
movsx eax, word [0x43832e]
xor eax, 0xa033583f
or dword [0x4369cc], eax
push 0
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.0042ca20
dec dword [0x436448]
add esp, 0x18
mov ecx, dword [0x436448]
mov eax, dword [0x435cc4]
and ecx, 0xaf70a70c
and eax, 0x2983c3b
cmp eax, ecx
jle 0x4221b3
mov ecx, dword [0x437074]
movsx eax, word [0x437ac2]
shl ecx, 7
and eax, ecx
cmp eax, 0xc614c0c1
jne 0x4221a2
add dword [0x4371fc], 0x70d6a8b8
jmp 0x4221b3
mov eax, dword [0x437840]
not eax
or eax, 0xfadfcfdf
mov dword [0x43565c], eax
push ebx
mov ebx, dword [ebp + 0x10]
push esi
push edi
push ebx
call fcn.00425220
add esp, 8
test eax, eax
jns 0x422251
and dword [0x436334], 0x59fbde6d
mov eax, dword [ebp + 8]
test eax, eax
je 0x4221f0
push 0
push eax
call fcn.004110c0
mov esi, eax
add esp, 8
test esi, esi
jne 0x422f06
mov eax, dword [0x436bc4]
movsx ecx, word [0x437c98]
sar eax, 9
or ecx, eax
movzx eax, word [0x437d0a]
add eax, ecx
mov word [0x437d0a], ax
inc word [0x437c98]
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x422232
push ebx
push eax
call fcn.00420060
mov esi, eax
add esp, 8
test esi, esi
jne 0x422f06
mov eax, dword [0x436eb4]
or eax, 0xb0444e66
add dword [0x435cd8], eax
inc dword [0x436eb4]
xor eax, eax
pop esi
pop ebx
pop edi
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x30]
mov dword [0x43620c], 0x8aeee3ca
push ebx
push eax
call fcn.00420060
mov esi, eax
add esp, 8
test esi, esi
jne 0x422f06
and dword [0x43699c], 0x7fa9fbd7
lea eax, [ebp - 0x3c]
push edi
push eax
call fcn.00420060
mov esi, eax
add esp, 8
test esi, esi
jne 0x422f06
mov dword [0x435cc0], 0xf7bd6dde
movsx eax, word [0x4378b2]
imul eax, eax, 0x1db7349a
mov dword [ebp - 0x3c], 1
mov dword [ebp - 0x30], 1
add dword [0x435ff0], eax
inc word [0x4378b2]
mov eax, dword [ebx + 4]
add eax, 2
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.00425000
mov esi, eax
add esp, 8
test esi, esi
jne 0x422f06
add dword [0x4369e0], 0x999d8e3a
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.004110c0
mov esi, eax
add esp, 8
test esi, esi
jne 0x422f06
dec dword [0x435c58]
mov eax, dword [0x435c58]
imul ecx, eax, 0xe114542d
movsx eax, word [0x438ad6]
xor ecx, eax
imul eax, dword [0x4355a8], 0xc4b7fb48
dec word [0x438ad6]
cmp ecx, eax
je 0x42234a
inc dword [0x436510]
mov ecx, 0x6b0eafed
mov eax, dword [0x436510]
sub ecx, eax
mov dword [0x4364dc], ecx
lea eax, [ebp - 0x48]
push 2
push eax
call fcn.00425000
mov esi, eax
add esp, 8
test esi, esi
jne 0x422f06
mov eax, dword [0x436f50]
mov ecx, dword [0x43749c]
shl eax, 3
imul ecx, eax
lea eax, [ebp - 0x60]
push 3
push eax
mov dword [0x43749c], ecx
call fcn.00425000
mov esi, eax
add esp, 8
test esi, esi
jne 0x422f06
mov ecx, dword [0x435210]
movzx eax, word [0x438470]
not ecx
add ecx, 0xc471b6
and ecx, 0x1d56126
add eax, ecx
mov word [0x438470], ax
lea eax, [ebp - 0x3c]
push eax
call fcn.004272b0
mov edx, eax
add esp, 4
and edx, 0x8000001f
jns 0x4223cf
dec edx
or edx, 0xffffffe0
inc edx
mov ecx, dword [0x435330]
not ecx
or ecx, 0x796edb57
cmp ecx, 0x3dff5eba
jg 0x422404
movsx ecx, word [0x437d9c]
or ecx, 0x93038723
cmp ecx, 0xf170d942
jle 0x422404
or dword [0x436600], 0x3d168a6e
cmp edx, 0x1f
jge 0x4224f0
cmp dword [0x436cd8], 0x9145fd81
jl 0x422436
movsx eax, word [0x4380c2]
shl eax, 0xa
or eax, 0x429964d7
cmp eax, 0x97db7d7f
jl 0x42245e
mov eax, dword [0x436d18]
jmp 0x42245e
mov eax, dword [0x435d38]
mov ecx, dword [0x437350]
sar eax, 3
and ecx, eax
mov eax, dword [0x436bfc]
or eax, ecx
cmp eax, 0x16ea4790
jne 0x42245e
mov eax, dword [0x436c5c]
mov dword [0x437860], eax
movzx eax, word [0x438854]
mov edi, 0x1f
imul eax, eax, 0xffb19c07
sub edi, edx
push edi
mov dword [ebp - 0x20], edi
mov word [0x438854], ax
lea eax, [ebp - 0x30]
push eax
call fcn.00427910
mov esi, eax
add esp, 8
test esi, esi
jne 0x422f06
movsx eax, word [0x438814]
shl eax, 7
or eax, 0xeaa59210
and dword [0x435c34], eax
lea eax, [ebp - 0x3c]
push edi
push eax
call fcn.00427910
mov esi, eax
add esp, 8
test esi, esi
jne 0x422f06
mov eax, dword [0x435cdc]
shl eax, 9
add eax, 0x1c3715a7
cmp eax, 0x9fa7bb7
jl 0x4224e4
mov eax, dword [0x436048]
add eax, 0xe913972e
xor dword [0x43725c], eax
jmp 0x4224f7
and dword [0x435e38], 0xfbd07c5e
jmp 0x4224f7
mov dword [ebp - 0x20], 0
inc dword [0x4370e8]
mov eax, dword [0x4370e8]
add eax, 0x5136670d
xor eax, 0xb2e3c244
or eax, dword [0x435a24]
mov ebx, dword [ebp - 0x2c]
mov dword [0x435a24], eax
dec ebx
mov eax, dword [0x436ad0]
dec dword [0x436ad0]
mov dword [ebp - 0x1c], ebx
cmp eax, 0x108003
jg 0x42253e
movsx eax, word [0x437faa]
not eax
mov dword [0x43504c], eax
imul eax, dword [0x437774], 0xb60f84a3
mov edx, dword [ebp - 0x38]
dec edx
mov dword [ebp - 8], edx
xor eax, 0x50f2df01
cmp eax, 0x6838e534
je 0x422584
inc word [0x4380b2]
mov ax, word [0x4380b2]
mov ecx, dword [0x4353cc]
cwde
imul ecx, eax
cmp ecx, 0xf0860e7f
jge 0x422584
or dword [0x436410], 0xefa06033
mov edi, ebx
sub edi, edx
mov eax, edi
shl eax, 5
push eax
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x3c]
push eax
call fcn.00427910
movsx eax, word [0x4385ae]
imul eax, eax, 0x201ba4d3
add eax, 0x3508d55a
mov dword [0x4374f4], eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.0041bd20
add esp, 0x10
test eax, eax
js 0x422643
jmp 0x4225d0
movsx ecx, word [0x43872e]
movzx eax, word [0x437b7c]
and ecx, 0x30889220
sub eax, ecx
mov word [0x437b7c], ax
mov eax, dword [ebp - 0x4c]
inc dword [eax + edi*4]
movsx eax, word [0x437cac]
movzx ecx, word [0x438824]
sar eax, 3
imul eax, eax, 0x4dd06869
add eax, 0x2bf178c1
and ecx, eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x30]
mov word [0x438824], cx
push eax
push eax
call fcn.00421d90
xor dword [0x437628], 0x698442cb
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.0041bd20
add esp, 0x14
test eax, eax
jns 0x4225d0
push dword [ebp - 0xc]
add dword [0x435590], 0x22271d3
lea eax, [ebp - 0x3c]
push eax
call fcn.004286f0
or dword [0x435cf0], 0xbd58b0af
add esp, 8
cmp ebx, dword [ebp - 8]
jle 0x422def
mov eax, dword [ebp - 0xc]
shl edi, 2
add eax, 0xffffffe0
mov dword [ebp - 0x10], edi
mov dword [ebp - 4], eax
mov edi, edi
cmp dword [0x4366e0], 0xe2c65030
mov esi, 0xffffddeb
jg 0x4226df
movsx eax, word [0x438304]
sar eax, 1
cmp eax, 0x96fe8867
je 0x4226c8
mov eax, dword [0x4350e0]
movsx edx, word [0x438824]
mov ecx, dword [0x4357c8]
shl eax, 4
or edx, eax
mov eax, dword [0x436664]
or ecx, edx
or eax, ecx
mov dword [0x4357c8], eax
jmp 0x4226df
movsx ecx, word [0x437c7c]
mov eax, 0xca4e0a34
sar ecx, 5
sub eax, ecx
or dword [0x43663c], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 8]
lea edx, [eax + ebx*4]
mov eax, dword [ebp - 0x34]
lea edi, [eax + ecx*4]
mov dword [ebp - 0x14], edx
mov eax, dword [edx]
cmp eax, dword [edi]
jb 0x42270a
mov eax, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x10]
mov dword [edi + eax - 4], 0xffffffff
jmp 0x422a4b
movsx eax, word [0x437af0]
cmp eax, 0xa2bcdcbe
jl 0x42271f
mov word [0x438c00], si
mov eax, dword [0x437734]
and eax, 0xdbf903ad
cmp eax, 0x2b8c0647
jge 0x42273a
or dword [0x436840], 0x600210c2
movsx eax, word [0x438a16]
xor eax, 0xa7e3542f
mov dword [0x4359b0], eax
movzx eax, word [0x438216]
mov edi, dword [edi]
add eax, 0x40b30817
mov word [0x438216], ax
movzx eax, di
mov dword [ebp - 0x18], eax
mov eax, dword [0x435c80]
and eax, 0x9f389486
cmp eax, 0x90a35b7b
jge 0x422786
mov eax, dword [0x437684]
sub eax, 0x4e9f3349
mov word [0x4381d6], ax
inc dword [0x4374cc]
mov ebx, edi
mov ecx, dword [0x4374cc]
movzx eax, word [0x43889a]
or ecx, 0x4fe19d83
sub eax, ecx
shr ebx, 0x10
mov word [0x43889a], ax
mov eax, dword [edx]
xor edx, edx
div ebx
mov esi, dword [0x436230]
mov ecx, dword [0x435fbc]
xor esi, ecx
mov edx, dword [0x4377ec]
mov ecx, dword [0x43646c]
xor edx, esi
mov esi, dword [ebp - 0x14]
imul ecx, edx
mov dword [ebp - 0xc], ebx
mov ebx, eax
imul eax, dword [ebp - 0xc]
mov dword [0x43646c], ecx
inc dword [0x435fbc]
inc dword [0x436230]
mov edx, dword [esi]
or dword [0x43568c], 0x1fdfcd60
sub edx, eax
inc dword [0x437454]
mov eax, dword [0x437454]
imul ecx, eax, 0x4cd37105
movzx eax, word [0x438bf0]
shl edx, 0x10
xor ecx, 0x3abe6e16
sub eax, ecx
mov word [0x438bf0], ax
movzx ecx, word [esi - 2]
dec dword [0x4363b4]
or ecx, edx
mov eax, dword [0x4363b4]
xor eax, 0x1096ca9d
cmp eax, 0x48008005
je 0x422852
imul eax, dword [0x4357e4], 0xd46f59ff
mov dword [0x4357e4], eax
mov edx, ebx
imul edx, dword [ebp - 0x18]
cmp dword [0x435d14], 0x16c3ba28
jg 0x422870
mov dword [0x43575c], 0xd0ec2cf
jmp 0x42288a
dec dword [0x4377e4]
mov eax, dword [0x4377e4]
add eax, 0xfacf19ec
and eax, 0xdb1800e
mov dword [0x435958], eax
cmp ecx, edx
jae 0x422907
movsx eax, word [0x438a92]
cmp eax, 0xbde8735d
jg 0x4228be
cmp dword [0x43633c], 0xa46da041
jg 0x4228be
movsx eax, word [0x438540]
or eax, 0xa2cb313b
sub dword [0x43718c], eax
or dword [0x437724], 0x791508aa
add ecx, edi
dec ebx
cmp ecx, edi
jb 0x4228db
nop
cmp ecx, edx
jae 0x4228db
add ecx, edi
dec ebx
cmp ecx, edi
jae 0x4228d0
inc word [0x438768]
mov ax, word [0x438768]
cwde
xor eax, 0x7623a181
cmp eax, 0xd75f8b66
jge 0x422907
movzx eax, word [0x437db4]
sub eax, 0x5efe7bcc
mov word [0x437db4], ax
mov eax, dword [0x436e2c]
sub ecx, edx
add eax, 0xf38be1e5
xor edx, edx
and dword [0x43606c], eax
mov eax, ecx
div dword [ebp - 0xc]
inc dword [0x436e2c]
and dword [0x436aa4], 0xbaa0f1b4
mov esi, dword [0x436790]
movzx edx, word [0x4383b2]
or esi, 0xa6d50bc6
sub edx, esi
mov dword [ebp - 0x24], eax
mov word [0x4383b2], dx
mov edx, eax
imul eax, dword [ebp - 0xc]
mov esi, edx
dec dword [0x436790]
add dword [0x437394], 0x13788812
or dword [0x435f58], 0xe7fbdffd
imul esi, dword [ebp - 0x18]
sub ecx, eax
mov eax, dword [ebp - 0x14]
shl ecx, 0x10
movzx eax, word [eax - 4]
or ecx, eax
movsx eax, word [0x437c78]
mov dword [0x4371fc], eax
mov eax, dword [0x436484]
dec dword [0x436484]
cmp eax, 0x57f5f075
jge 0x4229b1
mov eax, dword [0x43717c]
add eax, 0x847352eb
or dword [0x4359f8], eax
cmp ecx, esi
jae 0x4229f2
xor dword [0x437188], 0x11bb86b7
add ecx, edi
imul eax, dword [0x43648c], 0xa12f75e4
dec edx
mov dword [0x43648c], eax
cmp ecx, edi
jb 0x4229e0
cmp ecx, esi
jae 0x4229e0
add ecx, edi
dec edx
cmp ecx, edi
jae 0x4229d5
movzx eax, word [0x437988]
xor eax, 0x40683ca3
mov word [0x437988], ax
movzx eax, word [0x438668]
mov ecx, dword [0x435cf0]
mov edi, dword [ebp - 0x10]
not ecx
cwde
add ecx, eax
shl ebx, 0x10
and ecx, 0xd101fa12
or ebx, edx
or dword [0x4376a0], ecx
movzx eax, word [0x4378f8]
xor eax, 0xec735066
mov word [0x4378f8], ax
mov eax, dword [ebp - 0x4c]
mov dword [edi + eax - 4], ebx
movsx eax, word [0x437a30]
mov ebx, dword [ebp - 0x1c]
add eax, 0xc4ea8da
and eax, 0x15ba36db
xor dword [0x436228], eax
mov ax, word [0x438c5e]
mov ecx, dword [0x437190]
cwde
xor ecx, eax
mov eax, dword [ebp - 0x4c]
xor ecx, 0x1148342
mov word [0x438c5e], cx
inc dword [edi + eax - 4]
inc dword [0x435fa8]
mov eax, dword [0x435fa8]
or eax, 0x5df0053a
mov dword [0x4361b0], eax
mov eax, dword [0x435cec]
mov ecx, 0xeac7959
sub ecx, eax
and ecx, 0x9f0be647
or dword [0x43767c], ecx
mov eax, dword [ebp - 0x4c]
push 0
dec dword [edi + eax - 4]
mov eax, dword [0x4361f4]
and eax, dword [0x43514c]
mov dword [0x43514c], eax
lea eax, [ebp - 0x48]
push eax
call fcn.004110c0
mov esi, eax
add esp, 8
test esi, esi
jne 0x422f06
xor dword [0x436138], 0x192cf736
mov edx, dword [ebp - 8]
cmp edx, 1
jge 0x422ae0
xor ecx, ecx
jmp 0x422ae7
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + edx*4 - 4]
mov eax, dword [ebp - 0x40]
mov dword [eax], ecx
mov ecx, dword [0x437614]
mov eax, dword [0x435b88]
sar eax, 3
sar ecx, 9
sub ecx, eax
mov eax, dword [0x435cfc]
xor ecx, 0x46db4950
and eax, 0x30224
cmp ecx, eax
jl 0x422b2f
cmp dword [0x435a6c], 0xf0fbc6d8
jle 0x422b2f
mov eax, dword [0x435e24]
mov eax, dword [0x435888]
dec dword [0x435888]
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + edx*4]
mov eax, dword [ebp - 0x40]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x4c]
mov dword [0x435cb8], 0xfa57626f
push dword [edi + eax - 4]
lea eax, [ebp - 0x48]
push eax
push eax
call fcn.00401d70
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x422f06
imul eax, dword [0x4368dc], 0x9fa71ff3
push esi
mov dword [0x4368dc], eax
lea eax, [ebp - 0x60]
push eax
call fcn.004110c0
mov esi, eax
add esp, 8
test esi, esi
jne 0x422f06
mov eax, dword [0x436154]
add eax, 0xcf12d79b
and dword [0x435bc0], eax
cmp ebx, 2
jge 0x422ba2
xor ecx, ecx
jmp 0x422ba9
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + ebx*4 - 8]
mov eax, dword [ebp - 0x58]
mov dword [eax], ecx
mov eax, dword [0x436ac0]
shl eax, 5
add dword [0x436ed0], eax
cmp ebx, 1
jge 0x422bc5
xor ecx, ecx
jmp 0x422bcc
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + ebx*4 - 4]
mov eax, dword [ebp - 0x58]
mov dword [eax + 4], ecx
add dword [0x435d3c], 0x1e9e1a2
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + ebx*4]
mov eax, dword [ebp - 0x58]
mov dword [eax + 8], ecx
mov eax, dword [0x435fe4]
and eax, 0x80200110
cmp eax, 0xdca80fe0
jge 0x422c03
add dword [0x4363c4], 0x37933ccc
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0041bd20
add esp, 8
test eax, eax
jg 0x422a83
or dword [0x4362e4], 0xde75fdde
mov eax, dword [ebp - 0x4c]
push dword [edi + eax - 4]
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.00401d70
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x422f06
mov ax, word [0x4388b4]
push dword [ebp - 4]
movsx ecx, ax
mov eax, dword [0x435d50]
sub ecx, eax
movsx eax, word [0x437f08]
shl eax, 3
and eax, ecx
sub dword [0x435ec4], eax
lea eax, [ebp - 0x48]
dec word [0x4388b4]
push eax
call fcn.00427910
mov esi, eax
add esp, 8
test esi, esi
jne 0x422f06
or dword [0x435fac], 0xa104414
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x30]
push eax
push eax
call fcn.00421d90
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x422f06
mov eax, dword [0x43737c]
xor eax, dword [0x436ee0]
mov dword [0x43737c], eax
lea eax, [ebp - 0x30]
push esi
push eax
call fcn.0041e4f0
add esp, 8
test eax, eax
jns 0x422d9e
movzx eax, word [0x437b74]
sub eax, 0x7ffff6df
mov word [0x437b74], ax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.00420060
mov esi, eax
add esp, 8
test esi, esi
jne 0x422f06
dec dword [0x435368]
mov eax, dword [0x435368]
push dword [ebp - 4]
add eax, 0xe60c674d
xor eax, 0xfb3be3c3
mov dword [0x437838], eax
lea eax, [ebp - 0x48]
push eax
call fcn.00427910
mov esi, eax
add esp, 8
test esi, esi
jne 0x422f06
mov ax, word [0x438ab8]
mov ecx, dword [0x436c90]
cwde
add ecx, eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x30]
mov word [0x438ab8], cx
push eax
push eax
call fcn.0042eed0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x422f06
mov eax, dword [0x436ebc]
shl eax, 0xa
cmp eax, 0xefbf7d19
jg 0x422d86
mov eax, dword [0x4361a4]
xor eax, 0xd7d7b4d6
or eax, 0x5794a016
xor dword [0x436cd0], eax
mov eax, dword [ebp - 0x4c]
dec dword [edi + eax - 4]
movsx eax, word [0x437d62]
sub eax, 0x7245ec5e
mov dword [0x436704], eax
dec dword [0x435fd8]
mov eax, dword [0x435fd8]
mov ecx, dword [0x4368bc]
imul ecx, eax
cmp ecx, 0xe23dd887
jg 0x422dd8
inc word [0x4386fa]
mov ax, word [0x4386fa]
mov ecx, dword [0x436f70]
not ecx
cwde
and ecx, eax
xor dword [0x435f28], ecx
sub dword [ebp - 4], 0x20
dec ebx
sub edi, 4
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x10], edi
cmp ebx, dword [ebp - 8]
jg 0x422680
mov edi, dword [ebp + 8]
mov eax, 0xfffff57f
mov word [0x43892a], ax
test edi, edi
je 0x422e40
add dword [0x435610], 0x12c0070b
lea eax, [ebp - 0x54]
push eax
push edi
call fcn.00420060
or dword [0x43590c], 0x96bef46a
add esp, 8
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebx]
imul eax, dword [ecx]
mov dword [edi], eax
imul eax, dword [0x43747c], 0x4a149082
mov dword [0x43747c], eax
jmp 0x422e43
mov ebx, dword [ebp + 0x10]
mov eax, dword [0x435688]
movzx ecx, word [0x437baa]
not eax
mov edi, dword [ebp + 0xc]
imul eax, eax, 0x19517abf
and ecx, eax
mov word [0x437baa], cx
test edi, edi
je 0x422eed
push dword [ebp - 0x20]
and dword [0x436908], 0xe45c0581
lea eax, [ebp - 0x30]
push eax
call fcn.004286f0
mov eax, dword [0x436a24]
mov ecx, dword [0x436734]
add eax, 0xcd6a5a21
or ecx, eax
lea eax, [ebp - 0x30]
or ecx, 0x68732b4c
push eax
mov dword [0x436734], ecx
inc dword [0x436a24]
push edi
call fcn.00420060
mov eax, dword [0x435f80]
not eax
and eax, 0x32185e3
mov dword [0x436c74], eax
mov eax, dword [ebx]
push 0
mov dword [edi], eax
xor dword [0x436464], 0x7cf9fdf4
push edi
call fcn.0041e4f0
add esp, 0x18
test eax, eax
jne 0x422ee3
mov dword [edi], 1
xor dword [0x435888], 0xfed65fad
mov ecx, dword [0x437800]
mov eax, dword [0x437284]
not ecx
or eax, ecx
or eax, 0xffef7ad7
mov dword [0x437284], eax
push 0
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.00410390
mov ax, word [0x43791e]
add esp, 0x18
movzx ecx, word [0x437fac]
cwde
imul ecx, eax
mov eax, esi
pop esi
pop ebx
pop edi
mov word [0x43791e], cx
mov esp, ebp
pop ebp
ret