Function at 0x4ec990
Capabilities:
Encode data using xor
Hash data with md5

Disassembly:
sub esp, 0xf0
mov eax, dword [0x56a8e0]
xor eax, esp
mov dword [esp + 0xec], eax
push ebx
mov ebx, ecx
cmp dword [ebx + 0x148], 0
mov dword [esp + 0x28], ebx
jne 0x4ec9e6
push 1
call fcn.004de730
add esp, 4
mov dword [ebx + 0x148], eax
test eax, eax
jne 0x4ec9e6
mov eax, 5
mov dword [ebx + 4], eax
pop ebx
mov ecx, dword [esp + 0xec]
xor ecx, esp
call fcn.00493d56
add esp, 0xf0
ret
mov eax, dword [ebx + 0x148]
push esi
push eax
mov esi, ebx
call fcn.004de840
add esp, 4
cmp dword [ebx + 0x250], 0
jne 0x4eca56
mov eax, dword [ebx + 0x188]
mov ecx, dword [ebx + 0x18c]
mov edx, eax
or edx, ecx
je 0x4eca56
mov esi, dword [ebx + 0x54]
mov edx, dword [ebx + 0x50]
push ecx
push eax
push esi
push edx
call fcn.0050504b
fcomp qword [0x535c38]
add esp, 0x10
fnstsw ax
test ah, 5
jp 0x4eca56
mov eax, dword [ebx + 0x198]
cmp eax, 0x3e8
je 0x4edb7a
cmp eax, 0xfffffc07
jne 0x4eca56
mov eax, dword [ebx + 0x40]
or eax, dword [ebx + 0x44]
je 0x4edb7a
mov ecx, dword [ebx + 0x148]
push ebp
push edi
push ecx
mov dword [ebx + 0x250], 0
call fcn.004ddf50
mov esi, ebx
call fcn.004de9f0
mov edx, dword [ebx + 0x148]
push 0x56f15c
push edx
call fcn.005047a9
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x4ecb28
call fcn.00499e50
mov eax, dword [eax]
push eax
lea edi, [ebx + 0x18]
push str.zI_d
call fcn.004ddcb0
mov ecx, dword [ebx + 0x148]
push ecx
call fcn.00505d52
add esp, 0xc
test eax, eax
jne 0x4ecb11
mov edx, dword [ebx + 0x148]
push 0x56f168
push edx
call fcn.005047a9
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x4ecb28
cmp dword [ebx + 4], 0
jne 0x4edb78
mov dword [ebx + 4], 5
call fcn.00499e50
mov ecx, dword [eax]
mov dword [ebx + 8], ecx
call fcn.00499e50
mov edx, dword [ebx + 0x148]
mov eax, dword [eax]
push edx
push eax
push str.zH_d__s
call fcn.004ddcb0
add esp, 0xc
jmp 0x4edb78
call fcn.00499e50
mov eax, dword [eax]
push eax
push str.zG_d
call fcn.004ddcb0
add esp, 8
jmp 0x4ecad5
xor edi, edi
push ebp
push str._n_________POINTCALL_Electronic_License___________________n_________Please_do_not_modify_manually__________________n
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x40], 0x67452301
mov dword [esp + 0x44], 0xefcdab89
mov dword [esp + 0x48], 0x98badcfe
mov dword [esp + 0x4c], 0x10325476
call fcn.00506255
push ebp
push 0x56f268
call fcn.00506255
push ebp
push 0x56f26c
call fcn.00506255
push 0x56f280
lea eax, [edi + 0x11]
lea esi, [esp + 0x54]
call fcn.004e82f0
mov eax, dword [0x569258]
add esp, 0x1c
cmp eax, edi
je 0x4ecbbb
push ebp
push eax
call fcn.00506255
mov edx, dword [0x569258]
mov eax, edx
add esp, 8
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ecba5
sub eax, esi
push edx
lea esi, [esp + 0x3c]
call fcn.004e82f0
add esp, 4
push ebp
push 0x56f294
call fcn.00506255
push ebp
push 0x56f298
call fcn.00506255
push 0x56f2ac
mov eax, 0x11
lea esi, [esp + 0x4c]
call fcn.004e82f0
mov eax, dword [str.PV03_AS_001]
add esp, 0x14
cmp eax, edi
je 0x4ecc1b
push ebp
push eax
call fcn.00506255
mov edx, dword [str.PV03_AS_001]
mov eax, edx
add esp, 8
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ecc05
sub eax, esi
push edx
lea esi, [esp + 0x3c]
call fcn.004e82f0
add esp, 4
push ebp
push 0x56f2c0
call fcn.00506255
add esp, 8
cmp dword [ebx + 0xd0], edi
je 0x4ecc9a
push ebp
push 0x56f2c4
call fcn.00506255
push 0x56f2d8
mov eax, 0x11
lea esi, [esp + 0x44]
call fcn.004e82f0
mov eax, dword [ebx + 0xd0]
add esp, 0xc
cmp eax, edi
je 0x4ecc87
push ebp
push eax
call fcn.00506255
mov esi, dword [ebx + 0xd0]
mov eax, esi
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ecc71
push esi
sub eax, edx
lea esi, [esp + 0x3c]
call fcn.004e82f0
add esp, 4
push ebp
push 0x56f2ec
call fcn.00506255
add esp, 8
jmp 0x4ecd41
mov ecx, dword [ebx + 0x104]
mov esi, 0x20
call fcn.004de680
push ebp
test eax, eax
je 0x4ecd16
push 0x56f2f0
call fcn.00506255
lea eax, [esi - 0xf]
push 0x56f304
lea esi, [esp + 0x44]
call fcn.004e82f0
mov eax, dword [ebx + 0x104]
add esp, 0xc
cmp eax, edi
je 0x4ecd06
push ebp
push eax
call fcn.00506255
mov esi, dword [ebx + 0x104]
mov eax, esi
add esp, 8
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4eccf0
push esi
sub eax, edx
lea esi, [esp + 0x3c]
call fcn.004e82f0
add esp, 4
push ebp
push 0x56f318
call fcn.00506255
add esp, 8
jmp 0x4ecd41
push 0x56f31c
call fcn.00506255
push 0x56f330
mov eax, 0x11
lea esi, [esp + 0x44]
call fcn.004e82f0
push ebp
push 0x56f344
call fcn.00506255
add esp, 0x14
lea edi, [ebx + 0xd4]
mov esi, 4
mov ecx, edi
call fcn.004de680
test eax, eax
je 0x4ecdc8
mov eax, edi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ecd60
sub eax, edx
cmp eax, 4
jne 0x4ecdc8
push ebp
push 0x56f348
call fcn.00506255
push 0x56f35c
mov eax, 0x11
lea esi, [esp + 0x44]
call fcn.004e82f0
add esp, 0xc
test edi, edi
je 0x4ecdb8
push ebp
push edi
call fcn.00506255
mov eax, edi
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ecda2
sub eax, edx
push edi
lea esi, [esp + 0x3c]
call fcn.004e82f0
add esp, 4
push ebp
push 0x56f370
call fcn.00506255
add esp, 8
jmp 0x4ecdf4
push ebp
push 0x56f374
call fcn.00506255
push 0x56f388
mov eax, 0x11
lea esi, [esp + 0x44]
call fcn.004e82f0
push ebp
push 0x56f39c
call fcn.00506255
add esp, 0x14
mov ecx, dword [ebx + 0xdc]
push ecx
lea edx, [esp + 0xb0]
push 0x56f3a0
push edx
call fcn.00496d63
push ebp
push 0x56f3a4
call fcn.00506255
push 0x56f3b8
mov eax, 0x11
lea esi, [esp + 0x50]
call fcn.004e82f0
lea eax, [esp + 0xc4]
push ebp
push eax
call fcn.00506255
lea eax, [esp + 0xcc]
add esp, 0x20
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ece46
lea ecx, [esp + 0xac]
sub eax, edx
push ecx
lea esi, [esp + 0x3c]
call fcn.004e82f0
push ebp
push 0x56f3cc
call fcn.00506255
lea edi, [ebx + 0xe0]
add esp, 0xc
mov esi, 0x20
mov ecx, edi
call fcn.004de680
push ebp
test eax, eax
je 0x4ecedc
push 0x56f3d0
call fcn.00506255
lea eax, [esi - 0xf]
push 0x56f3e4
lea esi, [esp + 0x44]
call fcn.004e82f0
add esp, 0xc
test edi, edi
je 0x4ececc
push ebp
push edi
call fcn.00506255
mov eax, edi
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4eceb6
sub eax, edx
push edi
lea esi, [esp + 0x3c]
call fcn.004e82f0
add esp, 4
push ebp
push 0x56f3f8
call fcn.00506255
add esp, 8
jmp 0x4ecf07
push 0x56f3fc
call fcn.00506255
push 0x56f410
mov eax, 0x11
lea esi, [esp + 0x44]
call fcn.004e82f0
push ebp
push 0x56f424
call fcn.00506255
add esp, 0x14
mov edx, dword [ebx + 0x38]
push edx
lea eax, [esp + 0xb0]
push 0x56f428
push eax
call fcn.00496d63
push ebp
push 0x56f42c
call fcn.00506255
push 0x56f440
mov eax, 0x11
lea esi, [esp + 0x50]
call fcn.004e82f0
lea ecx, [esp + 0xc4]
push ebp
push ecx
call fcn.00506255
lea eax, [esp + 0xcc]
add esp, 0x20
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ecf56
sub eax, edx
lea edx, [esp + 0xac]
push edx
lea esi, [esp + 0x3c]
call fcn.004e82f0
push ebp
push 0x56f454
call fcn.00506255
mov eax, dword [ebx + 0x40]
push eax
lea ecx, [esp + 0xbc]
push 0x56f458
push ecx
call fcn.00496d63
push ebp
push 0x56f45c
call fcn.00506255
push 0x56f470
mov eax, 0x11
call fcn.004e82f0
lea edx, [esp + 0xd0]
push ebp
push edx
call fcn.00506255
lea eax, [esp + 0xd8]
add esp, 0x2c
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ecfc6
lea ecx, [esp + 0xac]
sub eax, esi
push ecx
lea esi, [esp + 0x3c]
call fcn.004e82f0
push ebp
push 0x56f484
call fcn.00506255
mov edx, dword [ebx + 0x268]
push edx
lea eax, [esp + 0xbc]
push 0x56f488
push eax
call fcn.00496d63
push ebp
push 0x56f48c
call fcn.00506255
push 0x56f4a0
mov eax, 0x11
call fcn.004e82f0
lea ecx, [esp + 0xd0]
push ebp
push ecx
call fcn.00506255
lea eax, [esp + 0xd8]
add esp, 0x2c
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ed040
lea edx, [esp + 0xac]
sub eax, esi
push edx
lea esi, [esp + 0x3c]
call fcn.004e82f0
push ebp
push 0x56f4b4
call fcn.00506255
mov eax, dword [ebx + 0x48]
push eax
lea ecx, [esp + 0xbc]
push 0x56f4b8
push ecx
call fcn.00496d63
push ebp
push 0x56f4bc
call fcn.00506255
push 0x56f4d0
mov eax, 0x11
call fcn.004e82f0
lea edx, [esp + 0xd0]
push ebp
push edx
call fcn.00506255
lea eax, [esp + 0xd8]
add esp, 0x2c
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ed0b0
lea ecx, [esp + 0xac]
sub eax, esi
push ecx
lea esi, [esp + 0x3c]
call fcn.004e82f0
push ebp
push 0x56f4e4
call fcn.00506255
mov edx, dword [ebx + 0x50]
push edx
lea eax, [esp + 0xbc]
push 0x56f4e8
push eax
call fcn.00496d63
push ebp
push 0x56f4ec
call fcn.00506255
push 0x56f500
mov eax, 0x11
call fcn.004e82f0
lea ecx, [esp + 0xd0]
push ebp
push ecx
call fcn.00506255
lea eax, [esp + 0xd8]
add esp, 0x2c
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ed120
sub eax, edx
lea edx, [esp + 0xac]
push edx
lea esi, [esp + 0x3c]
call fcn.004e82f0
push ebp
push 0x56f514
call fcn.00506255
mov eax, dword [ebx + 0x160]
add esp, 0xc
or eax, dword [ebx + 0x164]
je 0x4ed1cc
mov ecx, dword [ebx + 0x160]
push ecx
lea edx, [esp + 0xb0]
push 0x56f518
push edx
call fcn.00496d63
push ebp
push 0x56f51c
call fcn.00506255
push 0x56f530
mov eax, 0x11
call fcn.004e82f0
lea eax, [esp + 0xc4]
push ebp
push eax
call fcn.00506255
lea eax, [esp + 0xcc]
add esp, 0x20
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ed1a4
lea ecx, [esp + 0xac]
sub eax, edx
push ecx
lea esi, [esp + 0x3c]
call fcn.004e82f0
push ebp
push 0x56f544
call fcn.00506255
add esp, 0xc
push ebp
push 0x56f548
call fcn.00506255
push 0x56f55c
mov eax, 0x11
lea esi, [esp + 0x44]
call fcn.004e82f0
mov eax, dword [ebx + 0x2c]
add esp, 0xc
test eax, eax
je 0x4ed21c
push ebp
push eax
call fcn.00506255
mov esi, dword [ebx + 0x2c]
mov eax, esi
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ed206
push esi
sub eax, edx
lea esi, [esp + 0x3c]
call fcn.004e82f0
add esp, 4
push ebp
push 0x56f570
call fcn.00506255
push ebp
push 0x56f574
call fcn.00506255
push 0x56f588
mov eax, 0x11
lea esi, [esp + 0x4c]
call fcn.004e82f0
mov eax, dword [ebx + 0x30]
add esp, 0x14
test eax, eax
je 0x4ed277
push ebp
push eax
call fcn.00506255
mov esi, dword [ebx + 0x30]
mov eax, esi
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ed261
push esi
sub eax, edx
lea esi, [esp + 0x3c]
call fcn.004e82f0
add esp, 4
push ebp
push 0x56f59c
call fcn.00506255
push ebp
push 0x56f5a0
call fcn.00506255
push 0x56f5b4
mov eax, 0x11
lea esi, [esp + 0x4c]
call fcn.004e82f0
mov eax, dword [0x56927c]
add esp, 0x14
test eax, eax
je 0x4ed2d7
push ebp
push eax
call fcn.00506255
mov edx, dword [0x56927c]
mov eax, edx
add esp, 8
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ed2c1
sub eax, esi
push edx
lea esi, [esp + 0x3c]
call fcn.004e82f0
add esp, 4
push ebp
push 0x56f5c8
call fcn.00506255
add esp, 8
cmp dword [ebx + 0x1a8], 0
je 0x4ed354
push ebp
push 0x56f5cc
call fcn.00506255
push 0x56f5e0
mov eax, 0x11
lea esi, [esp + 0x44]
call fcn.004e82f0
mov eax, dword [ebx + 0x1a8]
add esp, 0xc
test eax, eax
je 0x4ed346
push ebp
push eax
call fcn.00506255
mov esi, dword [ebx + 0x1a8]
mov eax, esi
add esp, 8
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ed330
push esi
sub eax, edx
lea esi, [esp + 0x3c]
call fcn.004e82f0
add esp, 4
push ebp
push 0x56f5f4
call fcn.00506255
add esp, 8
mov eax, dword [ebx + 0x1ac]
test eax, eax
jle 0x4ed3d8
push eax
lea edx, [esp + 0xb0]
push 0x56f5f8
push edx
call fcn.00496d63
push ebp
push 0x56f5fc
call fcn.00506255
push 0x56f610
mov eax, 0x11
lea esi, [esp + 0x50]
call fcn.004e82f0
lea eax, [esp + 0xc4]
push ebp
push eax
call fcn.00506255
lea eax, [esp + 0xcc]
add esp, 0x20
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ed3b0
lea ecx, [esp + 0xac]
sub eax, edx
push ecx
lea esi, [esp + 0x3c]
call fcn.004e82f0
push ebp
push 0x56f624
call fcn.00506255
add esp, 0xc
mov edx, dword [ebx + 0x1b0]
or edx, dword [ebx + 0x1b4]
je 0x4ed468
mov eax, dword [ebx + 0x1b0]
push eax
lea ecx, [esp + 0xb0]
push 0x56f628
push ecx
call fcn.00496d63
push ebp
push 0x56f62c
call fcn.00506255
push 0x56f640
mov eax, 0x11
lea esi, [esp + 0x50]
call fcn.004e82f0
lea edx, [esp + 0xc4]
push ebp
push edx
call fcn.00506255
lea eax, [esp + 0xcc]
add esp, 0x20
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ed440
lea ecx, [esp + 0xac]
sub eax, edx
push ecx
lea esi, [esp + 0x3c]
call fcn.004e82f0
push ebp
push 0x56f654
call fcn.00506255
add esp, 0xc
mov eax, dword [ebx + 0x1b8]
test eax, eax
je 0x4ed4e8
push eax
lea edx, [esp + 0xb0]
push 0x56f658
push edx
call fcn.00496d63
push ebp
push 0x56f65c
call fcn.00506255
push 0x56f670
mov eax, 0x11
lea esi, [esp + 0x50]
call fcn.004e82f0
lea eax, [esp + 0xc4]
push ebp
push eax
call fcn.00506255
lea eax, [esp + 0xcc]
add esp, 0x20
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ed4c0
lea ecx, [esp + 0xac]
sub eax, edx
push ecx
lea esi, [esp + 0x3c]
call fcn.004e82f0
push ebp
push 0x56f684
call fcn.00506255
add esp, 0xc
mov eax, dword [ebx + 0x1bc]
test eax, eax
je 0x4ed568
push eax
lea edx, [esp + 0xb0]
push 0x56f688
push edx
call fcn.00496d63
push ebp
push 0x56f68c
call fcn.00506255
push 0x56f6a0
mov eax, 0x11
lea esi, [esp + 0x50]
call fcn.004e82f0
lea eax, [esp + 0xc4]
push ebp
push eax
call fcn.00506255
lea eax, [esp + 0xcc]
add esp, 0x20
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ed540
lea ecx, [esp + 0xac]
sub eax, edx
push ecx
lea esi, [esp + 0x3c]
call fcn.004e82f0
push ebp
push 0x56f6b4
call fcn.00506255
add esp, 0xc
cmp dword [ebx + 0x210], 0
je 0x4ed5d5
push ebp
push 0x56f6b8
call fcn.00506255
push 0x56f6cc
mov eax, 0x11
lea esi, [esp + 0x44]
call fcn.004e82f0
mov eax, dword [ebx + 0x210]
add esp, 0xc
test eax, eax
je 0x4ed5c7
push ebp
push eax
call fcn.00506255
mov ebx, dword [ebx + 0x210]
mov eax, ebx
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ed5b1
sub eax, edx
push ebx
lea esi, [esp + 0x3c]
call fcn.004e82f0
add esp, 4
push ebp
push 0x56f6e0
call fcn.00506255
add esp, 8
push ebp
push 0x56f6e4
call fcn.00506255
mov edi, dword [str.er7e]
lea edx, [esp + 0x98]
mov eax, 1
sub eax, edx
mov dword [esp + 0x18], eax
mov eax, 2
sub eax, edx
mov dword [esp + 0x1c], eax
mov eax, 3
sub eax, edx
mov dword [esp + 0x20], eax
mov ebx, edi
mov eax, 4
add esp, 8
xor ecx, ecx
sub ebx, edx
sub eax, edx
mov dword [esp + 0x1c], eax
mov eax, 0xba2e8ba3
mul ecx
shr edx, 3
imul edx, edx, 0xb
lea esi, [esp + ecx + 0x90]
mov eax, 0x5700c8
sub eax, edx
movzx edx, byte [eax + ecx]
xor dl, byte [esi + ebx]
mov eax, dword [esp + 0x10]
mov byte [esi], dl
lea edx, [esi + eax]
mov eax, 0xba2e8ba3
mul edx
shr edx, 3
imul edx, edx, 0xb
mov eax, 0x5700c9
sub eax, edx
movzx edx, byte [eax + ecx]
xor dl, byte [edi + ecx + 1]
mov eax, dword [esp + 0x14]
mov byte [esi + 1], dl
lea edx, [esi + eax]
mov eax, 0xba2e8ba3
mul edx
shr edx, 3
imul edx, edx, 0xb
mov eax, 0x5700ca
sub eax, edx
movzx edx, byte [eax + ecx]
xor dl, byte [edi + ecx + 2]
mov eax, dword [esp + 0x18]
mov byte [esi + 2], dl
lea edx, [esi + eax]
mov eax, 0xba2e8ba3
mul edx
shr edx, 3
imul edx, edx, 0xb
mov eax, 0x5700cb
sub eax, edx
movzx edx, byte [eax + ecx]
xor dl, byte [edi + ecx + 3]
mov eax, dword [esp + 0x1c]
mov byte [esi + 3], dl
lea edx, [esi + eax]
mov eax, 0xba2e8ba3
mul edx
shr edx, 3
imul edx, edx, 0xb
mov eax, 0x5700cc
sub eax, edx
movzx edx, byte [eax + ecx]
xor dl, byte [edi + ecx + 4]
add ecx, 5
cmp ecx, 0x19
mov byte [esi + 4], dl
jl 0x4ed622
lea eax, [esp + 0x90]
push eax
mov eax, 0x19
lea esi, [esp + 0x3c]
call fcn.004e82f0
mov ecx, dword [0x569264]
mov eax, 0x1a
sub eax, ecx
mov dword [esp + 0x20], eax
lea eax, [esp + 0x95]
sub eax, ecx
mov dword [esp + 0x1c], eax
mov eax, 0x1b
sub eax, ecx
mov dword [esp + 0x18], eax
lea eax, [esp + 0x96]
sub eax, ecx
mov dword [esp + 0x34], eax
mov eax, 0x1c
sub eax, ecx
mov dword [esp + 0x24], eax
lea eax, [esp + 0x97]
sub eax, ecx
mov dword [esp + 0x30], eax
mov eax, 0x1d
sub eax, ecx
mov dword [esp + 0x28], eax
mov esi, 0x19
lea edi, [esp + 0x94]
lea eax, [esp + 0x98]
add esp, 4
sub esi, ecx
sub edi, ecx
sub eax, ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], 5
xor edx, edx
mov ebx, 0xb
lea eax, [esi + ecx]
div ebx
mov eax, dword [esp + 0x1c]
add eax, ecx
movzx edx, byte [edx + 0x5700c8]
xor dl, byte [ecx]
mov byte [edi + ecx], dl
xor edx, edx
div ebx
mov eax, dword [esp + 0x18]
movzx edx, byte [edx + 0x5700c8]
xor dl, byte [ecx + 1]
mov byte [eax + ecx], dl
mov edx, dword [esp + 0x14]
lea eax, [edx + ecx]
xor edx, edx
div ebx
movzx eax, byte [edx + 0x5700c8]
xor al, byte [ecx + 2]
mov edx, dword [esp + 0x30]
mov byte [edx + ecx], al
mov eax, dword [esp + 0x20]
add eax, ecx
xor edx, edx
div ebx
mov eax, dword [esp + 0x2c]
movzx edx, byte [edx + 0x5700c8]
xor dl, byte [ecx + 3]
mov byte [eax + ecx], dl
mov edx, dword [esp + 0x24]
lea eax, [edx + ecx]
xor edx, edx
div ebx
add ecx, 5
movzx eax, byte [edx + 0x5700c8]
xor al, byte [ecx - 1]
sub dword [esp + 0x10], 1
mov edx, dword [esp + 0x28]
mov byte [edx + ecx - 5], al
jne 0x4ed781
lea eax, [esp + 0x90]
push eax
lea eax, [ebx + 0xe]
lea esi, [esp + 0x3c]
call fcn.004e82f0
mov ecx, dword [0x56926c]
mov eax, 0x33
sub eax, ecx
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x95]
sub eax, ecx
mov dword [esp + 0x28], eax
mov eax, 0x34
sub eax, ecx
mov dword [esp + 0x30], eax
lea eax, [esp + 0x96]
sub eax, ecx
mov dword [esp + 0x24], eax
mov eax, 0x35
sub eax, ecx
mov dword [esp + 0x34], eax
lea eax, [esp + 0x97]
sub eax, ecx
mov dword [esp + 0x20], eax
mov eax, 0x36
sub eax, ecx
mov dword [esp + 0x1c], eax
mov esi, 0x32
lea edi, [esp + 0x94]
lea eax, [esp + 0x98]
add esp, 4
sub esi, ecx
sub edi, ecx
sub eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 5
jmp 0x4ed8b0
xor edx, edx
mov ebx, 0xb
lea eax, [esi + ecx]
div ebx
mov eax, dword [esp + 0x28]
add eax, ecx
movzx edx, byte [edx + 0x5700c8]
xor dl, byte [ecx]
mov byte [edi + ecx], dl
xor edx, edx
div ebx
mov eax, dword [esp + 0x24]
movzx edx, byte [edx + 0x5700c8]
xor dl, byte [ecx + 1]
mov byte [eax + ecx], dl
mov edx, dword [esp + 0x2c]
lea eax, [edx + ecx]
xor edx, edx
div ebx
movzx eax, byte [edx + 0x5700c8]
xor al, byte [ecx + 2]
mov edx, dword [esp + 0x20]
mov byte [edx + ecx], al
mov eax, dword [esp + 0x30]
add eax, ecx
xor edx, edx
div ebx
mov eax, dword [esp + 0x1c]
movzx edx, byte [edx + 0x5700c8]
xor dl, byte [ecx + 3]
mov byte [eax + ecx], dl
mov edx, dword [esp + 0x18]
lea eax, [edx + ecx]
xor edx, edx
div ebx
add ecx, 5
movzx eax, byte [edx + 0x5700c8]
xor al, byte [ecx - 1]
sub dword [esp + 0x10], 1
mov edx, dword [esp + 0x14]
mov byte [edx + ecx - 5], al
jne 0x4ed8b0
lea eax, [esp + 0x90]
push eax
lea eax, [ebx + 0xe]
lea esi, [esp + 0x3c]
call fcn.004e82f0
mov ecx, dword [0x569274]
mov eax, 0x4c
sub eax, ecx
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x95]
sub eax, ecx
mov dword [esp + 0x28], eax
mov eax, 0x4d
sub eax, ecx
mov dword [esp + 0x30], eax
lea eax, [esp + 0x96]
sub eax, ecx
mov dword [esp + 0x24], eax
mov eax, 0x4e
sub eax, ecx
mov dword [esp + 0x34], eax
lea eax, [esp + 0x97]
sub eax, ecx
mov dword [esp + 0x20], eax
mov eax, 0x4f
sub eax, ecx
mov dword [esp + 0x1c], eax
mov esi, 0x4b
lea edi, [esp + 0x94]
lea eax, [esp + 0x98]
add esp, 4
sub esi, ecx
sub edi, ecx
sub eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 5
lea ebx, [ebx]
xor edx, edx
mov ebx, 0xb
lea eax, [ecx + esi]
div ebx
mov eax, dword [esp + 0x28]
add eax, ecx
movzx edx, byte [edx + 0x5700c8]
xor dl, byte [ecx]
mov byte [ecx + edi], dl
xor edx, edx
div ebx
mov eax, dword [esp + 0x24]
movzx edx, byte [edx + 0x5700c8]
xor dl, byte [ecx + 1]
mov byte [ecx + eax], dl
mov edx, dword [esp + 0x2c]
lea eax, [ecx + edx]
xor edx, edx
div ebx
movzx eax, byte [edx + 0x5700c8]
xor al, byte [ecx + 2]
mov edx, dword [esp + 0x20]
mov byte [ecx + edx], al
mov eax, dword [esp + 0x30]
add eax, ecx
xor edx, edx
div ebx
mov eax, dword [esp + 0x1c]
movzx edx, byte [edx + 0x5700c8]
xor dl, byte [ecx + 3]
mov byte [ecx + eax], dl
mov edx, dword [esp + 0x18]
lea eax, [ecx + edx]
xor edx, edx
div ebx
add ecx, 5
movzx eax, byte [edx + 0x5700c8]
xor al, byte [ecx - 1]
sub dword [esp + 0x10], 1
mov edx, dword [esp + 0x14]
mov byte [ecx + edx - 5], al
jne 0x4ed9e0
lea eax, [esp + 0x90]
push eax
lea eax, [ebx + 0xe]
lea esi, [esp + 0x3c]
call fcn.004e82f0
add esp, 4
mov edx, esi
lea ecx, [esp + 0x90]
call fcn.004e83a0
xor esi, esi
lea esp, [esp]
movzx ecx, byte [esp + esi + 0x90]
push ecx
push 0x56f6f8
push ebp
call fcn.00506143
inc esi
add esp, 0xc
cmp esi, 0x10
jl 0x4edaa0
push ebp
push 0x56f700
call fcn.00506255
push ebp
push 0x56f704
call fcn.00506255
push ebp
push 0x56f740
call fcn.00506255
add esp, 0x18
cmp eax, 0xffffffff
jne 0x4edb04
call fcn.00499e50
mov edx, dword [eax]
mov ebx, dword [esp + 0x34]
push edx
push str.zJ_d
lea edi, [ebx + 0x18]
call fcn.004ddcb0
add esp, 8
jmp 0x4edb08
mov ebx, dword [esp + 0x34]
push ebp
call fcn.00497c05
push ebp
call fcn.004a19cf
push eax
call fcn.004af1fc
add esp, 0xc
push eax
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push ebp
call fcn.00497adb
mov esi, dword [ebx + 0x148]
mov eax, esi
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4edb38
sub eax, edx
mov edi, eax
mov eax, dword [0x56f74c]
mov dword [edi + esi - 4], eax
movzx ecx, byte [0x56f750]
mov byte [edi + esi], cl
mov edx, dword [ebx + 0x148]
push edx
call fcn.00505d52
mov eax, dword [str..lic]
mov dword [edi + esi - 4], eax
movzx ecx, byte [0x56f758]
add esp, 4
mov byte [edi + esi], cl
pop edi
pop ebp
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0xf4]
pop esi
pop ebx
xor ecx, esp
call fcn.00493d56
add esp, 0xf0
ret