Function at 0x490bc0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
mov eax, ecx
xchg esp, esp
mov dword [ebp - 0x34], 0x64973928
xor dword [ebp - 0x34], 0x2a0921a9
sub dword [ebp - 0x34], 0x13ec2eb8
add dword [ebp - 0x34], 0x190d4bfb
mov esp, esp
xor dword [ebp - 0x34], 0xc39b8b9
xor dword [ebp - 0x34], 0x16c06880
xor dword [ebp - 0x34], 0x4946e5fd
mov dword [esp - 0x24], edx
mov dword [ebp - 0x2c], eax
cmp dword [eax + 0xc], 0
jne 0x490c18
mov dword [esp - 0x44], esp
xor eax, eax
mov esp, ebp
pop ebp
xchg esp, esp
ret 0xc
nop
mov dword [esp - 4], 0x76619e67
xchg edi, edi
add dword [esp - 4], 0x87667dc
xor dword [esp - 4], 0x57fe99fa
add dword [esp - 4], 0x4aa3db53
xor dword [esp - 4], 0x65ccac8b
xchg esp, esp
xor dword [esp - 4], 0x1606d781
sub esp, 4
mov word [ebp - 4], 0xb8e
xor word [ebp - 4], 0x48e1
mov ecx, ecx
xor word [ebp - 4], 0x79bc
xor word [ebp - 4], 0x5ba9
sub word [ebp - 4], 0x367b
mov ebp, ebp
sub word [ebp - 4], 0x1394
add word [ebp - 4], 0x499c
mov byte [ebp - 2], 0x4e
xor byte [ebp - 2], 0x2d
mov dword [esp - 0x30], 0x133bffb
sub byte [ebp - 2], 0x59
add byte [ebp - 2], 0x6e
sub byte [ebp - 2], 0x4e
mov dword [esp - 0xc], ecx
mov dword [ebp - 0x24], 0x34afa728
sub dword [ebp - 0x24], 0x347eadec
xor dword [ebp - 0x24], 0x2e92e3c5
mov dword [esp - 0x3c], ecx
add dword [ebp - 0x24], 0x407f45fa
xor dword [ebp - 0x24], 0x6f2160f0
call fcn.0048b720
mov dword [esp - 0x38], ebx
add esp, 4
mov dword [ebp - 0x28], eax
xor edx, edx
xchg esi, esi
push ebx
push esi
push edi
movsx cx, byte [ebp + edx - 4]
mov dword [esp - 0x34], 0x3636b394
mov word [eax + edx*2], cx
inc edx
mov esi, dword [ebp - 0x24]
mov esp, esp
cmp edx, esi
jb 0x490cdb
mov edi, dword [ebp - 0x28]
mov dword [esp - 0x14], esi
lea eax, [ebp - 0x28]
cmp esi, 2
pushf
mov dword [esp - 0x38], esi
mov edx, 0x4603dd36
xor edx, 0x57d0a970
add edx, 0x30094aa
xor edx, 0x426be1f0
xchg esp, esp
xor edx, 0x56bfe902
popf
cmova eax, edi
mov edi, edi
xor ecx, ecx
mov dword [ebp - 4], eax
lea eax, [esi + 1]
mul edx
mov edi, edi
seto cl
neg ecx
or ecx, eax
push ecx
mov ebp, ebp
call fcn.0048b720
add esp, 4
mov dword [ebp - 0x18], eax
xor ebx, ebx
xchg ecx, ecx
test esi, esi
je 0x490dc7
sub dword [ebp - 4], eax
mov edi, edi
mov edi, eax
mov eax, dword [ebp - 4]
mov ecx, ebx
lea edi, [edi + 2]
mov dword [esp - 0x2c], ebp
and ecx, 3
mov edx, 0x409ab32f
xor edx, 0xa19fe58
mov dword [esp - 0x2c], 0x6241745a
xor edx, 0x444382e0
add edx, 0x6a8465dd
add edx, 0x520adc7
sub edx, 0x19325643
mov ecx, ecx
xor edx, 0x164da8b8
shl ecx, 3
inc ebx
mov esi, esi
sar edx, cl
movsx cx, dl
xor cx, word [eax + edi - 2]
xchg ebp, ebp
mov word [edi - 2], cx
cmp ebx, esi
jb 0x490d63
mov eax, dword [ebp - 0x18]
mov dword [esp - 0x40], esi
mov edi, dword [ebp - 0x28]
xor ecx, ecx
mov word [eax + esi*2], cx
cmp esi, 2
mov dword [esp - 0x40], esi
jbe 0x490de3
push edi
call fcn.0048b6f0
mov dword [esp - 0x1c], edx
add esp, 4
mov dword [ebp - 4], 0x75c502f
xor dword [ebp - 4], 0x76c7797
add dword [ebp - 4], 0x470533f1
mov dword [esp - 0x1c], 0x5d71f706
xor dword [ebp - 4], 0x40d17163
add dword [ebp - 4], 0x154eefb6
add dword [ebp - 4], 0x9fa5090
mov eax, dword [ebp - 4]
mov dword [esp - 0x44], 0x7bec25b
nop
sub esp, 4
mov dword [esp], 0x6a70c65c
mov dword [esp - 0x28], 0x318f2b54
xor dword [esp], 0x344ce0ee
xor dword [esp], 0x54efba11
add dword [esp], 0x4b3c4e70
mov ebp, ebp
sub dword [esp], 0xaf1ab2c
sub dword [esp], 0x4b1e3fdf
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], 0x2fa07bf7
mov dword [esp - 0xc], 0x3a0cd2c5
xor dword [ebp - 0x1c], 0x4f4ce643
sub dword [ebp - 0x1c], 0x422f21a2
sub dword [ebp - 0x1c], 0x6811166
xor dword [ebp - 0x1c], 0x76b3e28d
mov dword [esp - 0x1c], esi
sub dword [ebp - 0x1c], 0x64636ec6
xor dword [ebp - 0x1c], 0xa2c195f
call fcn.0048b720
mov dword [esp - 0x24], 0x4f837046
add esp, 4
mov dword [ebp - 0x20], eax
xor edx, edx
mov dword [esp - 0x1c], 0x1bfad319
movsx cx, byte [ebp + edx - 0x24]
mov word [eax + edx*2], cx
inc edx
mov dword [esp - 0x24], 0x601857a6
mov esi, dword [ebp - 0x1c]
cmp edx, esi
jb 0x490eb5
xchg ebp, ebp
mov edi, dword [ebp - 0x20]
lea eax, [ebp - 0x20]
cmp esi, 2
mov dword [esp - 0x30], 0x534fd53d
pushf
mov edx, 0x3493bb4f
xor edx, 0x24850dbf
xchg esi, esi
add edx, 0x2a13d514
add edx, 0x15a06f30
add edx, 0x44a7e5b
sub edx, 0x5415798d
xchg ecx, ecx
popf
cmova eax, edi
xor ecx, ecx
mov ebp, ebp
mov dword [ebp - 4], eax
lea eax, [esi + 1]
mul edx
xchg ecx, ecx
seto cl
neg ecx
or ecx, eax
mov dword [esp - 0x24], esi
push ecx
call fcn.0048b720
add esp, 4
mov dword [ebp - 0x14], eax
mov edi, edi
xor ebx, ebx
test esi, esi
je 0x490fab
sub dword [ebp - 4], eax
mov ebx, ebx
mov edi, eax
mov eax, dword [ebp - 4]
mov ecx, ebx
mov dword [esp - 0x38], 0x647619d8
lea edi, [edi + 2]
and ecx, 3
mov edx, 0x6f9061f1
xor edx, 0x4967ece4
mov ecx, ecx
xor edx, 0x58821378
sub edx, 0x79d5b7d7
xor edx, 0x61d1f030
mov esi, esi
sub edx, 0x50969a5
xor edx, 0x133a8941
shl ecx, 3
inc ebx
mov dword [esp - 0x34], ebx
sar edx, cl
movsx cx, dl
xor cx, word [eax + edi - 2]
mov dword [esp - 0x44], ecx
mov word [edi - 2], cx
cmp ebx, esi
jb 0x490f47
xchg edx, edx
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x20]
xor ecx, ecx
mov esp, esp
mov word [eax + esi*2], cx
cmp esi, 2
jbe 0x490fc3
push edi
mov ebp, ebp
call fcn.0048b6f0
add esp, 4
nop
mov dword [esp - 0x20], 0x45f35ffa
sub esp, 4
mov dword [esp], 0x1deae02b
xor dword [esp], 0x19f06f8
xor dword [esp], 0xd544453
mov dword [esp - 0x14], 0x15e0e194
add dword [esp], 0x39866002
sub dword [esp], 0x48a17324
xor dword [esp], 0x68cde385
mov edi, edi
sub dword [esp], 0x6acb6ccf
mov dword [ebp - 0x28], 0x23a83b1b
sub dword [ebp - 0x28], 0x1ad7cc67
mov ebp, ebp
add dword [ebp - 0x28], 0x30d630da
add dword [ebp - 0x28], 0x4680430
sub dword [ebp - 0x28], 0x3297d364
add dword [ebp - 0x28], 0x4965a503
mov dword [esp - 0x44], 0x1ebdbb53
xor dword [ebp - 0x28], 0x53da3469
mov word [ebp - 0x24], 0x5b83
xor word [ebp - 0x24], 0x41c9
xchg ecx, ecx
add word [ebp - 0x24], 0x2a96
add word [ebp - 0x24], 0x1e30
sub word [ebp - 0x24], 0x4ec
xor word [ebp - 0x24], 0xa3a
xchg esi, esi
sub word [ebp - 0x24], 0x45af
mov dword [ebp - 0x1c], 0x33cd9beb
add dword [ebp - 0x1c], 0x2ffa4c01
xchg edx, edx
xor dword [ebp - 0x1c], 0x4c51bd56
add dword [ebp - 0x1c], 0x4af26624
sub dword [ebp - 0x1c], 0x7a88c0d8
xchg ebx, ebx
call fcn.0048b720
add esp, 4
mov dword [ebp - 0x20], eax
mov dword [esp - 0x14], ecx
xor edx, edx
movsx cx, byte [ebp + edx - 0x28]
mov word [eax + edx*2], cx
inc edx
xchg esi, esi
mov esi, dword [ebp - 0x1c]
cmp edx, esi
jb 0x4910ab
mov edi, dword [ebp - 0x20]
xchg esi, esi
lea eax, [ebp - 0x20]
cmp esi, 2
pushf
mov dword [esp - 0x3c], 0xf44a68d
mov edx, 0x508b59fc
xor edx, 0x4ff5b2d4
add edx, 0x47fcd209
mov dword [esp - 0xc], 0x26653a17
sub edx, 0x3cc08855
xor edx, 0x4f00e34c
sub edx, 0x65bbd78e
popf
mov dword [esp - 0x20], esp
cmova eax, edi
xor ecx, ecx
mov dword [ebp - 4], eax
mov ebx, ebx
lea eax, [esi + 1]
mul edx
seto cl
neg ecx
mov dword [esp - 0x3c], esp
or ecx, eax
push ecx
call fcn.0048b720
mov esp, esp
add esp, 4
mov dword [ebp - 0x10], eax
xor ebx, ebx
test esi, esi
mov edi, edi
je 0x4911ac
sub dword [ebp - 4], eax
mov edi, eax
mov ecx, ecx
mov eax, dword [ebp - 4]
nop
mov ecx, ebx
lea edi, [edi + 2]
mov dword [esp - 0x18], 0x2ec0d479
and ecx, 3
mov edx, 0x34b16cb5
add edx, 0x158e68a7
sub edx, 0x1844d767
mov dword [esp - 0x20], ebp
add edx, 0x20707b9a
xor edx, 0x54b3b1b0
add edx, 0x51f16bb7
xor edx, 0x2bb417b6
mov dword [esp - 0x24], 0x6cb83161
shl ecx, 3
inc ebx
sar edx, cl
movsx cx, dl
mov dword [esp - 0xc], 0x6c455a27
xor cx, word [eax + edi - 2]
mov word [edi - 2], cx
cmp ebx, esi
jb 0x491140
mov edx, edx
mov eax, dword [ebp - 0x10]
mov edi, dword [ebp - 0x20]
xor ecx, ecx
mov dword [esp - 0x10], 0x23dd2428
mov word [eax + esi*2], cx
cmp esi, 2
jbe 0x4911d0
push edi
mov dword [esp - 0xc], 0x2776921c
call fcn.0048b6f0
add esp, 4
nop
xchg esi, esi
sub esp, 4
mov dword [esp], 0x60a1e6e5
sub dword [esp], 0x12173061
xor dword [esp], 0x84db5e7
mov dword [esp - 0x24], ebp
sub dword [esp], 0x1e393ad9
xor dword [esp], 0x288dc8ba
mov dword [ebp - 0x4c], 0x64f9da6b
mov dword [esp - 0x14], 0x20f73fc5
xor dword [ebp - 0x4c], 0x7fa5908a
add dword [ebp - 0x4c], 0x5220bb76
sub dword [ebp - 0x4c], 0x635aebb
sub dword [ebp - 0x4c], 0x35482667
mov dword [esp - 0x28], esp
sub dword [ebp - 0x4c], 0x2c1fbfe7
add dword [ebp - 0x4c], 0x192ee2d3
mov dword [ebp - 0x48], 0x60a2f4f2
xchg edx, edx
add dword [ebp - 0x48], 0xc9cb0f0
sub dword [ebp - 0x48], 0x67fbc3e6
xor dword [ebp - 0x48], 0x6dcb0362
xchg ebx, ebx
sub dword [ebp - 0x48], 0x26acdaee
xor dword [ebp - 0x48], 0x4a87c78b
xor dword [ebp - 0x48], 0xc448712
mov dword [ebp - 0x44], 0x1f1710e0
xchg esp, esp
add dword [ebp - 0x44], 0x914cb4c
add dword [ebp - 0x44], 0x76a4285
xor dword [ebp - 0x44], 0x6a015046
add dword [ebp - 0x44], 0x1678fc32
mov edx, edx
mov dword [ebp - 0x40], 0x3efd80b1
add dword [ebp - 0x40], 0x1fe94bff
sub dword [ebp - 0x40], 0x242df4bb
mov dword [esp - 0x34], esp
add dword [ebp - 0x40], 0x307513d
xor dword [ebp - 0x40], 0x2bca6e1d
mov dword [ebp - 0x3c], 0x4c3b96d1
mov esp, esp
xor dword [ebp - 0x3c], 0x76ea0804
add dword [ebp - 0x3c], 0x331622bc
xor dword [ebp - 0x3c], 0x1931c3ec
mov esp, esp
xor dword [ebp - 0x3c], 0x6d94cb7a
xor dword [ebp - 0x3c], 0x1e4fc033
mov dword [ebp - 0x38], 0x2372ee18
xchg edx, edx
sub dword [ebp - 0x38], 0x13726372
xor dword [ebp - 0x38], 0x1fb0cb9a
add dword [ebp - 0x38], 0x38800580
sub dword [ebp - 0x38], 0x2a11058a
mov dword [esp - 0x28], 0x61ddbb44
mov dword [ebp - 0x24], 0x7c723be2
xor dword [ebp - 0x24], 0x7cc138d0
add dword [ebp - 0x24], 0x49dce73d
xor dword [ebp - 0x24], 0x64cdcf5e
mov dword [esp - 0xc], ebp
add dword [ebp - 0x24], 0x282750d1
sub dword [ebp - 0x24], 0xd343c38
sub dword [ebp - 0x24], 0x493539b2
mov dword [esp - 0x28], ebp
call fcn.0048b720
add esp, 4
mov dword [ebp - 0x28], eax
xor edx, edx
xchg ebp, ebp
mov edi, edi
movsx cx, byte [ebp + edx - 0x4c]
mov word [eax + edx*2], cx
inc edx
mov esp, esp
mov esi, dword [ebp - 0x24]
cmp edx, esi
jb 0x491362
mov edi, dword [ebp - 0x28]
mov ebx, ebx
lea eax, [ebp - 0x28]
cmp esi, 2
pushf
mov edx, 0x8e5f186
xchg esi, esi
add edx, 0x5bcddf5
xor edx, 0x7e88a318
add edx, 0x9eec431
mov dword [esp - 0x38], 0x62738edb
add edx, 0x452cf26
sub edx, 0x7e6bffb8
popf
cmova eax, edi
xchg ebp, ebp
xor ecx, ecx
mov dword [ebp - 4], eax
lea eax, [esi + 1]
mov dword [esp - 0x30], 0x40333c57
mul edx
seto cl
neg ecx
or ecx, eax
mov dword [esp - 0x38], 0x47e7bdb4
push ecx
call fcn.0048b720
add esp, 4
mov dword [ebp - 0xc], eax
xchg ebp, ebp
xor ebx, ebx
test esi, esi
je 0x49145a
sub dword [ebp - 4], eax
mov esi, esi
mov edi, eax
mov eax, dword [ebp - 4]
mov edi, edi
xchg ecx, ecx
mov ecx, ebx
lea edi, [edi + 2]
and ecx, 3
mov edx, 0x5cafc776
mov dword [esp - 0x28], esp
sub edx, 0x3b439f98
add edx, 0x4f979d96
sub edx, 0x5876872b
sub edx, 0x5a1a1d7
mov edi, edi
add edx, 0x609287ce
shl ecx, 3
inc ebx
sar edx, cl
mov dword [esp - 0x1c], 0x6ddd6b0c
movsx cx, dl
xor cx, word [eax + edi - 2]
mov word [edi - 2], cx
mov dword [esp - 0x34], 0x31e0d4d6
cmp ebx, esi
jb 0x4913fa
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp - 0x28]
xchg ebx, ebx
xor ecx, ecx
mov word [eax + esi*2], cx
cmp esi, 2
jbe 0x491478
mov esi, esi
push edi
call fcn.0048b6f0
add esp, 4
mov dword [esp - 0x20], 0x15cba413
nop
sub esp, 4
mov dword [esp], 0x1fe38fc1
mov dword [esp - 0x1c], 0x3af52063
add dword [esp], 0x7e15110
xor dword [esp], 0x30f86aa6
add dword [esp], 0x2628fd19
xchg ebx, ebx
xor dword [esp], 0x3d6587b0
mov dword [ebp - 0x44], 0x373f4b45
xor dword [ebp - 0x44], 0x3cea584c
add dword [ebp - 0x44], 0x130c9dca
mov dword [esp - 0x40], 0x60c8fe60
xor dword [ebp - 0x44], 0x595553b7
xor dword [ebp - 0x44], 0x58bab745
mov dword [ebp - 0x40], 0x1c54027b
xchg esp, esp
sub dword [ebp - 0x40], 0x1a486d9f
add dword [ebp - 0x40], 0xacb6c56
xor dword [ebp - 0x40], 0x27aecbd8
add dword [ebp - 0x40], 0xaa84884
xchg esi, esi
sub dword [ebp - 0x40], 0x2f02cc45
mov dword [ebp - 0x3c], 0x6942b92c
sub dword [ebp - 0x3c], 0x36cda965
xor dword [ebp - 0x3c], 0x7257656e
mov dword [esp - 0xc], 0x2663a1ae
xor dword [ebp - 0x3c], 0x21aecaf3
sub dword [ebp - 0x3c], 0x1c5b7e5c
xor dword [ebp - 0x3c], 0x3d960152
mov dword [esp - 0x20], esp
xor dword [ebp - 0x3c], 0x24b76b85
mov dword [ebp - 0x38], 0x61e4701c
sub dword [ebp - 0x38], 0x967d19
mov dword [esp - 0x10], 0x1f97febd
sub dword [ebp - 0x38], 0x40742e44
add dword [ebp - 0x38], 0x59b701f5
sub dword [ebp - 0x38], 0x13f87046
sub dword [ebp - 0x38], 0x402e9a48
mov ebp, ebp
sub dword [ebp - 0x38], 0x95864fc
mov dword [ebp - 0x24], 0x130c8e8f
xor dword [ebp - 0x24], 0x6cbe3a3b
sub dword [ebp - 0x24], 0x3f010686
mov dword [esp - 0xc], ecx
sub dword [ebp - 0x24], 0x5707a8c
sub dword [ebp - 0x24], 0x3b413392
call fcn.0048b720
add esp, 4
mov dword [esp - 0x34], ebp
mov dword [ebp - 0x28], eax
xor edx, edx
movsx cx, byte [ebp + edx - 0x44]
mov ecx, ecx
mov word [eax + edx*2], cx
inc edx
mov esi, dword [ebp - 0x24]
xchg edi, edi
cmp edx, esi
jb 0x4915b2
cmp esi, 2
mov dword [esp - 0x28], esi
lea eax, [ebp - 0x28]
pushf
mov edx, 0x2fbcb129
xchg ebx, ebx
xor edx, 0x15416c8
sub edx, 0x8222883
add edx, 0x26ddbec4
mov dword [esp - 0xc], 0x67c37e55
sub edx, 0x3a645c54
sub edx, 0x133fe1cc
popf
cmova eax, dword [ebp - 0x28]
mov dword [esp - 0x18], ebx
xor ecx, ecx
mov dword [ebp - 4], eax
lea eax, [esi + 1]
mul edx
mov dword [esp - 0xc], 0x7f90ebed
seto cl
neg ecx
or ecx, eax
mov dword [esp - 0x14], ebp
push ecx
call fcn.0048b720
add esp, 4
mov dword [esp - 0x10], esi
mov edi, eax
xor ebx, ebx
mov dword [ebp - 8], edi
mov dword [esp - 0x44], ebp
test esi, esi
je 0x49169b
sub dword [ebp - 4], edi
mov esp, esp
mov edx, edi
mov edi, dword [ebp - 4]
mov edi, edi
mov esi, esi
mov ecx, ebx
lea edx, [edx + 2]
and ecx, 3
mov eax, 0x7c99e4d0
mov dword [esp - 0x10], ebp
xor eax, 0x57b4ecc7
xor eax, 0x65ad19dc
xor eax, 0x2ae30ca2
add eax, 0xf1b06d7
mov dword [esp - 0x3c], 0x7f61dfbd
shl ecx, 3
inc ebx
sar eax, cl
xchg esi, esi
cbw
xor ax, word [edi + edx - 2]
mov word [edx - 2], ax
mov esi, esi
cmp ebx, esi
jb 0x491652
mov edi, dword [ebp - 8]
xor eax, eax
mov dword [esp - 0x40], edi
mov word [edi + esi*2], ax
cmp esi, 2
jbe 0x4916bd
push dword [ebp - 0x28]
mov dword [esp - 0x2c], 0x2740e36d
call fcn.0048b6f0
add esp, 4
nop
mov dword [esp - 4], 0x6eea57b5
mov dword [esp - 0x20], 0x503fcc69
add dword [esp - 4], 0x66e6374
sub dword [esp - 4], 0x50c95810
xor dword [esp - 4], 0x55fafab3
sub dword [esp - 4], 0x11db653c
mov dword [esp - 0x1c], 0x6266834c
xor dword [esp - 4], 0x3b4eee43
sub dword [esp - 4], 0x64d4da0f
sub esp, 4
mov dword [esp - 0x28], 0x38cf50b2
mov dword [ebp - 0x44], 0xb0096a5
add dword [ebp - 0x44], 0x11d9559b
add dword [ebp - 0x44], 0x5806bbd0
xor dword [ebp - 0x44], 0x14066a91
mov dword [esp - 0x14], edx
add dword [ebp - 0x44], 0x19d2f049
xor dword [ebp - 0x44], 0x312993a5
sub dword [ebp - 0x44], 0x2c81cd4e
mov dword [ebp - 0x40], 0x2e74e20a
mov dword [esp - 0x18], 0x360b2fe
sub dword [ebp - 0x40], 0x2b913139
xor dword [ebp - 0x40], 0x3b84d290
xor dword [ebp - 0x40], 0x46d5a7b6
xchg ebp, ebp
sub dword [ebp - 0x40], 0x4e9c8052
sub dword [ebp - 0x40], 0x29f6fe7c
mov dword [ebp - 0x3c], 0x7b832856
xor dword [ebp - 0x3c], 0x4d81f896
xchg edi, edi
sub dword [ebp - 0x3c], 0x2bcfb23
xor dword [ebp - 0x3c], 0x1a3252ce
add dword [ebp - 0x3c], 0x3cee8cfe
xor dword [ebp - 0x3c], 0x3a765f78
mov dword [esp - 0x30], edx
mov word [ebp - 0x38], 0x2de6
xor word [ebp - 0x38], 0x58f0
sub word [ebp - 0x38], 0x5334
xchg ecx, ecx
add word [ebp - 0x38], 0x41e2
add word [ebp - 0x38], 0x463
add word [ebp - 0x38], 0x317
mov dword [esp - 0x1c], ecx
xor word [ebp - 0x38], 0x2206
mov byte [ebp - 0x36], 0x55
sub byte [ebp - 0x36], 6
mov edi, edi
xor byte [ebp - 0x36], 0x42
add byte [ebp - 0x36], 0x41
sub byte [ebp - 0x36], 0xb
mov esi, esi
xor byte [ebp - 0x36], 0x51
mov dword [ebp - 0x1c], 0x7700b854
add dword [ebp - 0x1c], 0x59dc15a
mov edx, edx
xor dword [ebp - 0x1c], 0x21247bc6
xor dword [ebp - 0x1c], 0x1182698b
add dword [ebp - 0x1c], 0x10fa6267
sub dword [ebp - 0x1c], 0x1757b095
xchg edi, edi
sub dword [ebp - 0x1c], 0x45db1da6
call fcn.0048b720
add esp, 4
mov dword [esp - 0x14], esi
mov dword [ebp - 0x20], eax
xor edx, edx
movsx cx, byte [ebp + edx - 0x44]
mov dword [esp - 0x24], 0x3dc55e31
mov word [eax + edx*2], cx
inc edx
mov ebx, dword [ebp - 0x1c]
cmp edx, ebx
mov dword [esp - 0x34], 0xc45aa24
jb 0x49183c
cmp ebx, 2
lea eax, [ebp - 0x20]
mov dword [esp - 0x40], esp
pushf
mov edx, 0x6a48019b
xor edx, 0x34d6cc94
xor edx, 0xe3528a8
mov dword [esp - 0x34], 0x7dc74966
sub edx, 0x18178a03
xor edx, 0x38945ba6
popf
cmova eax, dword [ebp - 0x20]
mov dword [esp - 0x28], esp
xor ecx, ecx
mov dword [ebp - 4], eax
lea eax, [ebx + 1]
mul edx
xchg ebp, ebp
seto cl
neg ecx
or ecx, eax
mov ebp, ebp
push ecx
call fcn.0048b720
add esp, 4
mov esi, eax
mov ebp, ebp
mov dword [ebp - 0x24], esi
test ebx, ebx
je 0x491946
mov dword [esp - 0x20], 0x35e7742
sub dword [ebp - 4], esi
mov edx, esi
mov esi, dword [ebp - 4]
xor edi, edi
mov esi, esi
mov edi, edi
mov ecx, edi
lea edx, [edx + 2]
mov dword [esp - 0x30], 0x5be439b2
and ecx, 3
mov eax, 0x6b9a57c1
sub eax, 0x40b833c3
mov edx, edx
xor eax, 0x34a99e97
xor eax, 0x1496a84c
add eax, 0x665ff1d4
mov dword [esp - 0x24], 0x1ae0e51b
xor eax, 0x40036e8f
add eax, 0x423fbbca
shl ecx, 3
inc edi
xchg edx, edx
sar eax, cl
cbw
xor ax, word [esi + edx - 2]
mov dword [esp - 0x18], 0x7fb9561f
mov word [edx - 2], ax
cmp edi, ebx
jb 0x4918dc
mov dword [esp - 0x44], 0x9132e78
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 8]
xor eax, eax
mov word [esi + ebx*2], ax
xchg esp, esp
cmp ebx, 2
jbe 0x491962
push dword [ebp - 0x20]
call fcn.0048b6f0
mov dword [esp - 0x24], esp
add esp, 4
mov eax, dword [ebp + 8]
xor ebx, ebx
cmp eax, 1
mov dword [esp - 0x40], edx
jne 0x491978
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
jmp 0x491984
cmp eax, 2
cmove ebx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ebx
mov ebp, ebp
mov edx, dword [ebp + 0x10]
xor eax, eax
mov ecx, edx
mov dword [esp - 0x44], ecx
mov dword [ebp - 0x5c], eax
and ecx, 1
mov dword [ebp - 0x58], eax
xchg edi, edi
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
cmovne eax, dword [ebp - 0x10]
mov esp, esp
mov dword [ebp + 8], ecx
mov dword [ebp - 0x60], eax
test dl, 2
xchg esi, esi
je 0x4919c0
mov eax, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x60], eax
inc ecx
xchg ecx, ecx
mov dword [ebp + 8], ecx
test dl, 8
je 0x4919d1
mov dword [ebp + ecx*4 - 0x60], edi
mov dword [esp - 0x10], esp
inc ecx
mov dword [ebp + 8], ecx
test dl, 4
mov edi, edi
je 0x4919e2
mov dword [ebp + ecx*4 - 0x60], esi
inc ecx
mov dword [ebp + 8], ecx
mov esp, esp
nop
sub esp, 4
mov dword [esp], 0x2991e75d
xor dword [esp], 0x476bc683
mov ebp, ebp
xor dword [esp], 0x1692816b
xor dword [esp], 0x472b8cb1
sub dword [esp], 0x92f3cda
mov dword [esp - 0x18], 0x7e9ea309
xor dword [esp], 0x3613ef32
call fcn.0048b6d0
add esp, 4
mov dword [ebp - 4], eax
mov dword [esp - 0x44], 0x74af1e8c
test eax, eax
je 0x491edf
mov ebx, dword [ebp + 0xc]
xchg ebx, ebx
mov eax, dword [ebx + 4]
mov dword [ebp + 0x10], eax
cmp eax, 2
mov dword [esp - 0x24], ebx
jbe 0x491a4b
mov ebx, dword [ebx]
xor ecx, ecx
xchg ecx, ecx
inc eax
mov edx, 0x7f27f5e8
xor edx, 0x29d91044
sub edx, 0x2e5c4115
mov esi, esi
add edx, 0x1f3bcbf2
xor edx, 0x47de708b
mul edx
seto cl
mov esi, esi
neg ecx
or ecx, eax
push ecx
mov dword [esp - 0x14], 0x2497b656
call fcn.0048b720
mov edi, eax
add esp, 4
mov eax, dword [ebp + 0x10]
mov dword [esp - 0x34], edx
xor esi, esi
mov dword [ebp + 0xc], edi
test eax, eax
mov esp, esp
je 0x491af9
mov edx, edi
sub ebx, edi
mov edi, eax
mov dword [esp - 0x40], 0x64bf2dc2
mov ecx, esi
lea edx, [edx + 2]
and ecx, 3
mov eax, 0x3e6e4e8a
mov dword [esp - 0x1c], ebp
sub eax, 0x2675e87
xor eax, 0x3a5b5a4b
add eax, 0xfd6ecb2
xchg ebx, ebx
add eax, 0x5d498d46
shl ecx, 3
inc esi
mov edi, edi
sar eax, cl
cbw
xor ax, word [ebx + edx - 2]
mov dword [esp - 0x1c], esi
mov word [edx - 2], ax
cmp esi, edi
jb 0x491aad
mov dword [esp - 0x2c], esi
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov dword [esp - 0x34], 0x2cef1df4
mov dword [ebp - 0x30], 0x3849d26a
add dword [ebp - 0x30], 0x3ecf4fec
sub dword [ebp - 0x30], 0x620f44b8
mov edx, edx
sub dword [ebp - 0x30], 0x1186856e
add dword [ebp - 0x30], 0x1ae29ed7
xor dword [ebp - 0x30], 0xed6bf70
mov dword [esp - 0x30], 0x75116dc8
xor dword [ebp - 0x30], 0x3399387f
mov word [edi + eax*2], cx
mov eax, dword [ebp - 4]
mov dword [esp - 0xc], edx
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x3f95878d
xor dword [ebp - 0x2c], 0x5a2a5cc4
sub dword [ebp - 0x2c], 0x4c0a1a14
xchg ecx, ecx
xor dword [ebp - 0x2c], 0x587a58fc
xor dword [ebp - 0x2c], 0x39f8ca6
nop
sub esp, 4
mov ebx, ebx
mov dword [esp], 0x1a5ab0bd
add dword [esp], 0x4e98ae31
sub dword [esp], 0x31a7c38c
mov dword [esp - 0x24], 0x4141dc64
xor dword [esp], 0x1518220c
add dword [esp], 0x19d4d5da
sub dword [esp], 0x3c288f38
mov dword [esp - 0xc], ebx
mov dword [ebp - 0x38], 0x6aa3c6d8
sub dword [ebp - 0x38], 0x11b39239
xor dword [ebp - 0x38], 0x5813efdb
mov esi, esi
add dword [ebp - 0x38], 0xb0ca532
add dword [ebp - 0x38], 0x526f1a5a
sub dword [ebp - 0x38], 0x5e5f9ac8
xchg esp, esp
mov ecx, dword [ecx + 0xc]
mov dword [eax + 4], 0x2a03fea7
sub dword [eax + 4], 0x25043ed8
mov esi, esi
add dword [eax + 4], 0x2133bf72
xor dword [eax + 4], 0x41d87fb8
xor dword [eax + 4], 0x10532e3c
mov dword [esp - 0x24], 0x20dec00
sub dword [eax + 4], 0x77b82ec5
mov dword [eax], ecx
mov dword [ebp - 0x34], ecx
mov dword [esp - 0x40], esi
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 8], 0x5fcedc7f
add dword [eax + 8], 0x1c415db7
mov dword [esp - 0x34], ebp
sub dword [eax + 8], 0x5f53105
sub dword [eax + 8], 0x1f82e175
add dword [eax + 8], 0x54fe7de
sub dword [eax + 8], 0x4f1868f0
mov dword [esp - 0x20], 0x50d72e2d
sub dword [eax + 8], 0xccfa6aa
mov dword [eax + 0xc], 0x35df1953
xor dword [eax + 0xc], 0x647af42e
xor dword [eax + 0xc], 0x7c599a3c
mov dword [esp - 0x28], 0x4960e2b8
sub dword [eax + 0xc], 0xeb185d3
xor dword [eax + 0xc], 0x1f4af16e
mov dword [eax + 0x10], 0x66635332
add dword [eax + 0x10], 0x15bce6fa
mov dword [esp - 0xc], 0x22b7a410
sub dword [eax + 0x10], 0x27e2abde
sub dword [eax + 0x10], 0x1f0afb5b
xor dword [eax + 0x10], 0x1f89395b
xchg ebp, ebp
xor dword [eax + 0x10], 0x2abbaba8
mov dword [eax + 0x14], 0x63beef0a
sub dword [eax + 0x14], 0x379d4b14
xchg ebp, ebp
sub dword [eax + 0x14], 0x915a4ea
add dword [eax + 0x14], 0xb516a1d
sub dword [eax + 0x14], 0x140789c1
sub dword [eax + 0x14], 0x1a55df67
mov ebx, ebx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
call fcn.0048b720
xchg ecx, ecx
add esp, 4
mov dword [ebp - 0x3c], eax
xor edx, edx
jmp 0x491d0a
movsx cx, byte [ebp + edx - 0x30]
mov word [eax + edx*2], cx
inc edx
mov ebx, dword [ebp - 0x38]
xchg esp, esp
cmp edx, ebx
jb 0x491d0a
cmp ebx, 2
lea eax, [ebp - 0x3c]
mov ebx, ebx
pushf
mov edx, 0x350e4fc9
add edx, 0x461ed985
sub edx, 0x58c70e8b
mov ebp, ebp
xor edx, 0x693f718f
sub edx, 0x3128c5cd
sub edx, 0x3b28981
mov dword [esp - 0x34], esi
sub edx, 0x167e1bfc
popf
cmova eax, dword [ebp - 0x3c]
mov dword [esp - 0x20], edi
xor ecx, ecx
mov dword [ebp + 0x10], eax
lea eax, [ebx + 1]
mov dword [esp - 0x10], ecx
mul edx
seto cl
neg ecx
or ecx, eax
mov ecx, ecx
push ecx
call fcn.0048b720
add esp, 4
mov dword [esp - 0x2c], edi
mov esi, eax
mov dword [ebp - 0x2c], esi
test ebx, ebx
je 0x491e16
xchg ecx, ecx
sub dword [ebp + 0x10], esi
mov edx, esi
mov esi, dword [ebp + 0x10]
xor edi, edi
mov dword [esp - 0x3c], ebx
mov edi, edi
mov ecx, edi
lea edx, [edx + 2]
mov dword [esp - 0x10], 0x55cd7258
and ecx, 3
mov eax, 0x179ae7b4
xor eax, 0x655f73f5
mov dword [esp - 0x3c], 0x179fbf47
add eax, 0x23ff60c
xor eax, 0x44aaf158
xor eax, 0x510107a7
mov dword [esp - 0x28], 0x3681fa9
xor eax, 0x266c3aaa
add eax, 0x2cbbde28
shl ecx, 3
inc edi
mov dword [esp - 0x20], 0x1ba2ab4e
sar eax, cl
cbw
xor ax, word [esi + edx - 2]
mov dword [esp - 0x20], 0x285c7dd9
mov word [edx - 2], ax
cmp edi, ebx
jb 0x491da4
mov esi, dword [ebp - 0x2c]
mov dword [esp - 0x14], ecx
mov edi, dword [ebp + 0xc]
xor eax, eax
xor ecx, ecx
cmp dword [ebp + 8], ecx
xchg ebp, ebp
mov word [esi + ebx*2], ax
lea eax, [ebp - 0x60]
push eax
mov dword [esp - 0x2c], ebp
pushf
mov dword [esp + 2], 0x5d7dda02
sub dword [esp + 2], 0x2705d47e
sub dword [esp + 2], 0x20d7dcce
mov dword [esp - 0x18], ecx
xor dword [esp + 2], 0x62b18bc8
xor dword [esp + 2], 0x254a89cf
xor dword [esp + 2], 0x52db2bb9
popf
xchg ebp, ebp
cmove eax, ecx
push eax
mov eax, dword [0x4baf30]
mov ecx, ecx
xor eax, dword [0x4ba958]
push ecx
push esi
push edi
xchg ebx, ebx
push dword [ebp - 0x1c]
push dword [ebp - 0x34]
call eax
mov dword [esp - 0xc], 0x5c6a8846
mov ecx, dword [ebp - 4]
push esi
mov dword [ecx + 4], eax
mov dword [esp - 0x2c], esp
call fcn.0048b6f0
add esp, 4
cmp ebx, 2
jbe 0x491eb4
mov edx, edx
push dword [ebp - 0x3c]
call fcn.0048b6f0
add esp, 4
mov dword [esp - 0x24], edi
mov esi, dword [ebp - 0x24]
mov eax, 0x1eb58c5a
xor eax, 0x2737a496
xchg esp, esp
add eax, 0x1639ad19
sub eax, 0x3fd20786
sub eax, 0xfe9ce5e
mov ebx, dword [ebp - 4]
mov dword [esp - 0xc], 0x419dd13c
jmp 0x491eeb
mov edi, dword [ebp + 8]
xor ebx, ebx
mov dword [esp - 0x38], ecx
mov eax, dword [ebp - 0x34]
test al, 1
je 0x491efc
push edi
mov dword [esp - 0x20], esi
call fcn.0048b6f0
add esp, 4
push esi
call fcn.0048b6f0
mov dword [esp - 0x24], esi
push dword [ebp - 8]
call fcn.0048b6f0
push dword [ebp - 0xc]
call fcn.0048b6f0
mov dword [esp - 0x14], ebp
push dword [ebp - 0x10]
call fcn.0048b6f0
push dword [ebp - 0x14]
mov ebp, ebp
call fcn.0048b6f0
push dword [ebp - 0x18]
call fcn.0048b6f0
mov dword [esp - 0x38], ebx
add esp, 0x18
mov eax, ebx
pop edi
mov ebx, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
mov dword [esp - 0x44], esp
ret 0xc