Function at 0x41ebe1
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5218c0
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
push ebx
push esi
push edi
mov eax, dword [0x56d484]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov al, byte [ebp + 0x14]
mov esi, dword [ebp + 0x18]
mov byte [ebp - 0x18], al
xor eax, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x14], eax
cmp dword [ebp + 0x10], eax
jle 0x420604
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
nop dword [eax + eax]
lea eax, [eax + eax*4]
mov ebx, dword [ecx + eax*4]
lea edi, [ecx + eax*4]
mov eax, dword [edi + 0xc]
add ebx, edx
mov dword [ebp - 0x10], edi
cmp eax, 0x69
ja case.0x41ebda.18
jmp dword [eax*4 + 0x420618]
mov edx, dword [edi + 8]
mov eax, 1
mov ecx, edx
shr edx, 5
and ecx, 0x1f
shl eax, cl
mov ecx, dword [ebp + 8]
test dword [ecx + edx*4], eax
je 0x4205ef
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cc30
add esp, 0xc
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp + 8]
jmp 0x4205f1
push ebx
call fcn.0041cac0
add esp, 4
test al, al
jne 0x41ec10
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cc30
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
mov ecx, ebx
mov dword [ebp + 0x18], 0
call fcn.0040c850
test eax, eax
jle 0x41ec10
mov edx, dword [ebp + 0x18]
mov ecx, dword [edi + 4]
cmp ecx, 0x80
jb 0x41ec72
nop
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41ec60
mov byte [esi], cl
mov ecx, ebx
push edx
call fcn.00438810
inc dword [ebp + 0x18]
mov ecx, dword [eax]
mov dword [esi + 1], ecx
mov ecx, ebx
mov eax, dword [eax + 4]
mov dword [esi + 5], eax
add esi, 9
call fcn.0040c850
mov edx, dword [ebp + 0x18]
cmp edx, eax
jl 0x41ec53
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov ecx, ebx
call fcn.00439870
test al, al
jne 0x41ec10
mov ecx, dword [edi + 4]
cmp ecx, 0x80
jb 0x41ecd2
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41ecc0
mov byte [esi], cl
inc esi
mov ecx, dword [ebx + 0xc]
cmp ecx, 0x80
jb 0x41ecf2
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41ece0
mov byte [esi], cl
xor edi, edi
inc esi
mov ecx, ebx
mov dword [ebp - 0x1c], esi
call fcn.0040c850
test eax, eax
jle 0x41ec10
nop dword [eax]
push edi
mov ecx, ebx
call fcn.00438810
inc edi
mov ecx, dword [eax]
mov dword [esi], ecx
mov ecx, ebx
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
add esi, 8
call fcn.0040c850
cmp edi, eax
jl 0x41ed10
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov edx, dword [edi + 4]
mov eax, edx
mov ecx, dword [edi + 8]
mov edi, dword [ebp + 8]
shr eax, 3
cmp dword [edi + ecx], eax
jne 0x41ed7c
cmp edx, 0x80
jb 0x41ed69
mov al, dl
shr edx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp edx, 0x80
jae 0x41ed57
mov byte [esi], dl
mov eax, dword [ebx]
mov dword [esi + 1], eax
mov eax, dword [ebx + 4]
mov dword [esi + 5], eax
add esi, 9
mov dword [ebp - 0x1c], esi
mov edx, edi
jmp 0x4205f1
mov edx, dword [edi + 8]
mov eax, 1
mov ecx, edx
shr edx, 5
and ecx, 0x1f
shl eax, cl
mov ecx, dword [ebp + 8]
test dword [ecx + edx*4], eax
je 0x4205ef
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cc80
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
push ebx
call fcn.0041cae0
add esp, 4
test al, al
jne 0x41ec10
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cc80
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
mov ecx, ebx
mov dword [ebp + 0x18], 0
call fcn.0040c850
test eax, eax
jle 0x41ec10
mov edx, dword [ebp + 0x18]
nop dword [eax]
mov ecx, dword [edi + 4]
cmp ecx, 0x80
jb 0x41ee22
nop dword [eax + eax]
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41ee10
mov byte [esi], cl
mov ecx, ebx
push edx
call fcn.00438800
inc dword [ebp + 0x18]
mov ecx, ebx
mov eax, dword [eax]
mov dword [esi + 1], eax
add esi, 5
call fcn.0040c850
mov edx, dword [ebp + 0x18]
cmp edx, eax
jl 0x41ee00
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov ecx, ebx
call fcn.00439870
test al, al
jne 0x41ec10
mov ecx, dword [edi + 4]
cmp ecx, 0x80
jb 0x41ee82
nop word [eax + eax]
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41ee70
mov byte [esi], cl
inc esi
mov ecx, dword [ebx + 0xc]
cmp ecx, 0x80
jb 0x41eea2
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41ee90
mov byte [esi], cl
xor edi, edi
inc esi
mov ecx, ebx
mov dword [ebp - 0x1c], esi
call fcn.0040c850
test eax, eax
jle 0x41ec10
nop dword [eax]
push edi
mov ecx, ebx
call fcn.00438800
mov ecx, ebx
inc edi
mov eax, dword [eax]
mov dword [esi], eax
add esi, 4
call fcn.0040c850
cmp edi, eax
jl 0x41eec0
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov edx, dword [edi + 4]
mov eax, edx
mov ecx, dword [edi + 8]
mov edi, dword [ebp + 8]
shr eax, 3
cmp dword [edi + ecx], eax
jne 0x41ed7c
cmp edx, 0x80
jb 0x41ef17
mov al, dl
shr edx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp edx, 0x80
jae 0x41ef05
mov byte [esi], dl
mov edx, edi
mov eax, dword [ebx]
mov dword [esi + 1], eax
add esi, 5
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov edx, dword [edi + 8]
mov eax, 1
mov ecx, edx
shr edx, 5
and ecx, 0x1f
shl eax, cl
mov ecx, dword [ebp + 8]
test dword [ecx + edx*4], eax
je 0x4205ef
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041ccc0
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
mov eax, dword [ebx]
or eax, dword [ebx + 4]
je 0x4205f4
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041ccc0
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
mov ecx, ebx
mov dword [ebp + 0x18], 0
call fcn.0040c850
test eax, eax
jle 0x41ec10
mov edx, dword [ebp + 0x18]
nop
mov ecx, dword [edi + 4]
cmp ecx, 0x80
jb 0x41efc2
nop dword [eax + eax]
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41efb0
mov byte [esi], cl
mov ecx, ebx
push edx
call fcn.00438810
inc esi
push esi
push dword [eax + 4]
push dword [eax]
call fcn.0041b6a0
inc dword [ebp + 0x18]
add esp, 0xc
mov ecx, ebx
mov esi, eax
call fcn.0040c850
mov edx, dword [ebp + 0x18]
cmp edx, eax
jl 0x41efa0
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov ecx, ebx
call fcn.00439870
test al, al
jne 0x41ec10
mov ecx, dword [edi + 4]
cmp ecx, 0x80
jb 0x41f025
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41f013
mov byte [esi], cl
inc esi
mov ecx, dword [ebx + 0xc]
cmp ecx, 0x80
jb 0x41f045
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41f033
mov byte [esi], cl
xor edi, edi
inc esi
mov ecx, ebx
mov dword [ebp - 0x1c], esi
call fcn.0040c850
test eax, eax
jle 0x41ec10
nop dword [eax]
push edi
mov ecx, ebx
call fcn.00438810
push esi
push dword [eax + 4]
push dword [eax]
call fcn.0041b6a0
add esp, 0xc
mov ecx, ebx
mov esi, eax
inc edi
call fcn.0040c850
cmp edi, eax
jl 0x41f060
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov edx, dword [edi + 4]
mov eax, edx
mov ecx, dword [edi + 8]
mov edi, dword [ebp + 8]
shr eax, 3
cmp dword [edi + ecx], eax
jne 0x41ed7c
cmp edx, 0x80
jb 0x41f0c2
nop
mov al, dl
shr edx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp edx, 0x80
jae 0x41f0b0
mov byte [esi], dl
inc esi
push esi
push dword [ebx + 4]
push dword [ebx]
call fcn.0041b6a0
mov esi, eax
add esp, 0xc
mov dword [ebp - 0x1c], esi
mov edx, edi
jmp 0x4205f1
mov edx, dword [edi + 8]
mov eax, 1
mov ecx, edx
shr edx, 5
and ecx, 0x1f
shl eax, cl
mov ecx, dword [ebp + 8]
test dword [ecx + edx*4], eax
je 0x4205ef
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041ccc0
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
mov eax, dword [ebx]
or eax, dword [ebx + 4]
je 0x4205f4
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041ccc0
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
mov ecx, ebx
mov dword [ebp + 0x18], 0
call fcn.0040c850
test eax, eax
jle 0x41ec10
mov edx, dword [ebp + 0x18]
mov ecx, dword [edi + 4]
cmp ecx, 0x80
jb 0x41f172
nop
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41f160
mov byte [esi], cl
mov ecx, ebx
push edx
call fcn.00438810
inc esi
push esi
push dword [eax + 4]
push dword [eax]
call fcn.0041b6a0
inc dword [ebp + 0x18]
add esp, 0xc
mov ecx, ebx
mov esi, eax
call fcn.0040c850
mov edx, dword [ebp + 0x18]
cmp edx, eax
jl 0x41f153
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov ecx, ebx
call fcn.00439870
test al, al
jne 0x41ec10
mov ecx, dword [edi + 4]
cmp ecx, 0x80
jb 0x41f1d5
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41f1c3
mov byte [esi], cl
inc esi
mov ecx, dword [ebx + 0xc]
cmp ecx, 0x80
jb 0x41f1f5
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41f1e3
mov byte [esi], cl
xor edi, edi
inc esi
mov ecx, ebx
mov dword [ebp - 0x1c], esi
call fcn.0040c850
test eax, eax
jle 0x41ec10
nop dword [eax]
push edi
mov ecx, ebx
call fcn.00438810
push esi
push dword [eax + 4]
push dword [eax]
call fcn.0041b6a0
add esp, 0xc
mov ecx, ebx
mov esi, eax
inc edi
call fcn.0040c850
cmp edi, eax
jl 0x41f210
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov edx, dword [edi + 4]
mov eax, edx
mov ecx, dword [edi + 8]
mov edi, dword [ebp + 8]
shr eax, 3
cmp dword [edi + ecx], eax
jne 0x41ed7c
cmp edx, 0x80
jb 0x41f0c2
mov al, dl
shr edx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp edx, 0x80
jae 0x41f262
jmp 0x41f0c2
mov edx, dword [edi + 8]
mov eax, 1
mov ecx, edx
shr edx, 5
and ecx, 0x1f
shl eax, cl
mov ecx, dword [ebp + 8]
test dword [ecx + edx*4], eax
je 0x4205ef
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cd10
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
cmp dword [ebx], 0
je 0x4205f4
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cd10
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
mov ecx, ebx
mov dword [ebp + 0x18], 0
call fcn.0040c850
test eax, eax
jle 0x41ec10
mov edx, dword [ebp + 0x18]
nop dword [eax + eax]
mov ecx, dword [edi + 4]
cmp ecx, 0x80
jb 0x41f312
nop dword [eax + eax]
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41f300
mov byte [esi], cl
mov ecx, ebx
push edx
call fcn.00438800
inc esi
push esi
mov eax, dword [eax]
cdq
push edx
push eax
call fcn.0041b6a0
inc dword [ebp + 0x18]
add esp, 0xc
mov ecx, ebx
mov esi, eax
call fcn.0040c850
mov edx, dword [ebp + 0x18]
cmp edx, eax
jl 0x41f2f0
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov ecx, ebx
call fcn.00439870
test al, al
jne 0x41ec10
mov ecx, dword [edi + 4]
cmp ecx, 0x80
jb 0x41f375
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41f363
mov byte [esi], cl
inc esi
mov ecx, dword [ebx + 0xc]
cmp ecx, 0x80
jb 0x41f395
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41f383
mov byte [esi], cl
xor edi, edi
inc esi
mov ecx, ebx
mov dword [ebp - 0x1c], esi
call fcn.0040c850
test eax, eax
jle 0x41ec10
nop dword [eax]
push edi
mov ecx, ebx
call fcn.00438800
push esi
mov eax, dword [eax]
cdq
push edx
push eax
call fcn.0041b6a0
add esp, 0xc
mov ecx, ebx
mov esi, eax
inc edi
call fcn.0040c850
cmp edi, eax
jl 0x41f3b0
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov edx, dword [edi + 4]
mov eax, edx
mov ecx, dword [edi + 8]
mov edi, dword [ebp + 8]
shr eax, 3
cmp dword [edi + ecx], eax
jne 0x41ed7c
cmp edx, 0x80
jb 0x41f412
nop
mov al, dl
shr edx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp edx, 0x80
jae 0x41f400
mov byte [esi], dl
inc esi
mov eax, dword [ebx]
cdq
push esi
push edx
push eax
call fcn.0041b6a0
mov esi, eax
add esp, 0xc
mov dword [ebp - 0x1c], esi
mov edx, edi
jmp 0x4205f1
mov edx, dword [edi + 8]
mov eax, 1
mov ecx, edx
shr edx, 5
and ecx, 0x1f
shl eax, cl
mov ecx, dword [ebp + 8]
test dword [ecx + edx*4], eax
je 0x4205ef
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cc30
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
mov eax, dword [ebx]
or eax, dword [ebx + 4]
je 0x4205f4
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cc30
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
mov ecx, ebx
mov dword [ebp + 0x18], 0
call fcn.0040c850
test eax, eax
jle 0x41ec10
mov edx, dword [ebp + 0x18]
mov ecx, dword [edi + 4]
cmp ecx, 0x80
jb 0x41f4c2
nop
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41f4b0
mov byte [esi], cl
mov ecx, ebx
push edx
call fcn.00438810
inc dword [ebp + 0x18]
mov ecx, dword [eax]
mov dword [esi + 1], ecx
mov ecx, ebx
mov eax, dword [eax + 4]
mov dword [esi + 5], eax
add esi, 9
call fcn.0040c850
mov edx, dword [ebp + 0x18]
cmp edx, eax
jl 0x41f4a3
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov ecx, ebx
call fcn.00439870
test al, al
jne 0x41ec10
mov ecx, dword [edi + 4]
cmp ecx, 0x80
jb 0x41f522
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41f510
mov byte [esi], cl
inc esi
mov ecx, dword [ebx + 0xc]
cmp ecx, 0x80
jb 0x41f542
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41f530
mov byte [esi], cl
xor edi, edi
inc esi
mov ecx, ebx
mov dword [ebp - 0x1c], esi
call fcn.0040c850
test eax, eax
jle 0x41ec10
nop dword [eax]
push edi
mov ecx, ebx
call fcn.00438810
inc edi
mov ecx, dword [eax]
mov dword [esi], ecx
mov ecx, ebx
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
add esi, 8
call fcn.0040c850
cmp edi, eax
jl 0x41f560
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov edx, dword [edi + 4]
mov eax, edx
mov ecx, dword [edi + 8]
mov edi, dword [ebp + 8]
shr eax, 3
cmp dword [edi + ecx], eax
jne 0x41ed7c
cmp edx, 0x80
jb 0x41ed69
nop
mov al, dl
shr edx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp edx, 0x80
jae 0x41f5b0
jmp 0x41ed69
mov edx, dword [edi + 8]
mov eax, 1
mov ecx, edx
shr edx, 5
and ecx, 0x1f
shl eax, cl
mov ecx, dword [ebp + 8]
test dword [ecx + edx*4], eax
je 0x4205ef
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cc80
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
cmp dword [ebx], 0
je 0x4205f4
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cc80
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
mov ecx, ebx
mov dword [ebp + 0x18], 0
call fcn.0040c850
test eax, eax
jle 0x41ec10
mov edx, dword [ebp + 0x18]
nop dword [eax]
mov ecx, dword [edi + 4]
cmp ecx, 0x80
jb 0x41f662
nop dword [eax + eax]
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41f650
mov byte [esi], cl
mov ecx, ebx
push edx
call fcn.00438800
inc dword [ebp + 0x18]
mov ecx, ebx
mov eax, dword [eax]
mov dword [esi + 1], eax
add esi, 5
call fcn.0040c850
mov edx, dword [ebp + 0x18]
cmp edx, eax
jl 0x41f640
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov ecx, ebx
call fcn.00439870
test al, al
jne 0x41ec10
mov ecx, dword [edi + 4]
cmp ecx, 0x80
jb 0x41f6c2
nop word [eax + eax]
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41f6b0
mov byte [esi], cl
inc esi
mov ecx, dword [ebx + 0xc]
cmp ecx, 0x80
jb 0x41f6e2
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41f6d0
mov byte [esi], cl
xor edi, edi
inc esi
mov ecx, ebx
mov dword [ebp - 0x1c], esi
call fcn.0040c850
test eax, eax
jle 0x41ec10
nop dword [eax]
push edi
mov ecx, ebx
call fcn.00438800
mov ecx, ebx
inc edi
mov eax, dword [eax]
mov dword [esi], eax
add esi, 4
call fcn.0040c850
cmp edi, eax
jl 0x41f700
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov edx, dword [edi + 4]
mov eax, edx
mov ecx, dword [edi + 8]
mov edi, dword [ebp + 8]
shr eax, 3
cmp dword [edi + ecx], eax
jne 0x41ed7c
cmp edx, 0x80
jb 0x41f757
mov al, dl
shr edx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp edx, 0x80
jae 0x41f745
mov byte [esi], dl
mov edx, edi
mov eax, dword [ebx]
mov dword [esi + 1], eax
add esi, 5
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov edx, dword [edi + 8]
mov eax, 1
mov ecx, edx
shr edx, 5
and ecx, 0x1f
shl eax, cl
mov ecx, dword [ebp + 8]
test dword [ecx + edx*4], eax
je 0x4205ef
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cd60
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
cmp byte [ebx], 0
je 0x4205f4
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cd60
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
mov ecx, ebx
mov dword [ebp + 0x18], 0
call fcn.0040c850
test eax, eax
jle 0x41ec10
mov edx, dword [ebp + 0x18]
nop dword [eax]
mov ecx, dword [edi + 4]
cmp ecx, 0x80
jb 0x41f802
nop dword [eax + eax]
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41f7f0
mov byte [esi], cl
mov ecx, ebx
push edx
call fcn.00438820
mov ecx, ebx
cmp byte [eax], 0
setne al
inc dword [ebp + 0x18]
mov byte [esi + 1], al
add esi, 2
call fcn.0040c850
mov edx, dword [ebp + 0x18]
cmp edx, eax
jl 0x41f7e0
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov ecx, ebx
call fcn.00439870
test al, al
jne 0x41ec10
mov ecx, dword [edi + 4]
cmp ecx, 0x80
jb 0x41f862
nop
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41f850
mov byte [esi], cl
inc esi
mov ecx, dword [ebx + 0xc]
cmp ecx, 0x80
jb 0x41f882
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41f870
mov byte [esi], cl
xor edi, edi
inc esi
mov ecx, ebx
mov dword [ebp - 0x1c], esi
call fcn.0040c850
test eax, eax
jle 0x41ec10
nop dword [eax]
push edi
mov ecx, ebx
call fcn.00438820
mov ecx, ebx
cmp byte [eax], 0
setne al
inc edi
mov byte [esi], al
inc esi
call fcn.0040c850
cmp edi, eax
jl 0x41f8a0
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov edx, dword [edi + 4]
mov eax, edx
mov ecx, dword [edi + 8]
mov edi, dword [ebp + 8]
shr eax, 3
cmp dword [edi + ecx], eax
jne 0x41ed7c
cmp edx, 0x80
jb 0x41f8f9
mov al, dl
shr edx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp edx, 0x80
jae 0x41f8e7
mov byte [esi], dl
mov edx, edi
cmp byte [ebx], 0
setne al
mov byte [esi + 1], al
add esi, 2
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov edx, dword [edi + 8]
mov eax, 1
mov ecx, edx
shr edx, 5
and ecx, 0x1f
shl eax, cl
mov ecx, dword [ebp + 8]
test dword [ecx + edx*4], eax
je 0x4205ef
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cdb0
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
mov eax, dword [ebx]
cmp dword [eax + 0x10], 0
je 0x4205f4
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cdb0
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cbc0
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cb20
mov edx, dword [ebp + 8]
add esp, 0xc
jmp 0x4205f1
mov edx, dword [edi + 4]
mov eax, edx
mov ecx, dword [edi + 8]
mov edi, dword [ebp + 8]
shr eax, 3
cmp dword [edi + ecx], eax
jne 0x41ed7c
cmp edx, 0x80
jb 0x41f9d2
nop dword [eax + eax]
mov al, dl
shr edx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp edx, 0x80
jae 0x41f9c0
mov byte [esi], dl
inc esi
push esi
push dword [ebx]
call fcn.0041b5a0
mov esi, eax
add esp, 8
mov dword [ebp - 0x1c], esi
mov edx, edi
jmp 0x4205f1
mov edx, dword [edi + 8]
mov eax, 1
mov ecx, edx
shr edx, 5
and ecx, 0x1f
shl eax, cl
mov ecx, dword [ebp + 8]
test dword [ecx + edx*4], eax
je 0x4205ef
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041ce00
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
cmp dword [ebx], 0
je 0x4205f4
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041ce00
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
xor edx, edx
mov dword [ebp + 0x18], edx
cmp dword [ebx + 4], edx
jle 0x4205ea
mov ecx, dword [edi + 4]
cmp ecx, 0x80
jb 0x41fa72
nop
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41fa60
mov byte [esi], cl
inc esi
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x1c], esi
lea eax, [ecx + 4]
neg ecx
sbb ecx, ecx
and ecx, eax
mov eax, dword [edi + 0x10]
mov edx, dword [ecx + edx*4]
test eax, eax
jne 0x41faa0
lea eax, [ebp - 0x1c]
push eax
push edx
call fcn.00420810
mov esi, dword [ebp - 0x1c]
add esp, 8
jmp 0x41faba
mov ecx, dword [eax + 4]
mov eax, dword [eax]
push esi
push dword [ebp - 0x18]
dec eax
push eax
lea eax, [ecx + 0x14]
push eax
push edx
call fcn.0041eb70
add esp, 0x14
mov esi, eax
mov ecx, dword [edi + 4]
inc ecx
cmp ecx, 0x80
jb 0x41fad8
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41fac6
mov edx, dword [ebp + 0x18]
mov byte [esi], cl
inc edx
inc esi
mov dword [ebp + 0x18], edx
mov dword [ebp - 0x1c], esi
cmp edx, dword [ebx + 4]
jl 0x41fa53
mov edx, dword [ebp + 8]
jmp 0x4205f1
mov ecx, dword [edi + 8]
mov eax, dword [edi + 4]
shr eax, 3
cmp dword [edx + ecx], eax
jne 0x4205f1
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041ce00
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
mov edx, dword [edi + 8]
mov eax, 1
mov ecx, edx
shr edx, 5
and ecx, 0x1f
shl eax, cl
mov ecx, dword [ebp + 8]
test dword [ecx + edx*4], eax
je 0x4205ef
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cfa0
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
cmp dword [ebx], 0
je 0x4205f4
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cfa0
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
xor edx, edx
mov dword [ebp + 0x18], edx
cmp dword [ebx + 4], edx
jle 0x4205ea
nop dword [eax + eax]
mov ecx, dword [edi + 4]
cmp ecx, 0x80
jb 0x41fbb2
nop dword [eax + eax]
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41fba0
mov byte [esi], cl
lea eax, [ebp - 0x1c]
mov ecx, dword [ebx + 0xc]
inc esi
push eax
push dword [edi + 0x10]
mov dword [ebp - 0x1c], esi
lea eax, [ecx + 4]
neg ecx
sbb ecx, ecx
and ecx, eax
push dword [ecx + edx*4]
call fcn.0041d3d0
mov edx, dword [ebp + 0x18]
add esp, 0xc
mov esi, dword [ebp - 0x1c]
inc edx
mov dword [ebp + 0x18], edx
cmp edx, dword [ebx + 4]
jl 0x41fb90
mov edx, dword [ebp + 8]
jmp 0x4205f1
mov edx, dword [edi + 4]
mov eax, edx
mov ecx, dword [edi + 8]
mov edi, dword [ebp + 8]
shr eax, 3
cmp dword [edi + ecx], eax
mov edi, dword [ebp - 0x10]
jne 0x41ec10
cmp edx, 0x80
jb 0x41fc22
nop
mov al, dl
shr edx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp edx, 0x80
jae 0x41fc10
lea eax, [ebp - 0x1c]
mov byte [esi], dl
push eax
push dword [edi + 0x10]
inc esi
push dword [ebx]
mov dword [ebp - 0x1c], esi
call fcn.0041d3d0
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
push dword [edi + 8]
push edx
call fcn.0041d820
add esp, 8
test al, al
je 0x41ec10
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cdb0
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
mov ecx, dword [edi + 8]
mov eax, dword [edi + 4]
shr eax, 3
cmp dword [edx + ecx], eax
jne 0x4205f1
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cdb0
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
push dword [edi + 8]
push edx
call fcn.0041d820
add esp, 8
test al, al
je 0x41ec10
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cff0
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
cmp dword [ebx], 0
je 0x4205f4
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cff0
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
mov ecx, ebx
mov dword [ebp + 0x18], 0
call fcn.0040c850
test eax, eax
jle 0x41ec10
mov edx, dword [ebp + 0x18]
mov ecx, dword [edi + 4]
cmp ecx, 0x80
jb 0x41fd22
nop
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41fd10
mov byte [esi], cl
inc esi
push edx
mov ecx, ebx
call fcn.00438800
mov ecx, dword [eax]
cmp ecx, 0x80
jb 0x41fd49
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41fd37
inc dword [ebp + 0x18]
mov byte [esi], cl
mov ecx, ebx
inc esi
call fcn.0040c850
mov edx, dword [ebp + 0x18]
cmp edx, eax
jl 0x41fd04
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov ecx, ebx
call fcn.00439870
test al, al
jne 0x41ec10
lea eax, [ebp - 0x1c]
push eax
push dword [edi + 4]
call fcn.0041d530
lea eax, [ebp - 0x1c]
push eax
push dword [ebx + 0xc]
call fcn.0041d530
add esp, 0x10
mov ecx, ebx
xor edi, edi
call fcn.0040c850
test eax, eax
jle 0x41ec0d
mov esi, dword [ebp - 0x1c]
push edi
mov ecx, ebx
call fcn.00438800
mov ecx, dword [eax]
cmp ecx, 0x80
jb 0x41fdca
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41fdb8
mov byte [esi], cl
inc edi
mov ecx, ebx
inc esi
call fcn.0040c850
cmp edi, eax
jl 0x41fda6
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov ecx, dword [edi + 8]
mov eax, dword [edi + 4]
shr eax, 3
cmp dword [edx + ecx], eax
jne 0x4205f1
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cff0
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
push dword [edi + 8]
push edx
call fcn.0041d820
add esp, 8
test al, al
je 0x41ec10
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cd10
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
cmp dword [ebx], 0
je 0x4205f4
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cd10
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
mov ecx, ebx
mov dword [ebp + 0x18], 0
call fcn.0040c850
test eax, eax
jle 0x41ec10
mov edx, dword [ebp + 0x18]
nop word [eax + eax]
mov ecx, dword [edi + 4]
cmp ecx, 0x80
jb 0x41fea2
nop dword [eax + eax]
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41fe90
mov byte [esi], cl
mov ecx, ebx
push edx
call fcn.00438800
inc esi
push esi
mov eax, dword [eax]
cdq
push edx
push eax
call fcn.0041b6a0
inc dword [ebp + 0x18]
add esp, 0xc
mov ecx, ebx
mov esi, eax
call fcn.0040c850
mov edx, dword [ebp + 0x18]
cmp edx, eax
jl 0x41fe80
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov ecx, ebx
call fcn.00439870
test al, al
jne 0x41ec10
lea eax, [ebp - 0x1c]
push eax
push dword [edi + 4]
call fcn.0041d530
lea eax, [ebp - 0x1c]
push eax
push dword [ebx + 0xc]
call fcn.0041d530
add esp, 0x10
mov ecx, ebx
xor edi, edi
call fcn.0040c850
test eax, eax
jle 0x41ec0d
mov esi, dword [ebp - 0x1c]
push edi
mov ecx, ebx
call fcn.00438800
push esi
mov eax, dword [eax]
cdq
push edx
push eax
call fcn.0041b6a0
add esp, 0xc
mov ecx, ebx
mov esi, eax
inc edi
call fcn.0040c850
cmp edi, eax
jl 0x41ff17
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov ecx, dword [edi + 8]
mov eax, dword [edi + 4]
shr eax, 3
cmp dword [edx + ecx], eax
jne 0x4205f1
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cd10
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
push dword [edi + 8]
push edx
call fcn.0041d820
add esp, 8
test al, al
je 0x41ec10
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cc80
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
cmp dword [ebx], 0
je 0x4205f4
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cc80
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
mov ecx, ebx
mov dword [ebp + 0x18], 0
call fcn.0040c850
test eax, eax
jle 0x41ec10
mov edx, dword [ebp + 0x18]
nop dword [eax]
mov ecx, dword [edi + 4]
cmp ecx, 0x80
jb 0x420002
nop dword [eax + eax]
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x41fff0
mov byte [esi], cl
mov ecx, ebx
push edx
call fcn.00438800
inc dword [ebp + 0x18]
mov ecx, ebx
mov eax, dword [eax]
mov dword [esi + 1], eax
add esi, 5
call fcn.0040c850
mov edx, dword [ebp + 0x18]
cmp edx, eax
jl 0x41ffe0
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov ecx, ebx
call fcn.00439870
test al, al
jne 0x41ec10
lea eax, [ebp - 0x1c]
push eax
push dword [edi + 4]
call fcn.0041d530
lea eax, [ebp - 0x1c]
push eax
push dword [ebx + 0xc]
call fcn.0041d530
add esp, 0x10
mov ecx, ebx
xor edi, edi
call fcn.0040c850
test eax, eax
jle 0x41ec0d
mov esi, dword [ebp - 0x1c]
nop
push edi
mov ecx, ebx
call fcn.00438800
mov ecx, ebx
inc edi
mov eax, dword [eax]
mov dword [esi], eax
add esi, 4
call fcn.0040c850
cmp edi, eax
jl 0x420070
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov ecx, dword [edi + 8]
mov eax, dword [edi + 4]
shr eax, 3
cmp dword [edx + ecx], eax
jne 0x4205f1
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cc80
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
push dword [edi + 8]
push edx
call fcn.0041d820
add esp, 8
test al, al
je 0x41ec10
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cc30
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
push ebx
call fcn.0041cb00
add esp, 4
test al, al
jne 0x41ec10
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cc30
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
mov ecx, ebx
mov dword [ebp + 0x18], 0
call fcn.0040c850
test eax, eax
jle 0x41ec10
mov edx, dword [ebp + 0x18]
mov ecx, dword [edi + 4]
cmp ecx, 0x80
jb 0x420152
nop dword [eax]
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x420140
mov byte [esi], cl
mov ecx, ebx
push edx
call fcn.00438810
inc dword [ebp + 0x18]
mov ecx, dword [eax]
mov dword [esi + 1], ecx
mov ecx, ebx
mov eax, dword [eax + 4]
mov dword [esi + 5], eax
add esi, 9
call fcn.0040c850
mov edx, dword [ebp + 0x18]
cmp edx, eax
jl 0x420131
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov ecx, ebx
call fcn.00439870
test al, al
jne 0x41ec10
lea eax, [ebp - 0x1c]
push eax
push dword [edi + 4]
call fcn.0041d530
lea eax, [ebp - 0x1c]
push eax
push dword [ebx + 0xc]
call fcn.0041d530
add esp, 0x10
mov ecx, ebx
xor edi, edi
call fcn.0040c850
test eax, eax
jle 0x41ec0d
mov esi, dword [ebp - 0x1c]
push edi
mov ecx, ebx
call fcn.00438810
inc edi
mov ecx, dword [eax]
mov dword [esi], ecx
mov ecx, ebx
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
add esi, 8
call fcn.0040c850
cmp edi, eax
jl 0x4201c4
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov ecx, dword [edi + 8]
mov eax, dword [edi + 4]
shr eax, 3
cmp dword [edx + ecx], eax
jne 0x4205f1
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cc30
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
push dword [edi + 8]
push edx
call fcn.0041d820
add esp, 8
test al, al
je 0x41ec10
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cea0
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
cmp dword [ebx], 0
je 0x4205f4
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cea0
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
mov ecx, ebx
mov dword [ebp + 0x18], 0
call fcn.0040c850
test eax, eax
jle 0x41ec10
mov edx, dword [ebp + 0x18]
mov ecx, dword [edi + 4]
cmp ecx, 0x80
jb 0x4202a2
nop
mov al, cl
shr ecx, 7
or al, 0x80
mov byte [esi], al
inc esi
cmp ecx, 0x80
jae 0x420290
mov byte [esi], cl
mov ecx, ebx
push edx
call fcn.00438800
inc esi
push esi
push dword [eax]
call fcn.00420980
inc dword [ebp + 0x18]
add esp, 8
mov ecx, ebx
mov esi, eax
call fcn.0040c850
mov edx, dword [ebp + 0x18]
cmp edx, eax
jl 0x420283
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov ecx, ebx
call fcn.00439870
test al, al
jne 0x41ec10
lea eax, [ebp - 0x1c]
push eax
push dword [edi + 4]
call fcn.0041d530
lea eax, [ebp - 0x1c]
push eax
push dword [ebx + 0xc]
call fcn.0041d530
add esp, 0x10
mov ecx, ebx
xor edi, edi
call fcn.0040c850
test eax, eax
jle 0x41ec0d
mov esi, dword [ebp - 0x1c]
push edi
mov ecx, ebx
call fcn.00438800
push esi
push dword [eax]
call fcn.00420980
add esp, 8
mov ecx, ebx
mov esi, eax
inc edi
call fcn.0040c850
cmp edi, eax
jl 0x420314
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov ecx, dword [edi + 8]
mov eax, dword [edi + 4]
shr eax, 3
cmp dword [edx + ecx], eax
jne 0x4205f1
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cea0
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
push dword [edi + 8]
push edx
call fcn.0041d820
add esp, 8
test al, al
je 0x41ec10
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cf00
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
push ebx
call fcn.0041cb00
add esp, 4
test al, al
jne 0x41ec10
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cf00
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
mov ecx, ebx
mov dword [ebp + 0x18], 0
call fcn.0040c850
test eax, eax
jle 0x41ec10
nop dword [eax + eax]
push esi
push dword [edi + 4]
call fcn.0040827c
add esp, 8
mov ecx, ebx
mov esi, eax
push dword [ebp + 0x18]
call fcn.00438810
push esi
mov edx, dword [eax + 4]
mov ecx, edx
mov edi, dword [eax]
mov eax, edx
shld edx, edi, 1
sar eax, 0x1f
sar ecx, 0x1f
xor eax, edx
add edi, edi
xor ecx, edi
push eax
push ecx
call fcn.0041b6a0
mov edi, dword [ebp + 0x18]
add esp, 0xc
inc edi
mov ecx, ebx
mov esi, eax
mov dword [ebp + 0x18], edi
call fcn.0040c850
cmp edi, eax
mov edi, dword [ebp - 0x10]
jl 0x4203e0
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov ecx, ebx
call fcn.00439870
test al, al
jne 0x41ec10
lea eax, [ebp - 0x1c]
push eax
push dword [edi + 4]
call fcn.0041d530
lea eax, [ebp - 0x1c]
push eax
push dword [ebx + 0xc]
call fcn.0041d530
add esp, 0x10
xor edi, edi
mov ecx, ebx
mov dword [ebp + 0x18], edi
call fcn.0040c850
test eax, eax
jle 0x41ec0d
mov esi, dword [ebp - 0x1c]
nop
push edi
mov ecx, ebx
call fcn.00438810
push esi
mov edx, dword [eax + 4]
mov ecx, edx
mov edi, dword [eax]
mov eax, edx
shld edx, edi, 1
sar eax, 0x1f
sar ecx, 0x1f
xor eax, edx
add edi, edi
xor ecx, edi
push eax
push ecx
call fcn.0041b6a0
mov edi, dword [ebp + 0x18]
add esp, 0xc
inc edi
mov ecx, ebx
mov esi, eax
mov dword [ebp + 0x18], edi
call fcn.0040c850
cmp edi, eax
jl 0x420480
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
jmp 0x4205f1
mov ecx, dword [edi + 8]
mov eax, dword [edi + 4]
shr eax, 3
cmp dword [edx + ecx], eax
jne 0x4205f1
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cf00
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
push dword [edi + 8]
push edx
call fcn.0041d820
add esp, 8
test al, al
je 0x41ec10
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cf60
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
cmp dword [ebx + 0x10], 0
je 0x4205f4
lea eax, [ebp - 0x1c]
push eax
push edi
push ebx
call fcn.0041cf60
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
mov ecx, dword [edi + 8]
mov eax, dword [edi + 4]
shr eax, 3
cmp dword [edx + ecx], eax
jne 0x4205f1
lea eax, [ebp - 0x1c]
push eax
push edi
push dword [ebx]
call fcn.0041cf60
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp + 8]
jmp 0x4205f1
push 0xffffffffffffffff
push 0x7fffffff
push esi
lea ecx, [ebp - 0x48]
call fcn.00437610
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x30]
call fcn.00419cb0
mov al, byte [ebp + 0x14]
lea ecx, [ebp - 0x30]
push ecx
push dword [edi + 8]
mov byte [ebp - 0x1e], al
push dword [edi + 4]
mov eax, dword [edi + 0x10]
push dword [edi]
mov byte [ebp - 4], 1
push dword [ebp + 8]
call eax
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x30]
sub eax, dword [ebp - 0x28]
add esp, 0x14
add esi, eax
mov dword [ebp - 0x1c], esi
call fcn.00419db0
mov edx, dword [ebp + 8]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x48], vtable.google::protobuf::io::ZeroCopyOutputStream.0
jmp 0x4205f1
push eax
call fcn.004208c0
mov edx, dword [ebp + 8]
add esp, 4
jmp 0x4205f1
mov edx, dword [ebp + 8]
jmp 0x4205f4
mov edx, ecx
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp + 0x10]
jl 0x41ebc0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret