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

Disassembly:
sub esp, 0xec
mov eax, dword [0x56a8e0]
xor eax, esp
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0xfc]
mov edx, dword [esp + 0xf4]
push ebx
push ebp
mov ebp, dword [esp + 0xf8]
push esi
mov esi, ecx
mov ecx, dword [esi + 0x54]
push ecx
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x50]
push eax
xor ebx, ebx
push ecx
push edx
mov dword [esp + 0x44], esi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x40], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x20], ebx
call fcn.0050504b
fcomp qword [0x52d608]
mov ecx, dword [esp + 0x110]
add esp, 0x10
fnstsw ax
test ah, 0x41
mov eax, dword [esp + 0x104]
jne 0x4e9332
mov dword [esi + 0x50], ecx
mov dword [esi + 0x54], eax
cmp dword [ebp], 1
je 0x4e9352
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0xe8]
xor ecx, esp
call fcn.00493d56
add esp, 0xec
ret
mov edx, dword [ebp + 0x20]
push edi
cmp edx, ecx
jne 0x4e9361
mov edx, dword [ebp + 0x24]
cmp edx, eax
je 0x4e938e
mov eax, dword [ebp + 0xb0]
cmp eax, ebx
jl 0x4e936f
test al, 1
jne 0x4e938e
mov eax, dword [ebp + 0x20]
push ecx
push eax
push str.zP_ld__ld
lea edi, [esi + 0x18]
call fcn.004ddcb0
add esp, 0xc
mov eax, 8
jmp 0x4ea521
push str._license
mov eax, 9
lea esi, [esp + 0x48]
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x48], 0x67452301
mov dword [esp + 0x4c], 0xefcdab89
mov dword [esp + 0x50], 0x98badcfe
mov dword [esp + 0x54], 0x10325476
call fcn.004e82f0
mov edi, dword [ebp + 8]
add esp, 4
cmp edi, ebx
je 0x4e942e
push str.licenseid_
mov eax, 0xb
call fcn.004e82f0
push edi
lea ecx, [esp + 0xc8]
push 0x57011c
push ecx
call fcn.00496d63
lea eax, [esp + 0xd0]
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4e9402
sub eax, edx
lea edx, [esp + 0xc0]
push edx
lea esi, [esp + 0x48]
call fcn.004e82f0
push 0x570120
mov eax, 2
call fcn.004e82f0
add esp, 8
push str.clienttime_
mov eax, 0xc
lea esi, [esp + 0x48]
call fcn.004e82f0
mov eax, dword [ebp + 0x20]
push eax
lea ecx, [esp + 0xc8]
push 0x570134
push ecx
call fcn.00496d63
lea eax, [esp + 0xd0]
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4e9464
sub eax, edx
lea edx, [esp + 0xc0]
push edx
lea esi, [esp + 0x48]
call fcn.004e82f0
push str.__licenseend_
mov eax, 0xe
call fcn.004e82f0
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [esp + 0xcc]
push 0x570148
push ecx
call fcn.00496d63
lea eax, [esp + 0xd4]
add esp, 0x14
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4e94b0
sub eax, edx
lea edx, [esp + 0xc0]
push edx
lea esi, [esp + 0x48]
call fcn.004e82f0
push str.__graceperiod_
mov eax, 0xf
call fcn.004e82f0
mov eax, dword [ebp + 0x18]
push eax
lea ecx, [esp + 0xcc]
push 0x57015c
push ecx
call fcn.00496d63
lea eax, [esp + 0xd4]
add esp, 0x14
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4e9500
sub eax, edx
lea edx, [esp + 0xc0]
push edx
lea esi, [esp + 0x48]
call fcn.004e82f0
mov edi, dword [ebp + 0x68]
add esp, 4
cmp edi, ebx
je 0x4e9556
push str.__format_
mov eax, 0xa
call fcn.004e82f0
mov eax, edi
add esp, 4
lea edx, [eax + 1]
jmp 0x4e9540
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4e9540
sub eax, edx
push edi
lea esi, [esp + 0x48]
call fcn.004e82f0
add esp, 4
mov edi, dword [ebp + 0x70]
cmp edi, ebx
je 0x4e958e
push str.__cmurl_
mov eax, 9
lea esi, [esp + 0x48]
call fcn.004e82f0
mov eax, edi
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4e9578
sub eax, edx
push edi
lea esi, [esp + 0x48]
call fcn.004e82f0
add esp, 4
mov edi, dword [ebp + 0x74]
cmp edi, ebx
jle 0x4e95e5
push str.__cmfrequency_
mov eax, 0xf
lea esi, [esp + 0x48]
call fcn.004e82f0
push edi
lea eax, [esp + 0xc8]
push 0x570188
push eax
call fcn.00496d63
lea eax, [esp + 0xd0]
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4e95c8
lea ecx, [esp + 0xc0]
sub eax, edx
push ecx
lea esi, [esp + 0x48]
call fcn.004e82f0
add esp, 4
mov edi, dword [ebp + 0x80]
cmp edi, ebx
jle 0x4e963f
push str.__cmoptions_
mov eax, 0xd
lea esi, [esp + 0x48]
call fcn.004e82f0
push edi
lea edx, [esp + 0xc8]
push 0x57019c
push edx
call fcn.00496d63
lea eax, [esp + 0xd0]
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4e9622
lea ecx, [esp + 0xc0]
sub eax, edx
push ecx
lea esi, [esp + 0x48]
call fcn.004e82f0
add esp, 4
mov edi, dword [ebp + 0x88]
cmp edi, ebx
je 0x4e969b
push str.__ck_
mov eax, 6
lea esi, [esp + 0x48]
call fcn.004e82f0
mov eax, edi
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4e9664
sub eax, edx
push edi
lea esi, [esp + 0x48]
call fcn.004e82f0
lea edx, [esp + 0x108]
push edx
call fcn.00498ff9
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
inc ecx
add esp, 8
add eax, 0x76c
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x14], eax
mov edi, dword [ebp + 0x8c]
cmp edi, ebx
je 0x4e96d6
push str.__qualifier_
mov eax, 0xd
lea esi, [esp + 0x48]
call fcn.004e82f0
mov eax, edi
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4e96c0
sub eax, edx
push edi
lea esi, [esp + 0x48]
call fcn.004e82f0
add esp, 4
mov eax, dword [ebp + 0xa0]
or eax, dword [ebp + 0xa4]
je 0x4e973d
push str.__subscriptionend_
mov eax, 0x13
lea esi, [esp + 0x48]
call fcn.004e82f0
mov ecx, dword [ebp + 0xa0]
push ecx
lea edx, [esp + 0xc8]
push 0x5701cc
push edx
call fcn.00496d63
lea eax, [esp + 0xd0]
add esp, 0x10
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4e9720
lea ecx, [esp + 0xc0]
sub eax, edx
push ecx
lea esi, [esp + 0x48]
call fcn.004e82f0
add esp, 4
mov edi, dword [ebp + 0xb0]
cmp edi, ebx
jl 0x4e979d
push str.__fl_
mov eax, 6
lea esi, [esp + 0x48]
call fcn.004e82f0
push edi
lea edx, [esp + 0xc8]
push 0x5701d8
push edx
call fcn.00496d63
lea eax, [esp + 0xd0]
add esp, 0x10
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4e9780
lea ecx, [esp + 0xc0]
sub eax, edx
push ecx
lea esi, [esp + 0x48]
call fcn.004e82f0
add esp, 4
mov edi, dword [ebp + 0x90]
cmp edi, ebx
je 0x4e983c
push str.__k1_
mov eax, 6
lea esi, [esp + 0x48]
call fcn.004e82f0
mov eax, edi
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4e97c6
sub eax, edx
push edi
lea esi, [esp + 0x48]
call fcn.004e82f0
push str.__k2_
mov eax, 6
call fcn.004e82f0
mov ecx, dword [ebp + 0x94]
mov eax, ecx
add esp, 8
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x4e97f6
sub eax, esi
push ecx
lea esi, [esp + 0x48]
call fcn.004e82f0
push str.__k4_
mov eax, 6
call fcn.004e82f0
mov ecx, dword [ebp + 0x98]
mov eax, ecx
add esp, 8
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x4e9826
sub eax, esi
push ecx
lea esi, [esp + 0x48]
call fcn.004e82f0
add esp, 4
push 0x5701f4
mov eax, 3
lea esi, [esp + 0x48]
call fcn.004e82f0
mov edi, dword [str.er7e]
lea edx, [esp + 0xa8]
mov eax, edx
mov ebp, 1
sub ebp, eax
mov eax, 2
sub eax, edx
mov dword [esp + 0x14], eax
mov eax, 3
sub eax, edx
mov dword [esp + 0x20], eax
mov ebx, edi
mov eax, 4
add esp, 4
xor ecx, ecx
sub ebx, edx
sub eax, edx
mov dword [esp + 0x20], eax
nop
mov eax, 0xba2e8ba3
mul ecx
shr edx, 3
imul edx, edx, 0xb
lea esi, [esp + ecx + 0xa4]
mov eax, ecx
sub eax, edx
movzx edx, byte [eax + 0x5700c8]
xor dl, byte [esi + ebx]
mov eax, 0xba2e8ba3
mov byte [esi], dl
lea edx, [esi + ebp]
mul edx
shr edx, 3
imul edx, edx, 0xb
mov eax, ecx
sub eax, edx
movzx edx, byte [eax + 0x5700c9]
xor dl, byte [edi + ecx + 1]
mov eax, dword [esp + 0x10]
mov byte [esi + 1], dl
lea edx, [esi + eax]
mov eax, 0xba2e8ba3
mul edx
shr edx, 3
imul edx, edx, 0xb
mov eax, ecx
sub eax, edx
movzx edx, byte [eax + 0x5700ca]
xor dl, byte [edi + ecx + 2]
mov eax, dword [esp + 0x1c]
mov byte [esi + 2], dl
lea edx, [esi + eax]
mov eax, 0xba2e8ba3
mul edx
shr edx, 3
imul edx, edx, 0xb
mov eax, ecx
sub eax, edx
movzx edx, byte [eax + 0x5700cb]
xor dl, byte [edi + ecx + 3]
mov eax, dword [esp + 0x20]
mov byte [esi + 3], dl
lea edx, [esi + eax]
mov eax, 0xba2e8ba3
mul edx
shr edx, 3
imul edx, edx, 0xb
mov eax, ecx
sub eax, edx
movzx edx, byte [eax + 0x5700cc]
xor dl, byte [edi + ecx + 4]
add ecx, 5
cmp ecx, 0x19
mov byte [esi + 4], dl
jl 0x4e9890
lea eax, [esp + 0xa4]
push eax
mov eax, 0x19
lea esi, [esp + 0x48]
call fcn.004e82f0
mov ecx, dword [0x569264]
lea eax, [esp + 0xa9]
sub eax, ecx
mov dword [esp + 0x24], eax
mov eax, 0x1b
sub eax, ecx
mov dword [esp + 0x20], eax
lea eax, [esp + 0xaa]
sub eax, ecx
mov dword [esp + 0x28], eax
mov eax, 0x1c
sub eax, ecx
mov dword [esp + 0x34], eax
lea eax, [esp + 0xab]
sub eax, ecx
mov dword [esp + 0x30], eax
mov eax, 0x1d
sub eax, ecx
mov dword [esp + 0x2c], eax
mov esi, 0x19
lea edi, [esp + 0xa8]
mov ebx, 0x1a
lea eax, [esp + 0xac]
add esp, 4
sub esi, ecx
sub edi, ecx
sub ebx, ecx
sub eax, ecx
mov dword [esp + 0x9c], eax
mov dword [esp + 0x10], 5
lea ebx, [ebx]
xor edx, edx
mov ebp, 0xb
lea eax, [esi + ecx]
div ebp
lea eax, [ebx + ecx]
movzx edx, byte [edx + 0x5700c8]
xor dl, byte [ecx]
mov byte [edi + ecx], dl
xor edx, edx
div ebp
movzx eax, byte [edx + 0x5700c8]
xor al, byte [ecx + 1]
mov edx, dword [esp + 0x20]
mov byte [edx + ecx], al
mov eax, dword [esp + 0x1c]
add eax, ecx
xor edx, edx
div ebp
mov eax, dword [esp + 0x24]
movzx edx, byte [edx + 0x5700c8]
xor dl, byte [ecx + 2]
mov byte [eax + ecx], dl
mov edx, dword [esp + 0x30]
lea eax, [edx + ecx]
xor edx, edx
div ebp
movzx eax, byte [edx + 0x5700c8]
xor al, byte [ecx + 3]
mov edx, dword [esp + 0x2c]
mov byte [edx + ecx], al
mov eax, dword [esp + 0x28]
add eax, ecx
xor edx, edx
div ebp
mov eax, dword [esp + 0x9c]
add ecx, 5
movzx edx, byte [edx + 0x5700c8]
xor dl, byte [ecx - 1]
sub dword [esp + 0x10], 1
mov byte [eax + ecx - 5], dl
jne 0x4e99f0
lea ecx, [esp + 0xa4]
push ecx
lea eax, [ebp + 0xe]
lea esi, [esp + 0x48]
call fcn.004e82f0
mov ecx, dword [0x56926c]
lea eax, [esp + 0xa9]
sub eax, ecx
mov dword [esp + 0xa0], eax
mov eax, 0x34
sub eax, ecx
mov dword [esp + 0x2c], eax
lea eax, [esp + 0xaa]
sub eax, ecx
mov dword [esp + 0x30], eax
mov eax, 0x35
sub eax, ecx
mov dword [esp + 0x34], eax
lea eax, [esp + 0xab]
sub eax, ecx
mov dword [esp + 0x28], eax
mov eax, 0x36
sub eax, ecx
mov dword [esp + 0x24], eax
mov esi, 0x32
lea edi, [esp + 0xa8]
mov ebx, 0x33
lea eax, [esp + 0xac]
add esp, 4
sub esi, ecx
sub edi, ecx
sub ebx, ecx
sub eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], 5
jmp 0x4e9b20
xor edx, edx
mov ebp, 0xb
lea eax, [esi + ecx]
div ebp
lea eax, [ebx + ecx]
movzx edx, byte [edx + 0x5700c8]
xor dl, byte [ecx]
mov byte [edi + ecx], dl
xor edx, edx
div ebp
movzx eax, byte [edx + 0x5700c8]
xor al, byte [ecx + 1]
mov edx, dword [esp + 0x9c]
mov byte [edx + ecx], al
mov eax, dword [esp + 0x28]
add eax, ecx
xor edx, edx
div ebp
mov eax, dword [esp + 0x2c]
movzx edx, byte [edx + 0x5700c8]
xor dl, byte [ecx + 2]
mov byte [eax + ecx], dl
mov edx, dword [esp + 0x30]
lea eax, [edx + ecx]
xor edx, edx
div ebp
movzx eax, byte [edx + 0x5700c8]
xor al, byte [ecx + 3]
mov edx, dword [esp + 0x24]
mov byte [edx + ecx], al
mov eax, dword [esp + 0x20]
add eax, ecx
xor edx, edx
div ebp
mov eax, dword [esp + 0x1c]
add ecx, 5
movzx edx, byte [edx + 0x5700c8]
xor dl, byte [ecx - 1]
sub dword [esp + 0x10], 1
mov byte [eax + ecx - 5], dl
jne 0x4e9b20
lea ecx, [esp + 0xa4]
push ecx
lea eax, [ebp + 0xe]
lea esi, [esp + 0x48]
call fcn.004e82f0
mov ecx, dword [0x569274]
lea eax, [esp + 0xa9]
sub eax, ecx
mov dword [esp + 0xa0], eax
mov eax, 0x4d
sub eax, ecx
mov dword [esp + 0x2c], eax
lea eax, [esp + 0xaa]
sub eax, ecx
mov dword [esp + 0x30], eax
mov eax, 0x4e
sub eax, ecx
mov dword [esp + 0x34], eax
lea eax, [esp + 0xab]
sub eax, ecx
mov dword [esp + 0x28], eax
mov eax, 0x4f
sub eax, ecx
mov dword [esp + 0x24], eax
mov esi, 0x4b
lea edi, [esp + 0xa8]
mov ebp, 0x4c
lea eax, [esp + 0xac]
add esp, 4
sub esi, ecx
sub edi, ecx
sub ebp, ecx
sub eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], 5
jmp 0x4e9c50
xor edx, edx
mov ebx, 0xb
lea eax, [esi + ecx]
div ebx
lea eax, [ecx + ebp]
movzx edx, byte [edx + 0x5700c8]
xor dl, byte [ecx]
mov byte [edi + ecx], dl
xor edx, edx
div ebx
movzx eax, byte [edx + 0x5700c8]
xor al, byte [ecx + 1]
mov edx, dword [esp + 0x9c]
mov byte [edx + ecx], al
mov eax, dword [esp + 0x28]
add eax, ecx
xor edx, edx
div ebx
mov eax, dword [esp + 0x2c]
movzx edx, byte [edx + 0x5700c8]
xor dl, byte [ecx + 2]
mov byte [eax + ecx], dl
mov edx, dword [esp + 0x30]
lea eax, [edx + ecx]
xor edx, edx
div ebx
movzx eax, byte [edx + 0x5700c8]
xor al, byte [ecx + 3]
mov edx, dword [esp + 0x24]
mov byte [edx + ecx], al
mov eax, dword [esp + 0x20]
add eax, ecx
xor edx, edx
div ebx
mov eax, dword [esp + 0x1c]
add ecx, 5
movzx edx, byte [edx + 0x5700c8]
xor dl, byte [ecx - 1]
sub dword [esp + 0x10], 1
mov byte [eax + ecx - 5], dl
jne 0x4e9c50
lea ecx, [esp + 0xa4]
push ecx
lea eax, [ebx + 0xe]
lea esi, [esp + 0x48]
call fcn.004e82f0
add esp, 4
mov edx, esi
lea ecx, [esp + 0xa4]
call fcn.004e83a0
xor esi, esi
lea edi, [esp + 0xd4]
movzx edx, byte [esp + esi + 0xa4]
push edx
push 0x5701f8
push edi
call fcn.00496d63
inc esi
add esp, 0xc
add edi, 2
cmp esi, 0x10
jl 0x4e9d12
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 0x28]
mov byte [edi], 0
test esi, esi
je 0x4ea4f8
mov ecx, esi
lea eax, [esp + 0xd4]
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4e9d70
test dl, dl
je 0x4e9d6c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4e9d70
add eax, 2
add ecx, 2
test dl, dl
jne 0x4e9d50
xor eax, eax
jmp 0x4e9d75
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4ea4f8
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0x1dc], eax
cmp dword [ecx + 0x88], eax
je 0x4ea28c
mov ebp, dword [esp + 0x3c]
mov edx, dword [esp + 0x14]
push ebp
push edx
push 0x570200
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], eax
lea eax, [esp + 0xa8]
push 7
push eax
mov dword [esp + 0x58], 0x67452301
mov dword [esp + 0x5c], 0xefcdab89
mov dword [esp + 0x60], 0x98badcfe
mov dword [esp + 0x64], 0x10325476
call fcn.005052c8
lea eax, [esp + 0xb0]
add esp, 0x14
lea ecx, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4e9df0
sub eax, ecx
lea ecx, [esp + 0x9c]
push ecx
lea esi, [esp + 0x48]
call fcn.004e82f0
push 0x57020a
mov eax, 9
call fcn.004e82f0
add esp, 8
mov edx, esi
lea ecx, [esp + 0xa4]
call fcn.004e83a0
xor esi, esi
lea edi, [esp + 0xd4]
jmp 0x4e9e40
movzx edx, byte [esp + esi + 0xa4]
push edx
push 0x570214
push edi
call fcn.00496d63
inc esi
add esp, 0xc
add edi, 2
cmp esi, 0x10
jl 0x4e9e40
mov byte [edi], 0
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0x88]
lea ecx, [esp + 0xd4]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4e9e96
test dl, dl
je 0x4e9e90
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4e9e96
add eax, 2
add ecx, 2
test dl, dl
jne 0x4e9e74
xor esi, esi
xor eax, eax
jmp 0x4e9e9d
sbb eax, eax
sbb eax, 0xffffffff
xor esi, esi
cmp eax, esi
je 0x4e9f79
sub ebp, 1
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x44], 0x67452301
mov dword [esp + 0x48], 0xefcdab89
mov dword [esp + 0x4c], 0x98badcfe
mov dword [esp + 0x50], 0x10325476
jne 0x4e9edb
dec dword [esp + 0x14]
mov ebp, 0xc
mov eax, dword [esp + 0x14]
push ebp
push eax
push 0x57021c
lea ecx, [esp + 0xa8]
push 7
push ecx
call fcn.005052c8
lea eax, [esp + 0xb0]
add esp, 0x14
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4e9f02
sub eax, edx
lea edx, [esp + 0x9c]
push edx
lea esi, [esp + 0x48]
call fcn.004e82f0
push 0x570226
mov eax, 9
call fcn.004e82f0
add esp, 8
mov edx, esi
lea ecx, [esp + 0xa4]
call fcn.004e83a0
xor esi, esi
lea edi, [esp + 0xd4]
jmp 0x4e9f50
movzx eax, byte [esp + esi + 0xa4]
push eax
push 0x570230
push edi
call fcn.00496d63
inc esi
add esp, 0xc
add edi, 2
cmp esi, 0x10
jl 0x4e9f50
mov byte [edi], 0
mov edi, dword [esp + 0x18]
xor esi, esi
mov eax, dword [edi + 0x88]
lea ecx, [esp + 0xd4]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4e9fa6
test dl, dl
je 0x4e9fa2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4e9fa6
add eax, 2
add ecx, 2
test dl, dl
jne 0x4e9f86
xor eax, eax
jmp 0x4e9fab
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
je 0x4ea089
add ebp, 2
cmp ebp, 0xd
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x44], 0x67452301
mov dword [esp + 0x48], 0xefcdab89
mov dword [esp + 0x4c], 0x98badcfe
mov dword [esp + 0x50], 0x10325476
jl 0x4e9fea
sub ebp, 0xc
inc dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
push ebp
push ecx
push str._04d_d
lea edx, [esp + 0xa8]
push 7
push edx
call fcn.005052c8
lea eax, [esp + 0xb0]
add esp, 0x14
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ea011
lea ecx, [esp + 0x9c]
sub eax, edx
push ecx
lea esi, [esp + 0x48]
call fcn.004e82f0
push 0x570242
mov eax, 9
call fcn.004e82f0
add esp, 8
mov edx, esi
lea ecx, [esp + 0xa4]
call fcn.004e83a0
xor esi, esi
lea edi, [esp + 0xd4]
jmp 0x4ea060
movzx edx, byte [esp + esi + 0xa4]
push edx
push 0x57024c
push edi
call fcn.00496d63
inc esi
add esp, 0xc
add edi, 2
cmp esi, 0x10
jl 0x4ea060
mov byte [edi], 0
mov edi, dword [esp + 0x18]
xor esi, esi
mov eax, dword [edi + 0x88]
lea ecx, [esp + 0xd4]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4ea0b6
test dl, dl
je 0x4ea0b2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4ea0b6
add eax, 2
add ecx, 2
test dl, dl
jne 0x4ea096
xor eax, eax
jmp 0x4ea0bb
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
je 0x4ea189
push 7
lea eax, [esp + 0xa0]
push str.999999
push eax
mov dword [esp + 0x64], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x50], 0x67452301
mov dword [esp + 0x54], 0xefcdab89
mov dword [esp + 0x58], 0x98badcfe
mov dword [esp + 0x5c], 0x10325476
call fcn.00505930
lea eax, [esp + 0xa8]
add esp, 0xc
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ea110
lea ecx, [esp + 0x9c]
sub eax, edx
push ecx
lea esi, [esp + 0x48]
call fcn.004e82f0
push str.rM___
mov eax, 9
call fcn.004e82f0
add esp, 8
mov edx, esi
lea ecx, [esp + 0xa4]
call fcn.004e83a0
xor esi, esi
lea edi, [esp + 0xd4]
jmp 0x4ea160
movzx edx, byte [esp + esi + 0xa4]
push edx
push str._02x
push edi
call fcn.00496d63
inc esi
add esp, 0xc
add edi, 2
cmp esi, 0x10
jl 0x4ea160
mov byte [edi], 0
mov edi, dword [esp + 0x18]
xor esi, esi
mov eax, dword [edi + 0x88]
lea ecx, [esp + 0xd4]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4ea1b6
test dl, dl
je 0x4ea1b2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4ea1b6
add eax, 2
add ecx, 2
test dl, dl
jne 0x4ea196
xor eax, eax
jmp 0x4ea1bb
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
je 0x4ea1f5
lea eax, [esp + 0xd4]
mov dword [ebx + 0x1dc], 1
mov ecx, dword [edi + 0x88]
push eax
push ecx
push str.zaB_s__s
lea edi, [ebx + 0x18]
call fcn.004ddcb0
add esp, 0xc
mov dword [esp + 0x34], 9
jmp 0x4ea28c
mov ecx, dword [ebx + 0x54]
mov eax, dword [ebx + 0x50]
mov edx, dword [esp + 0x108]
push ecx
push eax
mov eax, dword [esp + 0x10c]
push edx
push eax
mov dword [ebx + 0x250], 1
call fcn.0050504b
fcomp qword [0x52d608]
add esp, 0x10
fnstsw ax
test ah, 5
jp 0x4ea28c
mov ecx, dword [ebx + 0x54]
mov eax, dword [ebx + 0x50]
mov edx, dword [esp + 0x104]
push ecx
mov ecx, dword [esp + 0x10c]
push eax
push ecx
push edx
call fcn.0050504b
fstp qword [esp + 8]
mov eax, dword [ebx + 0x54]
mov ecx, dword [ebx + 0x50]
mov edx, dword [esp + 0x118]
add esp, 8
push eax
mov eax, dword [esp + 0x110]
push ecx
push edx
push eax
push str.zaE_ld__ld__.0lf
lea edi, [ebx + 0x18]
call fcn.004ddcb0
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x124]
add esp, 0x1c
mov dword [ebx + 0x50], ecx
mov dword [ebx + 0x54], edx
xor ebp, ebp
cmp dword [ebx + 0x1dc], ebp
jne 0x4ea51d
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 8]
mov dword [ebx + 0x38], eax
mov ecx, dword [edi + 0x10]
mov dword [ebx + 0x40], ecx
mov edx, dword [edi + 0x14]
mov dword [ebx + 0x44], edx
mov eax, dword [edi + 0x18]
mov dword [ebx + 0x48], eax
mov ecx, dword [edi + 0x1c]
mov dword [ebx + 0x4c], ecx
cmp dword [edi + 0x68], ebp
je 0x4ea2f9
mov edx, dword [ebx + 0x2c]
cmp edx, ebp
je 0x4ea2f0
mov eax, edx
lea esi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ea2d0
sub eax, esi
push eax
push ebp
push edx
call fcn.004948b0
mov edx, dword [ebx + 0x2c]
push edx
call fcn.004934fd
add esp, 0x10
mov dword [ebx + 0x2c], ebp
mov eax, dword [edi + 0x68]
mov dword [ebx + 0x2c], eax
mov dword [edi + 0x68], ebp
mov ecx, dword [edi + 0x70]
cmp ecx, ebp
je 0x4ea374
mov esi, dword [ebx + 0x1a8]
cmp esi, ebp
je 0x4ea368
mov eax, esi
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4ea330
test dl, dl
je 0x4ea32c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4ea330
add eax, 2
add ecx, 2
test dl, dl
jne 0x4ea310
xor eax, eax
jmp 0x4ea335
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x4ea374
cmp esi, ebp
je 0x4ea368
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ea342
sub eax, edx
push eax
push ebp
push esi
call fcn.004948b0
mov ecx, dword [ebx + 0x1a8]
push ecx
call fcn.004934fd
add esp, 0x10
mov dword [ebx + 0x1a8], ebp
mov edx, dword [edi + 0x70]
mov dword [ebx + 0x1a8], edx
mov dword [edi + 0x70], ebp
mov eax, dword [edi + 0x74]
cmp eax, ebp
jl 0x4ea381
mov dword [ebx + 0x1ac], eax
mov eax, dword [edi + 0x80]
cmp eax, ebp
jl 0x4ea391
mov dword [ebx + 0x1bc], eax
mov edx, dword [ebx + 0x210]
cmp dword [edi + 0x8c], ebp
je 0x4ea3e2
cmp edx, ebp
je 0x4ea3ce
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ea3a8
sub eax, esi
push eax
push ebp
push edx
call fcn.004948b0
mov eax, dword [ebx + 0x210]
push eax
call fcn.004934fd
add esp, 0x10
mov dword [ebx + 0x210], ebp
mov ecx, dword [edi + 0x8c]
mov dword [ebx + 0x210], ecx
mov dword [edi + 0x8c], ebp
jmp 0x4ea41c
cmp edx, ebp
je 0x4ea416
mov eax, edx
lea esi, [eax + 1]
jmp 0x4ea3f0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ea3f0
sub eax, esi
push eax
push ebp
push edx
call fcn.004948b0
mov edx, dword [ebx + 0x210]
push edx
call fcn.004934fd
add esp, 0x10
mov dword [ebx + 0x210], ebp
mov dword [ebx + 0x210], ebp
mov ebp, edi
mov eax, dword [ebp + 0xa0]
mov dword [ebx + 0x268], eax
mov ecx, dword [ebp + 0xa4]
mov dword [ebx + 0x26c], ecx
mov edi, dword [ebp + 0x90]
test edi, edi
je 0x4ea4e8
mov eax, dword [ebp + 0x94]
test eax, eax
je 0x4ea4e8
mov ecx, dword [ebp + 0x98]
test ecx, ecx
je 0x4ea4e8
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4ea463
sub ecx, esi
cmp ecx, 0x20
jne 0x4ea4e8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ea474
sub eax, edx
cmp eax, 4
jne 0x4ea4e8
cmp dword [ebx + 0x108], 0
jne 0x4ea4e8
xor eax, eax
mov dword [ebx + 0xd0], edi
mov dword [ebp + 0x90], eax
mov dword [ebx + 0x104], eax
mov edx, dword [ebp + 0x94]
push 5
push edx
lea eax, [ebx + 0xd4]
push eax
call fcn.00505930
mov ecx, dword [0x56927c]
push ecx
call fcn.004ab9bf
mov dword [ebx + 0xdc], eax
mov edx, dword [ebp + 0x98]
push 0x21
push edx
lea eax, [ebx + 0xe0]
push eax
call fcn.00505930
add esp, 0x1c
mov dword [ebx + 0x108], 1
mov eax, dword [esp + 0x40]
test eax, eax
je 0x4ea51d
mov dword [eax], 1
jmp 0x4ea51d
mov edi, dword [esp + 0x38]
lea ecx, [esp + 0xd4]
push ecx
push esi
push str.zQ_s__s
add edi, 0x18
call fcn.004ddcb0
add esp, 0xc
mov dword [esp + 0x34], 9
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xf8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00493d56
add esp, 0xec
ret