Function at 0x496280
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
xchg edi, edi
sub esp, 0x78
mov eax, ecx
mov dword [ebp - 0x4c], 0x6e92c1dd
mov dword [esp - 0x1c], esi
xor dword [ebp - 0x4c], 0x7cc06d2f
add dword [ebp - 0x4c], 0x48872274
xor dword [ebp - 0x4c], 0xaa8df63
xchg ecx, ecx
sub dword [ebp - 0x4c], 0x50711005
mov dword [ebp - 0x44], eax
cmp dword [eax + 0xc], 0
jne 0x4962c6
mov esp, esp
xor eax, eax
mov esp, ebp
pop ebp
ret 0xc
mov word [ebp - 3], 0x2a48
sub word [ebp - 3], 0x21e8
xor word [ebp - 3], 0x5758
mov dword [esp - 0x10], ecx
xor word [ebp - 3], 0x3bd3
xor word [ebp - 3], 0x655d
mov cl, 6
mov dword [esp - 0xc], ebp
add cl, 0x17
sub cl, 0x1b
xor cl, 0x60
mov esi, esi
xor cl, 0x9c
mov ax, word [ebp - 3]
nop
xchg esi, esi
mov dword [esp - 4], 0x2b69aed3
add dword [esp - 4], 0x48027dce
sub dword [esp - 4], 0x4b7ce139
mov esp, esp
xor dword [esp - 4], 0x6c25bdd5
sub dword [esp - 4], 0x4bcaf6b7
sub esp, 4
xchg ecx, ecx
mov word [ebp - 4], ax
mov byte [ebp - 2], cl
mov dword [ebp - 0x38], 0x1700ecf3
xor dword [ebp - 0x38], 0x76913883
mov ebp, ebp
sub dword [ebp - 0x38], 0x39e6964d
add dword [ebp - 0x38], 0x39b31aaf
sub dword [ebp - 0x38], 0x470a28d5
mov dword [esp - 0x40], ecx
add dword [ebp - 0x38], 0x4b2737e5
sub dword [ebp - 0x38], 0x657b67df
call fcn.00490c90
add esp, 4
mov dword [esp - 0x10], 0x4f2b0c74
mov dword [ebp - 0x3c], eax
xor edx, edx
push ebx
push esi
mov edi, edi
push edi
lea esp, [esp]
movsx cx, byte [ebp + edx - 4]
mov word [eax + edx*2], cx
mov dword [esp - 0x40], 0x1fc003e2
inc edx
mov esi, dword [ebp - 0x38]
cmp edx, esi
jb 0x49638e
mov dword [esp - 0x40], 0x391db628
mov edi, dword [ebp - 0x3c]
lea eax, [ebp - 0x3c]
cmp esi, 2
pushf
xchg edi, edi
mov ecx, 0x756402ef
sub ecx, 0x7246ed2
add ecx, 0x5e48b90
sub ecx, 0x1b7752e
mov ebp, ebp
sub ecx, 0x726caa7d
popf
cmova eax, edi
mov ecx, ecx
mov dword [ebp - 4], eax
lea eax, [esi + 1]
mul ecx
pushf
mov dword [esp - 0x40], esi
mov ecx, 0x786d23d8
xor ecx, 0x628503a7
sub ecx, 0x156419b
add ecx, 0x47a9af4a
mov dword [esp - 0x14], edx
add ecx, 0x13f2d1b4
add ecx, 0x58d98cd
xor ecx, 0x85440750
popf
mov edx, edx
cmovb eax, ecx
push eax
call fcn.00490c90
add esp, 4
mov dword [esp - 0x18], edx
mov dword [ebp - 0x18], eax
xor ebx, ebx
test esi, esi
je 0x4964a6
mov ebx, ebx
sub dword [ebp - 4], eax
mov edi, eax
mov eax, dword [ebp - 4]
lea ecx, [ecx]
mov dword [esp - 0x44], 0x4afe4653
mov ecx, ebx
lea edi, [edi + 2]
and ecx, 3
mov dword [esp - 0x24], 0x252bbe85
mov edx, 0x6622d350
xor edx, 0x2d827e93
xor edx, 0x37b3be6a
mov ebp, ebp
xor edx, 0x5fb709cc
add edx, 0x58062a8c
shl ecx, 3
mov edi, edi
inc ebx
sar edx, cl
movsx cx, dl
mov esp, esp
xor cx, word [eax + edi - 2]
mov word [edi - 2], cx
cmp ebx, esi
mov ecx, ecx
jb 0x496450
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x3c]
mov dword [esp - 0x44], esi
xor ecx, ecx
mov word [eax + esi*2], cx
cmp esi, 2
jbe 0x4964c0
mov dword [esp - 0x40], edi
push edi
call fcn.00490c60
add esp, 4
mov edx, edx
mov dword [ebp - 4], 0x736e3dd0
xor dword [ebp - 4], 0x1e22f9af
sub dword [ebp - 4], 0x5909b4f9
add dword [ebp - 4], 0x206886ba
mov dword [esp - 0x14], esp
xor dword [ebp - 4], 0x1b529de1
mov eax, dword [ebp - 4]
nop
mov dword [esp - 0x28], 0x13f61979
mov dword [esp - 4], 0x72a34c74
sub dword [esp - 4], 0xeb05767
sub dword [esp - 4], 0x467e253b
xor dword [esp - 4], 0x6a916f0d
mov dword [esp - 0x30], 0x7d3da80e
sub dword [esp - 4], 0x77e5a0d7
sub esp, 4
mov dword [ebp - 0x38], eax
mov dword [esp - 0x2c], 0x12baaeb6
mov dword [ebp - 0x1c], 0x5b454468
xor dword [ebp - 0x1c], 0x37d178f3
sub dword [ebp - 0x1c], 0x2d25ed42
mov dword [esp - 0x2c], 0x47a79393
xor dword [ebp - 0x1c], 0x1d092fc2
sub dword [ebp - 0x1c], 0x3a36e29
sub dword [ebp - 0x1c], 0x1ec3f26e
call fcn.00490c90
mov esp, esp
add esp, 4
mov dword [ebp - 0x20], eax
xor edx, edx
xchg edi, edi
movsx cx, byte [ebp + edx - 0x38]
mov word [eax + edx*2], cx
inc edx
mov esi, dword [ebp - 0x1c]
mov dword [esp - 0x38], 0x1a5b3c11
cmp edx, esi
jb 0x496574
mov edi, dword [ebp - 0x20]
lea eax, [ebp - 0x20]
mov edi, edi
cmp esi, 2
pushf
mov ecx, 0x7d3b56f3
mov dword [esp - 0x24], 0x63428410
sub ecx, 0x153fe7ac
sub ecx, 0x54f06ddb
xor ecx, 0x7b187a23
mov dword [esp - 0x10], edi
add ecx, 0x20affa7
sub ecx, 0x147f646
xor ecx, 0x68d684b2
popf
mov dword [esp - 0x44], 0x757590dd
cmova eax, edi
mov dword [ebp - 4], eax
lea eax, [esi + 1]
mov dword [esp - 0x1c], 0x43f7512c
mul ecx
pushf
mov ecx, 0x6ae40495
sub ecx, 0x62dc627d
mov dword [esp - 0x2c], 0x3b682cfb
add ecx, 0x58316d30
sub ecx, 0x481015e0
xor ecx, 0xe7d70697
popf
mov esp, esp
cmovb eax, ecx
push eax
call fcn.00490c90
add esp, 4
mov dword [esp - 0x34], esp
mov dword [ebp - 0x14], eax
xor ebx, ebx
test esi, esi
je 0x49669f
xchg esi, esi
sub dword [ebp - 4], eax
mov edi, eax
mov eax, dword [ebp - 4]
mov edi, edi
mov dword [esp - 0x2c], ebx
mov ecx, ebx
lea edi, [edi + 2]
and ecx, 3
xchg edi, edi
mov edx, 0x3b9c5705
add edx, 0xd733905
sub edx, 0x1d6385cb
add edx, 0xbe93c83
mov dword [esp - 0x18], 0x72aa4c79
xor edx, 0x4c3f0233
shl ecx, 3
inc ebx
xchg ebx, ebx
sar edx, cl
movsx cx, dl
xor cx, word [eax + edi - 2]
mov dword [esp - 0x18], 0x8b1f0bf
mov word [edi - 2], cx
cmp ebx, esi
jb 0x496641
mov dword [esp - 0xc], 0x524e4001
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x20]
xor ecx, ecx
mov word [eax + esi*2], cx
mov dword [esp - 0x24], esp
cmp esi, 2
jbe 0x4966bf
push edi
call fcn.00490c60
mov dword [esp - 0x20], 0x28e768ea
add esp, 4
mov dword [ebp - 0x37], 0x5697caa8
add dword [ebp - 0x37], 0x21b63c2d
xchg edx, edx
sub dword [ebp - 0x37], 0x26135d71
xor dword [ebp - 0x37], 0xc19b1d2
sub dword [ebp - 0x37], 0x57a7f84e
xor dword [ebp - 0x37], 0x9a901ed
mov dword [esp - 0x30], 0x18fc42a8
mov eax, dword [ebp - 0x37]
mov dword [ebp - 0x20], eax
mov word [ebp - 0x33], 0x1326
mov dword [esp - 0x40], ebp
add word [ebp - 0x33], 0x5f85
add word [ebp - 0x33], 0x562
xor word [ebp - 0x33], 0x13fe
xor word [ebp - 0x33], 0x52d
mov dword [esp - 0xc], ebp
mov ax, word [ebp - 0x33]
nop
sub esp, 4
mov dword [esp], 0x5155b8fc
xchg edx, edx
xor dword [esp], 0x7440fbf
xor dword [esp], 0x75b0fb59
sub dword [esp], 0x17704ad9
xchg edi, edi
sub dword [esp], 0xc310135
mov word [ebp - 0x1c], ax
mov dword [ebp - 0x38], 0x7e3cf583
mov ebp, ebp
sub dword [ebp - 0x38], 0x64d634e7
add dword [ebp - 0x38], 0x39373432
sub dword [ebp - 0x38], 0x256ea49a
xchg ebx, ebx
sub dword [ebp - 0x38], 0x2d2f502e
call fcn.00490c90
add esp, 4
mov dword [ebp - 0x3c], eax
mov dword [esp - 0xc], esp
xor edx, edx
nop
movsx cx, byte [ebp + edx - 0x20]
mov dword [esp - 0x24], ebp
mov word [eax + edx*2], cx
inc edx
mov esi, dword [ebp - 0x38]
cmp edx, esi
mov esp, esp
jb 0x49678b
mov edi, dword [ebp - 0x3c]
lea eax, [ebp - 0x3c]
mov dword [esp - 0x10], edi
cmp esi, 2
pushf
mov ecx, 0x7cc3827c
sub ecx, 0xb0963dd
mov dword [esp - 0x2c], 0x7a1ea3f9
sub ecx, 0x15c0915a
add ecx, 0x1c0fd0f6
sub ecx, 0x2659a68a
xor ecx, 0x51afb7b3
xchg ecx, ecx
popf
cmova eax, edi
mov dword [ebp - 4], eax
lea eax, [esi + 1]
mov dword [esp - 0x3c], edi
mul ecx
pushf
mov ecx, 0x3b0b3d28
mov dword [esp - 0x1c], edi
xor ecx, 0x38227891
add ecx, 0x1424a79b
add ecx, 0x49010aff
xor ecx, 0x9fb107ac
mov dword [esp - 0x44], 0x2c99f75b
popf
cmovb eax, ecx
push eax
call fcn.00490c90
mov dword [esp - 0xc], esp
add esp, 4
mov dword [ebp - 0x10], eax
xor ebx, ebx
test esi, esi
mov dword [esp - 0x34], 0x11e9f617
je 0x4968ab
sub dword [ebp - 4], eax
mov edi, eax
mov eax, dword [ebp - 4]
mov esi, esi
lea ecx, [ecx]
mov ecx, ebx
lea edi, [edi + 2]
and ecx, 3
mov dword [esp - 0x1c], edi
mov edx, 0x3ec56e6c
add edx, 0x112768c5
xor edx, 0x6ffec68c
mov edi, edi
xor edx, 0x7bef779f
xor edx, 0x70fef5b8
add edx, 0x50a6b157
mov ecx, ecx
shl ecx, 3
inc ebx
sar edx, cl
movsx cx, dl
mov dword [esp - 0x44], 0x1afd7fa0
xor cx, word [edi + eax - 2]
mov word [edi - 2], cx
cmp ebx, esi
mov dword [esp - 0x20], ebp
jb 0x49684b
mov eax, dword [ebp - 0x10]
mov edi, dword [ebp - 0x3c]
mov dword [esp - 0x18], edx
xor ecx, ecx
mov word [eax + esi*2], cx
cmp esi, 2
jbe 0x4968cb
mov dword [esp - 0x30], 0x7e5e1992
push edi
call fcn.00490c60
add esp, 4
mov dword [esp - 0x30], ecx
mov dword [ebp - 0x64], 0x476c1f81
sub dword [ebp - 0x64], 0xd5b8f4a
add dword [ebp - 0x64], 0x17a8742f
xchg edx, edx
sub dword [ebp - 0x64], 0x27b2f9eb
sub dword [ebp - 0x64], 0xc32c132
add dword [ebp - 0x64], 0x3f9d533b
mov ecx, ecx
xor dword [ebp - 0x64], 0x4aaaa814
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x30], eax
xchg esi, esi
mov dword [ebp - 0x60], 0x6653e57c
sub dword [ebp - 0x60], 0x2fcae42a
add dword [ebp - 0x60], 0x2baee7d
mov dword [esp - 0x34], ebx
sub dword [ebp - 0x60], 0x29fa023c
add dword [ebp - 0x60], 0x813a05
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x2c], eax
xchg esi, esi
mov dword [ebp - 0x5c], 0x24f2f538
add dword [ebp - 0x5c], 0x1dc5818
sub dword [ebp - 0x5c], 0x19dd156b
xchg esp, esp
add dword [ebp - 0x5c], 0x55bd5147
sub dword [ebp - 0x5c], 0xdeb5d94
mov eax, dword [ebp - 0x5c]
mov edx, edx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x58], 0x53b7878c
sub dword [ebp - 0x58], 0x2c4116e8
mov dword [esp - 0x38], 0x5ffcf298
sub dword [ebp - 0x58], 0xdc00d18
xor dword [ebp - 0x58], 0x4430b938
sub dword [ebp - 0x58], 0x3b68934d
xor dword [ebp - 0x58], 0x46e150fb
mov dword [esp - 0x38], edx
sub dword [ebp - 0x58], 0x4620effe
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x54], 0x2dd8e80
mov dword [esp - 0x40], ebp
add dword [ebp - 0x54], 0x41a16ea
add dword [ebp - 0x54], 0x29b5b5d2
sub dword [ebp - 0x54], 0x1f3a04c4
mov dword [esp - 0x10], ebx
sub dword [ebp - 0x54], 0xe57cc0c
add dword [ebp - 0x54], 0xcbddf19
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x20], eax
mov dword [esp - 0x20], 0x68258ca0
mov dword [ebp - 0x50], 0x572f958e
add dword [ebp - 0x50], 0x11a3297a
xor dword [ebp - 0x50], 0x728e91d8
xor dword [ebp - 0x50], 0x62c59d85
mov esp, esp
sub dword [ebp - 0x50], 0x17dcb3fa
sub dword [ebp - 0x50], 0x49f1ddd8
mov eax, dword [ebp - 0x50]
nop
xchg edx, edx
sub esp, 4
mov dword [esp], 0xf44901d
add dword [esp], 0x70064504
xchg edx, edx
sub dword [esp], 0x50b46784
add dword [esp], 0x1e798a4c
xor dword [esp], 0x11c8f9f5
sub dword [esp], 0x5cc70dec
mov esi, esi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x38], 0x6942451e
sub dword [ebp - 0x38], 0xcfb6970
sub dword [ebp - 0x38], 0x37ebf576
mov dword [esp - 0x38], 0x4a762aea
sub dword [ebp - 0x38], 0x1a0ba901
sub dword [ebp - 0x38], 0xa4f3d1f
call fcn.00490c90
mov ebx, ebx
add esp, 4
mov dword [ebp - 0x3c], eax
xor edx, edx
mov dword [esp - 0x30], 0x43e47b59
movsx cx, byte [ebp + edx - 0x30]
mov word [eax + edx*2], cx
inc edx
mov dword [esp - 0x24], 0xfdace4c
mov esi, dword [ebp - 0x38]
cmp edx, esi
jb 0x496a8f
mov dword [esp - 0x14], 0x184421f7
mov edi, dword [ebp - 0x3c]
lea eax, [ebp - 0x3c]
cmp esi, 2
pushf
mov dword [esp - 0x30], esp
mov ecx, 0x2032c448
add ecx, 0x59289058
xor ecx, 0x25b6691f
mov edi, edi
xor ecx, 0x1013d99b
add ecx, 0x2a768d87
sub ecx, 0x7546ab50
mov dword [esp - 0x1c], 0x5661c4c
xor ecx, 0x22ec659
popf
cmova eax, edi
mov dword [esp - 0x44], esi
mov dword [ebp - 4], eax
lea eax, [esi + 1]
mul ecx
xchg ebx, ebx
pushf
mov ecx, 0x11be517f
xor ecx, 0x33eb6898
mov dword [esp - 0x14], 0x5c8692f1
xor ecx, 0x5508a306
xor ecx, 0x194d10a4
add ecx, 0x91ef75ba
popf
mov dword [esp - 0x24], esi
cmovb eax, ecx
push eax
call fcn.00490c90
mov dword [esp - 0x40], 0x386b67a2
add esp, 4
mov dword [ebp - 0xc], eax
xor ebx, ebx
test esi, esi
xchg esi, esi
je 0x496bb9
sub dword [ebp - 4], eax
mov edi, eax
mov dword [esp - 0x3c], 0x3a06bf8e
mov eax, dword [ebp - 4]
nop
mov ecx, ebx
lea edi, [edi + 2]
mov dword [esp - 0x30], 0x64c04c42
and ecx, 3
mov edx, 0x114a0dff
add edx, 0x3a43e7f1
xor edx, 0x2b2a2c32
xchg edi, edi
xor edx, 0x3231cd10
add edx, 0x2914301f
shl ecx, 3
mov ecx, ecx
inc ebx
sar edx, cl
movsx cx, dl
xor cx, word [edi + eax - 2]
mov dword [esp - 0xc], esp
mov word [edi - 2], cx
cmp ebx, esi
jb 0x496b63
mov eax, dword [ebp - 0xc]
mov dword [esp - 0x30], esp
mov edi, dword [ebp - 0x3c]
xor ecx, ecx
mov word [eax + esi*2], cx
cmp esi, 2
mov ebx, ebx
jbe 0x496bd1
push edi
call fcn.00490c60
xchg edx, edx
add esp, 4
mov dword [ebp - 0x5c], 0x39a5ed6b
add dword [ebp - 0x5c], 0x207227e8
sub dword [ebp - 0x5c], 0xdd02796
mov dword [esp - 0x1c], esp
sub dword [ebp - 0x5c], 0x44030f27
add dword [ebp - 0x5c], 0xf9555fa
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x28], eax
mov esp, esp
mov dword [ebp - 0x58], 0x4025f549
add dword [ebp - 0x58], 0x1e4e738a
sub dword [ebp - 0x58], 0x16bebda
xchg edx, edx
sub dword [ebp - 0x58], 0x3c7d585d
sub dword [ebp - 0x58], 0x335c486
xor dword [ebp - 0x58], 0x129e478e
mov ecx, ecx
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x54], 0x5b40e618
sub dword [ebp - 0x54], 0x575a5345
mov dword [esp - 0x20], 0x6118603
add dword [ebp - 0x54], 0x3a231b63
xor dword [ebp - 0x54], 0x5857dce4
sub dword [ebp - 0x54], 0x365553ab
mov dword [esp - 0x1c], ebx
xor dword [ebp - 0x54], 0x68383dee
sub dword [ebp - 0x54], 0x36cf731
mov eax, dword [ebp - 0x54]
mov dword [esp - 0x30], 0x9710493
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x50], 0x2764a578
add dword [ebp - 0x50], 0x4988a9eb
xor dword [ebp - 0x50], 0x610aa3b
xchg ecx, ecx
sub dword [ebp - 0x50], 0x4f0a89ef
xor dword [ebp - 0x50], 0x53d2f097
add dword [ebp - 0x50], 0x28a7a50
xor dword [ebp - 0x50], 0x636911d5
mov dword [esp - 0x28], 0x54028494
mov eax, dword [ebp - 0x50]
nop
sub esp, 4
mov dword [esp - 0x2c], 0x6fb16ac4
mov dword [esp], 0x3f2f6980
add dword [esp], 0x16682228
xor dword [esp], 0x79c2755
xor dword [esp], 0x6742b8c8
mov dword [esp - 0x38], esp
xor dword [esp], 0x35491415
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x38], 0x5dac741f
xchg edi, edi
sub dword [ebp - 0x38], 0x550114ed
sub dword [ebp - 0x38], 0x2681928
add dword [ebp - 0x38], 0x148a749c
xor dword [ebp - 0x38], 0x2abd4390
mov esi, esi
add dword [ebp - 0x38], 0x457fc167
xor dword [ebp - 0x38], 0x75f0ba8d
call fcn.00490c90
mov dword [esp - 0x24], 0x1d496daa
add esp, 4
mov dword [ebp - 0x3c], eax
xor edx, edx
jmp 0x496d45
movsx cx, byte [ebp + edx - 0x28]
mov word [eax + edx*2], cx
inc edx
mov esi, dword [ebp - 0x38]
mov ebp, ebp
cmp edx, esi
jb 0x496d45
cmp esi, 2
mov ecx, ecx
lea eax, [ebp - 0x3c]
pushf
mov ecx, 0x19818106
add ecx, 0xbb24e5a
xchg ebx, ebx
xor ecx, 0x73ba91f7
add ecx, 0x14d816fa
sub ecx, 0x3b6b8a67
xor ecx, 0x79a927fe
xchg ebp, ebp
xor ecx, 0x565cccd6
popf
cmova eax, dword [ebp - 0x3c]
mov dword [ebp - 4], eax
mov edx, edx
lea eax, [esi + 1]
mul ecx
pushf
mov ecx, 0x6118ac76
xchg esi, esi
add ecx, 0x7fc3fcf
xor ecx, 0x4c3ba8e0
add ecx, 0x2cd47c00
mov ebx, ebx
xor ecx, 0x7902fbf9
xor ecx, 0xd4fec4a3
popf
cmovb eax, ecx
mov edx, edx
push eax
call fcn.00490c90
add esp, 4
mov dword [esp - 0x44], esp
mov edi, eax
xor ebx, ebx
mov dword [ebp - 8], edi
xchg esi, esi
test esi, esi
je 0x496e4e
sub dword [ebp - 4], edi
mov ebx, ebx
mov edx, edi
mov edi, dword [ebp - 4]
lea ecx, [ecx]
mov ecx, ebx
mov dword [esp - 0x1c], ebx
lea edx, [edx + 2]
and ecx, 3
mov eax, 0x539cd778
sub eax, 0xc5b337d
mov ebx, ebx
sub eax, 0x18e1971b
sub eax, 0x2100dcd8
add eax, 0x61c6ddbf
sub eax, 0xeeafd08
xchg esp, esp
add eax, 0x1b6f3432
shl ecx, 3
inc ebx
mov ebp, ebp
sar eax, cl
cbw
xor ax, word [edx + edi - 2]
xchg edi, edi
mov word [edx - 2], ax
cmp ebx, esi
jb 0x496df7
mov dword [esp - 0x18], 0x26ea67a0
mov edi, dword [ebp - 8]
xor eax, eax
mov word [edi + esi*2], ax
mov dword [esp - 0x2c], edi
cmp esi, 2
jbe 0x496e6c
push dword [ebp - 0x3c]
call fcn.00490c60
mov dword [esp - 0x1c], ebx
add esp, 4
mov dword [ebp - 0x5b], 0x1a5650cc
xor dword [ebp - 0x5b], 0x2e62d1a8
mov dword [esp - 0x2c], ebx
sub dword [ebp - 0x5b], 0x7c9be95
add dword [ebp - 0x5b], 0x28f9cc42
add dword [ebp - 0x5b], 0x191bb698
xor dword [ebp - 0x5b], 0x795a7139
mov dword [esp - 0x3c], 0x402232ed
mov cl, 7
xor cl, 0x37
add cl, 0x33
mov edi, edi
add cl, 0
xor cl, 0x46
sub cl, 0x16
xor cl, 0xc9
mov esi, esi
mov eax, dword [ebp - 0x5b]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x57], 0x71c8afe5
xchg edx, edx
xor dword [ebp - 0x57], 0x5ba2e29e
add dword [ebp - 0x57], 0x11f21dae
add dword [ebp - 0x57], 0x3ae341e0
xor dword [ebp - 0x57], 0x1ecef996
xchg esp, esp
sub dword [ebp - 0x57], 0x5a262d07
mov eax, dword [ebp - 0x57]
mov dword [ebp - 0x3c], eax
mov dword [esp - 0x38], 0x100d3fa4
mov dword [ebp - 0x53], 0x71dd14e9
sub dword [ebp - 0x53], 0x11783f6f
add dword [ebp - 0x53], 0x95a43b
xor dword [ebp - 0x53], 0x4995c548
mov edi, edi
add dword [ebp - 0x53], 0x2b546e9b
mov eax, dword [ebp - 0x53]
mov dword [ebp - 0x38], eax
mov dword [esp - 0x38], esi
mov word [ebp - 0x4f], 0x39fb
sub word [ebp - 0x4f], 0x2da6
add word [ebp - 0x4f], 0x16d3
mov esi, esi
xor word [ebp - 0x4f], 0x4780
sub word [ebp - 0x4f], 0x3b1f
mov ax, word [ebp - 0x4f]
nop
mov dword [esp - 0x3c], esi
mov dword [esp - 4], 0x446d82e
add dword [esp - 4], 0x6df7c422
xor dword [esp - 4], 0x62bd7da6
xchg edx, edx
add dword [esp - 4], 0x2f3280a0
xor dword [esp - 4], 0x3fb66288
sub esp, 4
mov ecx, ecx
mov word [ebp - 0x34], ax
mov byte [ebp - 0x32], cl
mov dword [ebp - 0x1c], 0xaacca69
xchg edi, edi
add dword [ebp - 0x1c], 0x28d51ced
add dword [ebp - 0x1c], 0x1c6e3caf
sub dword [ebp - 0x1c], 0x2622485e
sub dword [ebp - 0x1c], 0x29cddb98
xchg ecx, ecx
call fcn.00490c90
add esp, 4
mov dword [ebp - 0x20], eax
xor edx, edx
mov dword [esp - 0x30], ecx
jmp 0x496fc7
movsx cx, byte [ebp + edx - 0x40]
mov word [eax + edx*2], cx
mov dword [esp - 0xc], edi
inc edx
mov ebx, dword [ebp - 0x1c]
cmp edx, ebx
xchg esp, esp
jb 0x496fc7
cmp ebx, 2
lea eax, [ebp - 0x20]
pushf
xchg esi, esi
mov ecx, 0x40b3e1eb
add ecx, 0x275706d8
sub ecx, 0x5f7fc4d0
mov esp, esp
add ecx, 0x63578509
sub ecx, 0x6be2a8fa
popf
mov dword [esp - 0x14], 0x3bafd161
cmova eax, dword [ebp - 0x20]
mov dword [ebp - 4], eax
lea eax, [ebx + 1]
mul ecx
mov dword [esp - 0x34], edx
pushf
mov ecx, 0x37aab733
sub ecx, 0x33800ed0
mov dword [esp - 0x10], 0x7da55b92
add ecx, 0x10287dcc
add ecx, 0x49589c3
xor ecx, 0xe717500d
popf
xchg esi, esi
cmovb eax, ecx
push eax
call fcn.00490c90
add esp, 4
mov dword [esp - 0x10], esi
mov esi, eax
mov dword [ebp - 0x38], esi
test ebx, ebx
mov dword [esp - 0x2c], 0x1b5b37c2
je 0x4970e1
sub dword [ebp - 4], esi
mov edx, esi
mov dword [esp - 0x40], esi
mov esi, dword [ebp - 4]
xor edi, edi
lea ecx, [ecx]
mov ecx, edi
mov dword [esp - 0x10], esp
lea edx, [edx + 2]
and ecx, 3
mov eax, 0x4dea095e
add eax, 0x129f89c1
mov dword [esp - 0x24], ebp
sub eax, 0x39e6aa76
xor eax, 0x5a49c607
sub eax, 0x416d7797
sub eax, 0x777f8e
xchg ecx, ecx
add eax, 0x40a40d68
shl ecx, 3
inc edi
mov dword [esp - 0x18], 0x5d89c091
sar eax, cl
cbw
xor ax, word [edx + esi - 2]
mov dword [esp - 0x30], 0x1ca351a
mov word [edx - 2], ax
cmp edi, ebx
jb 0x49707f
mov esi, dword [ebp - 0x38]
xchg esp, esp
mov edi, dword [ebp - 8]
xor eax, eax
mov word [esi + ebx*2], ax
mov dword [esp - 0x14], 0x709f20ab
cmp ebx, 2
jbe 0x497107
push dword [ebp - 0x20]
call fcn.00490c60
mov dword [esp - 0xc], 0x75ae750
add esp, 4
mov eax, dword [ebp + 8]
xor ebx, ebx
cmp eax, 1
xchg esp, esp
jne 0x497123
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
mov dword [esp - 0x28], 0x138f8966
jmp 0x49712d
cmp eax, 2
cmove ebx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ebx
mov edx, dword [ebp + 0x10]
xchg edi, edi
xor eax, eax
mov ecx, edx
mov dword [ebp - 0x74], eax
and ecx, 1
mov ebp, ebp
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
cmovne eax, dword [ebp - 0x10]
mov dword [esp - 0x34], 0x4b3ed875
mov dword [ebp + 8], ecx
mov dword [ebp - 0x78], eax
test dl, 2
mov ecx, ecx
je 0x49716f
mov eax, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x78], eax
inc ecx
mov dword [esp - 0x1c], ebx
mov dword [ebp + 8], ecx
test dl, 8
je 0x497180
mov dword [ebp + ecx*4 - 0x78], edi
mov dword [esp - 0x38], esi
inc ecx
mov dword [ebp + 8], ecx
test dl, 4
je 0x497195
mov dword [esp - 0x1c], 0x2eb6bd10
mov dword [ebp + ecx*4 - 0x78], esi
inc ecx
mov dword [ebp + 8], ecx
nop
mov dword [esp - 0x40], 0x66ef4ba0
mov dword [esp - 4], 0x7bdada0
add dword [esp - 4], 0x482468d0
xor dword [esp - 4], 0x121f4180
sub dword [esp - 4], 0x3f2d342b
xchg ecx, ecx
xor dword [esp - 4], 0x78fabf83
add dword [esp - 4], 0x155f9497
sub dword [esp - 4], 0x7b8a30c5
xchg esp, esp
sub esp, 4
call fcn.00490c50
add esp, 4
mov dword [ebp - 4], eax
mov dword [esp - 0x38], ebp
test eax, eax
je 0x4976ef
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 4]
xchg edi, edi
mov dword [ebp + 0x10], eax
cmp eax, 2
jbe 0x49720a
mov ebx, dword [ebx]
mov dword [esp - 0x20], edx
inc eax
mov ecx, 0x3d754740
add ecx, 0x46d2f8d
mov dword [esp - 0x18], ebp
sub ecx, 0x3dbe6afd
xor ecx, 0x73855f8b
xor ecx, 0x13f4cf7d
sub ecx, 0x64559b24
mov dword [esp - 0x10], ebx
mul ecx
pushf
mov ecx, 0x4037794
xor ecx, 0x120319e3
mov edx, edx
sub ecx, 0x13921b52
xor ecx, 0x9bf88e3
add ecx, 0x52376b0e
mov dword [esp - 0x18], ecx
sub ecx, 0x1b1b8b6
add ecx, 0xa3a871e1
popf
cmovb eax, ecx
xchg ebx, ebx
push eax
call fcn.00490c90
mov edi, eax
add esp, 4
mov esi, esi
mov eax, dword [ebp + 0x10]
xor esi, esi
mov dword [ebp + 0xc], edi
test eax, eax
mov dword [esp - 0x34], 0x6e7ffd85
je 0x4972e7
mov edx, edi
sub ebx, edi
mov ebp, ebp
mov edi, eax
mov ecx, esi
lea edx, [edx + 2]
xchg edi, edi
and ecx, 3
mov eax, 0x5b80b96d
sub eax, 0x4c5026d6
mov edx, edx
add eax, 0x189a1d20
sub eax, 0x250586
add eax, 0x54049ac0
shl ecx, 3
mov dword [esp - 0x14], 0x2609fa5
inc esi
sar eax, cl
cbw
mov dword [esp - 0x18], esi
xor ax, word [edx + ebx - 2]
mov word [edx - 2], ax
cmp esi, edi
jb 0x497299
mov ebx, ebx
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov dword [ebp - 0x48], 0x6fb74a8f
mov dword [esp - 0x10], esi
xor dword [ebp - 0x48], 0x141acc76
sub dword [ebp - 0x48], 0x1623c493
sub dword [ebp - 0x48], 0x4c623814
mov dword [esp - 0x30], edx
xor dword [ebp - 0x48], 0x5a931b57
sub dword [ebp - 0x48], 0x17b6804c
mov word [edi + eax*2], cx
mov eax, dword [ebp - 4]
mov ebp, ebp
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x44], 0x1005f26d
sub dword [ebp - 0x44], 0xe7a8223
xor dword [ebp - 0x44], 0x658b2e1c
xchg esi, esi
sub dword [ebp - 0x44], 0x40e9c24c
sub dword [ebp - 0x44], 0xad94b21
xor dword [ebp - 0x44], 0x52b92537
xchg ebp, ebp
nop
mov dword [esp - 4], 0x45d65901
add dword [esp - 4], 0x2e730082
mov dword [esp - 0x38], ebp
sub dword [esp - 4], 0x1538287c
sub dword [esp - 4], 0x1d4a4aab
add dword [esp - 4], 0x135c2f71
mov esp, esp
sub dword [esp - 4], 0x31c4f8cc
sub dword [esp - 4], 0x235e1cf1
sub esp, 4
mov dword [esp - 0xc], ebp
mov dword [ebp - 0x50], 0x4a1f2e6b
sub dword [ebp - 0x50], 0x38587cd5
add dword [ebp - 0x50], 0x28aa86e1
mov dword [esp - 0x44], esi
sub dword [ebp - 0x50], 0x49544db
sub dword [ebp - 0x50], 0x3413a8b8
add dword [ebp - 0x50], 0x15d76ce0
xor dword [ebp - 0x50], 0x179fb7cc
xchg esi, esi
mov ecx, dword [ecx + 0xc]
mov dword [eax + 4], 0x7494bf83
xor dword [eax + 4], 0x35b7275b
xor dword [eax + 4], 0x2d92b3c2
mov dword [esp - 0x2c], edi
xor dword [eax + 4], 0x19cca375
sub dword [eax + 4], 0x757d886f
mov dword [eax], ecx
mov dword [esp - 0x18], edi
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ebp - 0x44]
mov dword [eax + 8], 0x178db89e
mov dword [esp - 0x30], 0x7c915fa0
sub dword [eax + 8], 0x38d9dda
xor dword [eax + 8], 0x19013677
add dword [eax + 8], 0x57c90441
xchg ecx, ecx
add dword [eax + 8], 0xb83b7a1
sub dword [eax + 8], 0x704de895
mov dword [eax + 0xc], 0x5dcc1871
add dword [eax + 0xc], 0x213676a7
mov dword [esp - 0x34], 0x67ba7cd8
sub dword [eax + 0xc], 0x5c3e3c4d
xor dword [eax + 0xc], 0x1a10d99d
xor dword [eax + 0xc], 0x3efe8326
add dword [eax + 0xc], 0x123935c0
mov ecx, ecx
sub dword [eax + 0xc], 0x18633e30
mov dword [eax + 0x10], 0x4b1b061e
sub dword [eax + 0x10], 0x146e1438
add dword [eax + 0x10], 0x20f8d84d
mov dword [esp - 0xc], 0x53e933c
xor dword [eax + 0x10], 0x21683729
xor dword [eax + 0x10], 0x76cdfd1a
mov dword [eax + 0x14], 0x4da8f375
mov dword [esp - 0x40], esp
sub dword [eax + 0x14], 0x2f5ab877
add dword [eax + 0x14], 0x129ac0e0
sub dword [eax + 0x14], 0x5f11986
add dword [eax + 0x14], 0x10302086
mov ecx, ecx
xor dword [eax + 0x14], 0x3b2802df
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
xchg esi, esi
mov dword [ebp - 0x44], ecx
call fcn.00490c90
add esp, 4
mov dword [ebp - 0x54], eax
mov dword [esp - 0x28], ecx
xor edx, edx
movsx cx, byte [ebp + edx - 0x48]
mov word [eax + edx*2], cx
inc edx
mov edi, edi
mov ebx, dword [ebp - 0x50]
cmp edx, ebx
jb 0x4974ee
mov dword [esp - 0x3c], 0x1bbccca1
cmp ebx, 2
lea eax, [ebp - 0x54]
pushf
mov ecx, 0x1a7ca5fa
mov dword [esp - 0x24], 0x14daa5b6
add ecx, 0x4408ac48
sub ecx, 0x4616f91e
add ecx, 0x4c83fcba
mov esp, esp
sub ecx, 0x64f255dc
popf
cmova eax, dword [ebp - 0x54]
mov dword [ebp + 0x10], eax
mov ebp, ebp
lea eax, [ebx + 1]
mul ecx
pushf
mov ecx, 0x390d68d3
mov esp, esp
xor ecx, 0x53fcc032
sub ecx, 0x3619469d
sub ecx, 0x276efc20
mov dword [esp - 0x28], 0x60dd2e3c
add ecx, 0x23f0357f
xor ecx, 0xcea6645c
popf
xchg ebp, ebp
cmovb eax, ecx
push eax
call fcn.00490c90
add esp, 4
mov dword [esp - 0x2c], 0x47fe3c13
mov esi, eax
mov dword [ebp - 0x44], esi
test ebx, ebx
mov dword [esp - 0x30], 0x49b29893
je 0x497608
sub dword [ebp + 0x10], esi
mov edx, esi
xchg edx, edx
mov esi, dword [ebp + 0x10]
xor edi, edi
mov ecx, edi
lea edx, [edx + 2]
mov dword [esp - 0x3c], 0x7454077c
and ecx, 3
mov eax, 0x6cd29dfc
sub eax, 0x306a1872
mov esp, esp
xor eax, 0x7496d06e
xor eax, 0x4c12c16b
xor eax, 0x58bdc3af
add eax, 0x1f58edd1
mov dword [esp - 0x2c], 0x48bbce87
shl ecx, 3
inc edi
sar eax, cl
xchg ebx, ebx
cbw
xor ax, word [esi + edx - 2]
mov word [edx - 2], ax
mov dword [esp - 0x20], edi
cmp edi, ebx
jb 0x4975ad
mov esi, dword [ebp - 0x44]
xchg edi, edi
mov edi, dword [ebp + 0xc]
xor eax, eax
xor ecx, ecx
cmp dword [ebp + 8], ecx
xchg ebx, ebx
mov word [esi + ebx*2], ax
lea eax, [ebp - 0x78]
push ecx
pushf
xchg esp, esp
mov dword [esp + 2], 0x74fcfed2
sub dword [esp + 2], 0x10c66715
sub dword [esp + 2], 0x3bd8a952
add dword [esp + 2], 0x2eb9c4
mov edi, edi
add dword [esp + 2], 0x340644d3
xor dword [esp + 2], 0x4df62273
sub dword [esp + 2], 0x10e4ce69
popf
mov dword [esp - 0x3c], 0x130a58d3
cmove eax, ecx
push eax
mov eax, dword [0x4c0f48]
mov esp, esp
xor eax, dword [0x4c0968]
push ecx
push esi
mov dword [esp - 0x10], 0x35349d38
push edi
push dword [ebp - 0x1c]
push dword [ebp - 0x4c]
call eax
mov dword [esp - 0x38], 0x4ff9e4c4
mov ecx, dword [ebp - 4]
push esi
mov dword [ecx + 4], eax
call fcn.00490c60
mov dword [esp - 0x2c], 0x4ce9c329
add esp, 4
cmp ebx, 2
jbe 0x4976b8
mov ebx, ebx
push dword [ebp - 0x54]
call fcn.00490c60
add esp, 4
xchg esi, esi
mov esi, dword [ebp - 0x38]
mov eax, 0x58f0f4f6
sub eax, 0x69e9d3
xor eax, 0x3e1f725a
mov dword [esp - 0x44], 0x69d25009
xor eax, 0x6b063a37
add eax, 0x667f1e65
add eax, 0x69c0e47
sub eax, 0x7ab96ff9
mov dword [esp - 0x10], ebp
mov ebx, dword [ebp - 4]
jmp 0x4976f9
mov edi, dword [ebp + 8]
xor ebx, ebx
mov eax, dword [ebp - 0x4c]
xchg ecx, ecx
test al, 1
je 0x49770e
push edi
call fcn.00490c60
mov dword [esp - 0x30], 0x70489b
add esp, 4
push esi
call fcn.00490c60
push dword [ebp - 8]
xchg esi, esi
call fcn.00490c60
push dword [ebp - 0xc]
call fcn.00490c60
push dword [ebp - 0x10]
mov ecx, ecx
call fcn.00490c60
push dword [ebp - 0x14]
call fcn.00490c60
mov edi, edi
push dword [ebp - 0x18]
call fcn.00490c60
add esp, 0x18
mov dword [esp - 0x40], ecx
mov eax, ebx
pop edi
pop esi
pop ebx
mov dword [esp - 0x44], 0x211783b3
mov esp, ebp
pop ebp
ret 0xc