Function at 0x42259d
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb54
push ebx
push esi
push edi
push 9
pop ecx
mov esi, 0x42ddfc
mov dword [ebp - 0x10], edx
lea edi, [ebp - 0x284]
mov dword [ebp - 0x28], 0x2536a5c1
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x24], 0xde6c3e6d
mov dword [ebp - 0x20], 0x57cc5b63
mov dword [ebp - 0x1c], 0x4c9dffa0
movsw word es:[edi], word [esi]
mov dword [ebp - 0x18], 0xdbd753df
mov dword [ebp - 0x14], 0xd3a0518a
movsb byte es:[edi], byte [esi]
call fcn.00420fb2
push 0xa
pop eax
mov ecx, eax
lea edi, [ebp - 0x2ac]
push 0x66
mov esi, str.bad_file_descriptor
xor edx, edx
pop eax
rep movsd dword es:[edi], dword [esi]
mov ebx, edx
cmp ax, word [ebp - 0x2ac]
jne 0x422678
mov ecx, eax
mov eax, edx
test cx, cx
je 0x422640
cmp word [ebp + eax - 0x2ac], dx
je 0x422640
call fcn.00420312
inc ebx
push 0
pop edx
lea eax, [ebx + ebx]
movzx ecx, word [eax + str.filename_too_long]
cmp cx, word [ebp + eax - 0x2ac]
je 0x422614
mov esi, dword [ebp - 0xc0]
cmp esi, ebx
jae 0x422678
mov edi, dword [0x435a84]
lea eax, [edi - 0x498dd691]
mov dword [ebp - 0x54], eax
call fcn.004207cb
cmp esi, 0xd09
jne 0x422671
push ecx
push ecx
mov edx, edi
call fcn.0041fe63
pop ecx
pop ecx
inc esi
cmp esi, ebx
jb 0x422659
jmp 0x422680
mov eax, dword [0x435a58]
mov dword [ebp - 0x54], eax
xor ecx, ecx
mov dword [ebp - 0x48], ecx
mov eax, ecx
mov byte [ebp + eax - 0x20c], al
inc eax
cmp eax, 0x100
jb 0x422687
mov edx, ecx
push 0xb
mov dword [ebp - 0x58], edx
pop esi
jmp 0x4226a2
xor ecx, ecx
mov ebx, ecx
lea edi, [ebp - 0x2dc]
mov ecx, esi
mov esi, 0x431ea0
rep movsd dword es:[edi], dword [esi]
push 0x66
pop eax
movsw word es:[edi], word [esi]
cmp ax, word [ebp - 0x2dc]
jne 0x4226f0
xor esi, esi
mov ecx, eax
mov eax, esi
test cx, cx
je 0x4226f0
cmp word [ebp + eax - 0x2dc], si
je 0x4226f0
call fcn.00420fb2
inc ebx
lea eax, [ebx + ebx]
movzx ecx, word [eax + str.filename_too_long]
cmp cx, word [ebp + eax - 0x2dc]
je 0x4226c7
mov bl, byte [ebp + edx - 0x20c]
mov eax, edx
push 0x26
xor edx, edx
pop ecx
div ecx
movzx ecx, bl
push 0xb
pop esi
movzx eax, byte [ebp + edx - 0x284]
add eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x58]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0x48], ecx
mov al, byte [ebp + ecx - 0x20c]
mov byte [ebp + edx - 0x20c], al
inc edx
mov byte [ebp + ecx - 0x20c], bl
mov dword [ebp - 0x58], edx
cmp edx, 0x100
jb 0x4226a0
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x20c]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x20c]
mov byte [ebp + edi - 0x20c], al
mov byte [ebp + ebx - 0x20c], cl
movzx eax, byte [ebp + edi - 0x20c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x20c]
xor al, byte [ebp + esi - 0x28]
mov byte [ebp + esi - 0x3d8], al
inc esi
cmp esi, 0x18
jb 0x422749
mov esi, str.bad_function_call
mov dword [ebp - 0x40], 0x8277e2f3
lea edi, [ebp - 0x24]
mov dword [ebp - 0x3c], 0x49ba3a85
push 0x16
xor ecx, ecx
mov byte [ebp - 0x38], 3
movsd dword es:[edi], dword [esi]
pop eax
mov byte [ebp - 0x37], al
mov eax, ecx
mov byte [ebp - 0x3c0], cl
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x36], 0x4ddefcbc
mov dword [ebp - 0x32], 0x80551f38
mov dword [ebp - 0x2e], 0x5275cbde
movsd dword es:[edi], dword [esi]
mov word [ebp - 0x2a], 0x74fe
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, ecx
mov byte [ebp + eax - 0x20c], al
inc eax
cmp eax, 0x100
jb 0x4227e6
push 0x11
mov esi, ecx
pop ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x20c]
mov eax, esi
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x24]
mov edx, dword [ebp - 0x54]
add eax, edi
add ecx, eax
movzx edi, cl
push ecx
push ecx
mov al, byte [ebp + edi - 0x20c]
mov byte [ebp + esi - 0x20c], al
call fcn.0041fe63
pop ecx
pop ecx
inc esi
mov byte [ebp + edi - 0x20c], bl
push 0x11
pop ecx
cmp esi, 0x100
jb 0x4227fa
mov esi, 0x42cd58
lea edi, [ebp - 0xb4]
xor ecx, ecx
mov edx, ecx
mov ebx, ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, ecx
cmp byte [ebp - 0xb4], 0x28
lea eax, [edx + 1]
movzx edx, al
mov dword [ebp - 0x4c], edx
mov al, byte [ebp + edx - 0x20c]
movzx edi, al
mov byte [ebp - 1], al
lea eax, [esi + edi]
movzx esi, al
mov al, byte [ebp + esi - 0x20c]
mov byte [ebp + edx - 0x20c], al
jne 0x4228af
mov al, 0x28
test al, al
je 0x4228af
cmp byte [ebp + ecx - 0xb4], 0
je 0x4228af
mov al, byte [ecx + 0x432381]
inc ecx
cmp al, byte [ebp + ecx - 0xb4]
je 0x422891
movzx eax, byte [ebp + ecx - 0xb4]
movzx ecx, byte [ecx + 0x432380]
sub ecx, eax
cmp ecx, 0x5c4
jne 0x4228dc
xor dword [0x435a84], 0x468daf43
call fcn.0041ffe8
mov edx, dword [ebp - 0x4c]
jmp 0x4228e3
add dword [ebp - 0x54], 0x4b306c42
mov al, byte [ebp - 1]
mov byte [ebp + esi - 0x20c], al
movzx eax, byte [ebp + edx - 0x20c]
add eax, edi
movzx eax, al
push 0
pop ecx
mov al, byte [ebp + eax - 0x20c]
xor al, byte [ebp + ebx - 0x40]
mov byte [ebp + ebx - 0x3a0], al
inc ebx
cmp ebx, 0x18
jb 0x42285c
push 0x26
pop eax
push 5
pop ecx
mov esi, str.RaiseFailFastException
mov byte [ebp - 0x3a], al
lea edi, [ebp - 0x28]
mov dword [ebp - 0x40], 0xa371cbdf
rep movsd dword es:[edi], dword [esi]
xor edx, edx
mov word [ebp - 0x3c], 0xe062
mov byte [ebp - 0x388], dl
mov eax, edx
mov dword [ebp - 0x39], 0xb28e5f86
movsw word es:[edi], word [esi]
mov dword [ebp - 0x35], 0x29d76e53
mov dword [ebp - 0x31], 0x1d0e7f32
mov dword [ebp - 0x2d], 0xecc808d6
mov byte [ebp - 0x29], 0x8e
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x48], edx
mov byte [ebp + eax - 0x20c], al
inc eax
cmp eax, 0x100
jb 0x422969
mov eax, dword [0x435a84]
mov ecx, edx
mov edi, dword [ebp - 0xc0]
add eax, 0xeda9bc6b
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x4c], eax
mov esi, edx
mov dword [ebp - 0x58], eax
mov ebx, eax
inc esi
cmp word [esi*2 + str.filename_too_long], dx
jne 0x422997
cmp edi, esi
jae 0x4229ca
call fcn.00420312
cmp edi, 0x1ba4
jne 0x4229b9
sub ebx, 0x154b3980
imul ebx, ebx, 0x3a562b1c
inc edi
cmp edi, esi
jb 0x4229a6
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x58], ebx
mov bl, byte [ebp + ecx - 0x20c]
mov eax, ecx
xor edx, edx
push 0x16
pop ecx
div ecx
movzx ecx, bl
push 0
movzx eax, byte [ebp + edx - 0x28]
add eax, dword [ebp - 0x48]
add ecx, eax
movzx edx, cl
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x48], edx
mov al, byte [ebp + edx - 0x20c]
mov byte [ebp + ecx - 0x20c], al
inc ecx
mov eax, dword [ebp - 0x4c]
mov byte [ebp + edx - 0x20c], bl
mov dword [ebp - 0x60], ecx
pop edx
cmp ecx, 0x100
jb 0x422990
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x20c]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x20c]
mov byte [ebp + edi - 0x20c], al
mov byte [ebp + ebx - 0x20c], cl
movzx eax, byte [ebp + edi - 0x20c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x20c]
xor al, byte [ebp + esi - 0x40]
mov byte [ebp + esi - 0x2f8], al
inc esi
cmp esi, 0x18
jb 0x422a23
push 0x66
pop eax
push 7
mov byte [ebp - 0x3b], al
lea edi, [ebp - 0x28]
pop eax
push 5
pop ecx
mov esi, 0x42f848
mov byte [ebp - 0x33], al
rep movsd dword es:[edi], dword [esi]
xor edx, edx
mov dword [ebp - 0x40], 0xa469f1a1
mov byte [ebp - 0x2e0], dl
mov eax, edx
mov byte [ebp - 0x3c], 0x9d
movsw word es:[edi], word [esi]
mov dword [ebp - 0x3a], 0x77f0c596
mov word [ebp - 0x36], 0xdf0c
mov byte [ebp - 0x34], 0x56
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x32], 0x5ef7a002
mov edi, edx
mov dword [ebp - 0x2e], 0xe4d17573
mov word [ebp - 0x2a], 0xe7c8
mov byte [ebp + eax - 0x20c], al
inc eax
cmp eax, 0x100
jb 0x422acb
mov esi, edx
xor edx, edx
mov bl, byte [ebp + esi - 0x20c]
push 0x16
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x28]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x20c]
mov byte [ebp + esi - 0x20c], al
inc esi
mov byte [ebp + edi - 0x20c], bl
cmp esi, 0x100
jb 0x422adc
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
mov eax, dword [ebp - 0x58]
sub eax, 0x41721250
mov dword [0x435a58], eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x20c]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x20c]
mov byte [ebp + edi - 0x20c], al
mov byte [ebp + ebx - 0x20c], cl
movzx eax, byte [ebp + edi - 0x20c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x20c]
xor al, byte [ebp + esi - 0x40]
mov byte [ebp + esi - 0x314], al
inc esi
cmp esi, 0x18
jb 0x422b2e
mov esi, 0x42c4bc
mov dword [ebp - 0x28], 0x34bbd23c
lea edi, [ebp - 0xc8]
mov dword [ebp - 0x24], 0x187dc186
push 7
xor ecx, ecx
mov dword [ebp - 0x20], 0x4232ac52
movsd dword es:[edi], dword [esi]
pop eax
mov byte [ebp - 0x11], al
mov eax, ecx
mov byte [ebp - 0x2fc], cl
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x1c], 0xf310a248
mov dword [ebp - 0x18], 0xba738d1e
mov word [ebp - 0x14], 0xd481
movsw word es:[edi], word [esi]
mov byte [ebp - 0x12], 3
movsb byte es:[edi], byte [esi]
mov edi, ecx
mov byte [ebp + eax - 0x20c], al
inc eax
cmp eax, 0x100
jb 0x422bcd
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x20c]
push 0xa
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0xc8]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x20c]
mov byte [ebp + esi - 0x20c], al
inc esi
mov byte [ebp + edi - 0x20c], bl
cmp esi, 0x100
jb 0x422bde
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x20c]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x20c]
mov byte [ebp + edi - 0x20c], al
mov byte [ebp + ebx - 0x20c], cl
movzx eax, byte [ebp + edi - 0x20c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x20c]
xor al, byte [ebp + esi - 0x28]
mov byte [ebp + esi - 0x330], al
inc esi
cmp esi, 0x18
jb 0x422c26
mov esi, 0x42c218
mov byte [ebp - 0x40], 0xa2
lea edi, [ebp - 0x24]
mov dword [ebp - 0x3e], 0x434b43a0
push 0x12
pop eax
movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov byte [ebp - 0x3f], al
mov byte [ebp - 0x39], al
mov eax, ecx
mov byte [ebp - 0x318], cl
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x3a], 0xe6
mov dword [ebp - 0x38], 0x41610441
mov dword [ebp - 0x34], 0xc0807ee7
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x30], 0x6308f408
mov dword [ebp - 0x2c], 0xd1cd05fe
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, ecx
mov byte [ebp + eax - 0x20c], al
inc eax
cmp eax, 0x100
jb 0x422cc5
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x20c]
push 0x12
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x24]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x20c]
mov byte [ebp + esi - 0x20c], al
inc esi
mov byte [ebp + edi - 0x20c], bl
cmp esi, 0x100
jb 0x422cd6
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x20c]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x20c]
mov byte [ebp + edi - 0x20c], al
mov byte [ebp + ebx - 0x20c], cl
movzx eax, byte [ebp + edi - 0x20c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x20c]
xor al, byte [ebp + esi - 0x40]
mov byte [ebp + esi - 0x34c], al
inc esi
cmp esi, 0x18
jb 0x422d1b
xor ebx, ebx
mov dword [ebp - 0x218], 0xc
push ebx
lea eax, [ebp - 0x218]
mov byte [ebp - 0x334], bl
push eax
lea eax, [ebp - 0x60]
mov dword [ebp - 0x48], ebx
push eax
xor esi, esi
mov dword [ebp - 0x58], ebx
inc esi
mov dword [ebp - 0x214], ebx
lea eax, [ebp - 0x54]
mov dword [ebp - 0x210], esi
push eax
lea edx, [ebp - 0x3d8]
mov ecx, esi
call fcn.0040a2e6
call eax
test eax, eax
jne 0x422dcb
mov eax, dword [0x435a58]
or eax, 0x8a4b5c6b
mov dword [0x435a84], eax
xor eax, eax
jmp 0x424083
xor eax, eax
mov dword [ebp - 0x25c], 0x44
mov dword [ebp - 0x22c], eax
lea edx, [ebp - 0x3a0]
mov eax, dword [ebp - 0x60]
mov ecx, esi
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x25c]
mov dword [ebp - 0x258], ebx
push eax
push ebx
push ebx
push 0x10
push esi
push ebx
push ebx
push dword [ebp - 0x10]
mov dword [ebp - 0x254], ebx
push ebx
mov dword [ebp - 0x250], ebx
mov dword [ebp - 0x24c], ebx
mov dword [ebp - 0x248], ebx
mov dword [ebp - 0x244], ebx
mov dword [ebp - 0x240], ebx
mov dword [ebp - 0x23c], ebx
mov dword [ebp - 0x238], ebx
mov dword [ebp - 0x234], ebx
mov dword [ebp - 0x230], 0x101
mov dword [ebp - 0x228], ebx
mov dword [ebp - 0x224], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ebx
call fcn.0040a2e6
call eax
test eax, eax
jne 0x42320b
mov esi, str.operation_canceled
mov dword [ebp - 0xbc], 0xe5929f74
lea edi, [ebp - 0x24]
mov dword [ebp - 0xb8], 0x6dddd5e8
mov dword [ebp - 0xb4], 0x18f8b6dc
mov dword [ebp - 0xb0], 0x5b1f694d
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xac], 0x8e6808d
mov dword [ebp - 0xa8], 0xf0fc1a7e
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, dword [0x435a58]
lea esi, [edi + 0x7c8b3f6c]
mov dword [ebp - 0xc], esi
xor esi, esi
mov ecx, str.EventThrottleMaxEvents
call fcn.0041fed9
inc ebx
cmp word [ebx*2 + str.filename_too_long], si
jne 0x422ed3
call fcn.00420fb2
mov esi, dword [ebp - 0xc]
cmp ebx, 0xa84
jbe 0x422f06
imul edi, edi, 0x1f1f723f
mov dword [0x435a58], edi
jmp 0x422f14
imul esi, esi, 0xa9433c3f
mov dword [ebp - 0xc], esi
call fcn.00420312
xor ecx, ecx
mov eax, ecx
mov byte [ebp + eax - 0x20c], al
inc eax
cmp eax, 0x100
jb 0x422f18
mov edi, ecx
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + edi - 0x20c]
push 0x12
mov eax, edi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x24]
add eax, esi
add ecx, eax
movzx esi, cl
mov al, byte [ebp + esi - 0x20c]
mov byte [ebp + edi - 0x20c], al
inc edi
mov byte [ebp + esi - 0x20c], bl
cmp edi, 0x100
jb 0x422f2b
mov esi, dword [ebp - 0xc]
xor ecx, ecx
mov ebx, ecx
mov dword [ebp - 8], ecx
mov eax, ecx
mov dword [ebp - 0x10], ebx
inc eax
movzx eax, al
mov dword [ebp - 0x44], eax
mov edi, dword [ebp - 0x44]
mov cl, byte [ebp + eax - 0x20c]
mov eax, dword [ebp - 8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x20c]
mov byte [ebp + edi - 0x20c], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x20c], cl
mov eax, edi
movzx eax, byte [ebp + eax - 0x20c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x20c]
mov byte [ebp - 1], al
mov eax, str.EventThrottleMaxEvents
push eax
mov edx, eax
call fcn.00420976
mov edi, dword [0x435a58]
pop ecx
xor ecx, ecx
mov eax, ecx
xor esi, 0xc3ec1954
inc eax
cmp word [eax*2 + str.filename_too_long], cx
jne 0x422fdf
push ecx
push ecx
mov edx, esi
mov dword [ebp - 0x48], eax
call fcn.0041fe63
mov eax, dword [ebp - 0xc]
pop ecx
pop ecx
cmp eax, dword [ebp - 0x48]
jae 0x423057
mov ebx, dword [ebp - 0x48]
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x50], esi
call fcn.0041ffe8
mov eax, dword [ebp - 0xc]
mov esi, dword [ebp - 0x5c]
cmp eax, 0x2375
jne 0x423038
xor edi, 0x2d7d8932
push ecx
push ecx
mov edx, edi
call fcn.0041fe63
mov esi, dword [ebp - 0x50]
mov eax, dword [ebp - 0xc]
pop ecx
pop ecx
or esi, 0xd8bf7723
inc eax
mov dword [ebp - 0xc], eax
mov ecx, esi
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x50], ecx
cmp eax, ebx
jb 0x42300f
mov ebx, dword [ebp - 0x10]
mov dword [0x435a58], edi
mov al, byte [ebp + ebx - 0xbc]
xor al, byte [ebp - 1]
mov byte [ebp + ebx - 0x94], al
inc ebx
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x10], ebx
cmp ebx, 0x18
jb 0x422f77
mov esi, 0x42c57c
mov dword [ebp - 0x28], 0x90ddd2b5
lea edi, [ebp - 0xc8]
mov dword [ebp - 0x24], 0x41ea1f9c
xor ecx, ecx
mov dword [ebp - 0x20], 0xfcac77c1
mov byte [ebp - 0x7c], cl
mov eax, ecx
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x1c], 0x44bd3bf
mov dword [ebp - 0x18], 0xf39e097a
mov dword [ebp - 0x14], 0x523639bc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, ecx
mov byte [ebp + eax - 0x20c], al
inc eax
cmp eax, 0x100
jb 0x4230b9
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x20c]
push 0xb
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0xc8]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x20c]
mov byte [ebp + esi - 0x20c], al
inc esi
mov byte [ebp + edi - 0x20c], bl
cmp esi, 0x100
jb 0x4230ca
mov esi, dword [ebp - 0xc0]
xor eax, eax
mov edi, eax
mov ecx, eax
mov ebx, eax
mov eax, dword [0x435a58]
add eax, 0x9d926559
mov dword [ebp - 0x4c], eax
lea eax, [ecx + 1]
movzx edx, al
mov dword [ebp - 0x10], edx
push str.EventThrottleMaxEvents
mov cl, byte [ebp + edx - 0x20c]
movzx eax, cl
mov dword [ebp - 0x50], eax
add eax, edi
movzx edi, al
mov dword [ebp - 0x5c], edi
mov al, byte [ebp + edi - 0x20c]
mov byte [ebp + edx - 0x20c], al
mov edx, str.filename_too_long
mov byte [ebp + edi - 0x20c], cl
call fcn.00420976
mov edx, dword [ebp - 0x4c]
xor eax, eax
pop ecx
mov edi, eax
mov dword [0x435a84], edx
inc edi
cmp word [edi*2 + str.EventThrottleMaxEvents], ax
jne 0x423175
cmp esi, edi
jae 0x4231a8
cmp esi, 0x13d8
jne 0x423192
and edx, 0x5c9d0abd
xor edx, 0x58165d01
call fcn.00420fb2
inc esi
cmp esi, edi
jb 0x423184
mov dword [0x435a84], edx
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x5c]
movzx eax, byte [ebp + ecx - 0x20c]
add eax, dword [ebp - 0x50]
movzx eax, al
mov al, byte [ebp + eax - 0x20c]
xor al, byte [ebp + ebx - 0x28]
mov byte [ebp + ebx - 0xfc], al
inc ebx
cmp ebx, 0x18
jb 0x423125
push dword [ebp - 0x60]
xor ecx, ecx
lea edx, [ebp - 0x94]
xor eax, eax
inc ecx
mov byte [ebp - 0xe4], al
call fcn.0040a2e6
call eax
push dword [ebp - 0x54]
xor ecx, ecx
lea edx, [ebp - 0xfc]
inc ecx
call fcn.0040a2e6
call eax
jmp 0x422dc4
call fcn.0041ffe8
push 7
pop eax
mov ecx, eax
lea edi, [ebp - 0x27c]
mov esi, str.stream_timeout
rep movsd dword es:[edi], dword [esi]
push 0x45
pop eax
movsw word es:[edi], word [esi]
mov edi, dword [0x435a58]
mov dword [ebp - 0x10], edi
cmp ax, word [ebp - 0x27c]
jne 0x42326c
xor edx, edx
mov ecx, eax
mov eax, edx
test cx, cx
je 0x42326c
cmp word [ebp + eax - 0x27c], dx
je 0x42326c
push ecx
mov ecx, edi
call fcn.0042041e
inc ebx
pop ecx
lea eax, [ebx + ebx]
movzx ecx, word [eax + str.EventThrottleMaxEvents]
cmp cx, word [ebp + eax - 0x27c]
je 0x42323f
call fcn.0041ffe8
mov esi, dword [ebp - 0xc0]
cmp esi, ebx
jae 0x4232a6
cmp esi, 0xcc8
jne 0x42328e
xor edi, 0x2622ef1f
call fcn.004207cb
imul eax, edi, 0x31d395f5
mov dword [0x435a84], eax
call fcn.00420b8e
inc esi
cmp esi, ebx
jb 0x42327b
mov dword [ebp - 0x10], edi
mov ebx, dword [ebp - 0x10]
mov esi, 0x42c538
mov dword [ebp - 0xa3], 0xc39c41f0
lea edi, [ebp - 0xc8]
mov dword [ebp - 0x9f], 0xd06d00db
push 0x45
pop eax
movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov byte [ebp - 0xa4], al
mov byte [ebp - 0x79], al
mov eax, ecx
mov dword [ebp - 0x9b], 0xd927c023
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x97], 0xbfb9edf2
mov dword [ebp - 0x93], 0x78c74fef
mov dword [ebp - 0x8f], 0xe46e8dcb
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x8b], 0x6ddf0498
mov edi, ecx
mov dword [ebp - 0x87], 0x6a0e3b68
mov dword [ebp - 0x83], 0x6d525ee7
mov dword [ebp - 0x7f], 0xa9240898
mov word [ebp - 0x7b], 0x9ad7
mov byte [ebp + eax - 0x20c], al
inc eax
cmp eax, 0x100
jb 0x423330
mov esi, ecx
mov dl, byte [ebp + esi - 0x20c]
mov eax, esi
and eax, 7
movzx ecx, dl
movzx eax, byte [ebp + eax - 0xc8]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x20c]
mov byte [ebp + esi - 0x20c], al
inc esi
mov byte [ebp + edi - 0x20c], dl
cmp esi, 0x100
jb 0x423341
mov eax, 0x432380
sub ebx, 0x7fa75611
inc eax
cmp byte [eax], 0
jne 0x423382
xor eax, eax
mov dword [0x435a58], ebx
mov esi, eax
mov dword [ebp - 0x50], eax
mov edx, eax
lea eax, [edx + 1]
movzx ecx, al
mov dword [ebp - 0xc], ecx
mov al, byte [ebp + ecx - 0x20c]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 8], eax
add eax, esi
movzx eax, al
mov dword [ebp - 0x44], eax
mov al, byte [ebp + eax - 0x20c]
mov byte [ebp + ecx - 0x20c], al
call fcn.00420fb2
mov esi, 0x42d610
lea edi, [ebp - 0x24]
xor eax, eax
push 0x66
pop ecx
movsd dword es:[edi], dword [esi]
mov edx, eax
mov dword [ebp - 0x10], edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp cx, word [ebp - 0x24]
jne 0x423420
xor esi, esi
test cx, cx
je 0x423420
cmp word [ebp + eax - 0x24], si
je 0x423420
push ecx
push ecx
mov edx, ebx
call fcn.0041fe63
mov edx, dword [ebp - 0x10]
inc edx
pop ecx
pop ecx
mov dword [ebp - 0x10], edx
lea eax, [edx + edx]
movzx ecx, word [eax + str.filename_too_long]
cmp cx, word [ebp + eax - 0x24]
je 0x4233f1
movzx eax, byte [ebp + edx*2 - 0x24]
movzx ecx, byte [edx*2 + str.filename_too_long]
sub ecx, eax
cmp ecx, 0x778
jae 0x42344a
imul ebx, ebx, 0xd0226004
mov dword [0x435a58], ebx
call fcn.00420b2e
jmp 0x423454
sub dword [0x435a84], 0x1d7248c3
mov esi, dword [ebp - 0x44]
mov edx, dword [ebp - 0xc]
mov al, byte [ebp - 1]
mov ecx, dword [ebp - 0x50]
mov byte [ebp + esi - 0x20c], al
movzx eax, byte [ebp + edx - 0x20c]
add eax, dword [ebp - 8]
movzx eax, al
mov al, byte [ebp + eax - 0x20c]
xor al, byte [ebp + ecx - 0xa4]
mov byte [ebp + ecx - 0x2dc], al
inc ecx
mov dword [ebp - 0x50], ecx
cmp ecx, 0x2c
jb 0x42339d
push 0x32
push dword [ebp - 0x38]
xor ecx, ecx
lea edx, [ebp - 0x2dc]
xor ebx, ebx
inc ecx
mov byte [ebp - 0x2b0], bl
call fcn.0040a2e6
call eax
neg eax
mov dword [ebp - 0x4c], ebx
sbb eax, eax
inc eax
mov dword [ebp - 0x50], eax
mov esi, 0x42cd68
mov dword [ebp - 0x28], 0x76f591b3
lea edi, [ebp - 0xb4]
mov dword [ebp - 0x24], 0xda3693a0
mov dword [ebp - 0x20], 0x78f24259
mov eax, ebx
mov dword [ebp - 0x1c], 0x9569c74b
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x18], 0x7aae15bc
mov dword [ebp - 0x14], 0xd9d5aa20
mov dword [ebp - 0x10], ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
imul esi, dword [0x435a58], 0xa6e6f6d4
mov byte [ebp + eax - 0x20c], al
inc eax
cmp eax, 0x100
jb 0x423508
mov edi, ebx
inc edi
cmp word [edi*2 + str.EventThrottleMaxEvents], bx
jne 0x423519
call fcn.00420b2e
cmp edi, 0xc46
jne 0x42353e
call fcn.004207cb
or esi, 0x186a3e71
jmp 0x423549
call fcn.00420191
or esi, 0xf5f6ec9f
mov dword [ebp - 8], esi
mov edi, ebx
mov esi, dword [ebp - 0x10]
xor edx, edx
mov bl, byte [ebp + edi - 0x20c]
push 0xd
mov eax, edi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0xb4]
add eax, esi
add ecx, eax
movzx esi, cl
mov al, byte [ebp + esi - 0x20c]
mov byte [ebp + edi - 0x20c], al
inc edi
mov byte [ebp + esi - 0x20c], bl
cmp edi, 0x100
jb 0x423551
xor eax, eax
or dword [ebp - 8], 0xbf364976
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [esi + 1]
movzx esi, al
mov cl, byte [ebp + esi - 0x20c]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov dword [ebp - 0x10], ebx
mov al, byte [ebp + ebx - 0x20c]
mov byte [ebp + esi - 0x20c], al
mov byte [ebp + ebx - 0x20c], cl
mov ebx, str.filename_too_long
movzx eax, byte [ebp + esi - 0x20c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x20c]
mov byte [ebp - 1], al
call fcn.00420d9a
lea ebx, [ebx + 2]
xor ecx, ecx
cmp word [ebx], cx
jne 0x4235ea
mov al, byte [ebp + edi - 0x28]
xor al, byte [ebp - 1]
mov ebx, dword [ebp - 0x10]
mov byte [ebp + edi - 0x3bc], al
inc edi
cmp edi, 0x18
jb 0x4235a0
mov esi, dword [ebp - 8]
mov edi, ecx
lea ebx, [esi - 0x42bbd12c]
mov dword [ebp - 0xc], ebx
mov dword [0x435a84], ebx
xor ebx, ebx
call fcn.00420191
inc edi
cmp word [edi*2 + str.EventThrottleMaxEvents], bx
jne 0x423626
mov ebx, dword [ebp - 0xc]
mov eax, str.filename_too_long
push eax
mov edx, eax
call fcn.00420976
pop ecx
cmp dword [ebp - 0x5c], edi
jae 0x423674
call fcn.004207cb
mov eax, dword [ebp - 0x5c]
cmp eax, 0x11e3
jne 0x423663
mov esi, ebx
and esi, 0xce4866a4
or esi, 0xceb47b7f
inc eax
mov dword [ebp - 0x5c], eax
cmp eax, edi
jb 0x42364c
mov dword [ebp - 8], esi
push 0xa
pop eax
mov ecx, eax
mov byte [ebp - 0x69], al
mov esi, 0x431f30
mov dword [ebp - 0x78], 0xe33b0262
lea edi, [ebp - 0xa4]
mov dword [ebp - 0x74], 0xa28367ef
rep movsd dword es:[edi], dword [esi]
xor edx, edx
mov dword [ebp - 0x70], 0x644a3902
mov byte [ebp - 0x3a4], dl
mov eax, edx
mov word [ebp - 0x6c], 0x9eb8
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x6a], 0xd3
mov edi, edx
mov dword [ebp - 0x68], 0x7f8e5b41
mov dword [ebp - 0x64], 0x98dfa6d5
mov byte [ebp + eax - 0x520], al
inc eax
cmp eax, 0x100
jb 0x4236c3
mov esi, edx
xor edx, edx
mov bl, byte [ebp + esi - 0x520]
push 0x28
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0xa4]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x520]
mov byte [ebp + esi - 0x520], al
inc esi
mov byte [ebp + edi - 0x520], bl
cmp esi, 0x100
jb 0x4236d4
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x520]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x520]
mov byte [ebp + edi - 0x520], al
mov byte [ebp + ebx - 0x520], cl
movzx eax, byte [ebp + edi - 0x520]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x520]
xor al, byte [ebp + esi - 0x78]
mov byte [ebp + esi - 0x3f4], al
inc esi
cmp esi, 0x18
jb 0x42371c
mov ebx, dword [ebp - 0x48]
xor eax, eax
mov byte [ebp - 0x3dc], al
lea eax, [ebx + 0x400]
cmp eax, 0xc800
ja 0x423921
call fcn.00420599
mov ecx, dword [ebp - 0xc]
xor eax, eax
mov edx, eax
imul eax, ecx, 0xafab530b
mov dword [0x435a58], eax
xor eax, eax
inc edx
cmp word [edx*2 + str.filename_too_long], ax
jne 0x4237a1
cmp edx, 0x1c1a
jne 0x4237c6
lea eax, [ecx - 0x42aa8796]
mov dword [0x435a58], eax
call fcn.00420599
jmp 0x4237d7
or ecx, 0x39765d18
mov dword [0x435a84], ecx
call fcn.00420fb2
xor eax, eax
push 0x400
push eax
lea eax, [ebp - 0xb54]
push eax
call fcn.0040b587
add esp, 0xc
lea eax, [ebp - 0x4c]
xor ecx, ecx
lea edx, [ebp - 0x3bc]
push ecx
push eax
push ecx
push ecx
push ecx
push dword [ebp - 0x54]
inc ecx
call fcn.0040a2e6
call eax
test eax, eax
je 0x42386d
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x42386d
xor esi, esi
lea ecx, [ebp - 0x58]
push esi
push ecx
mov ecx, 0x3ff
lea edx, [ebp - 0x3f4]
cmp eax, ecx
cmova eax, ecx
xor ecx, ecx
push eax
lea eax, [ebp - 0xb54]
inc ecx
push eax
push dword [ebp - 0x54]
call fcn.0040a2e6
call eax
test eax, eax
je 0x42386d
mov eax, dword [ebp - 0x58]
test eax, eax
je 0x42386d
cmp dword [ebp + 8], esi
je 0x423861
mov ecx, dword [ebp + 8]
lea edx, [ebp - 0xb54]
call fcn.0040ba5f
mov eax, dword [ebp - 0x58]
add ebx, eax
mov dword [ebp - 0x48], ebx
xor ebx, ebx
jmp 0x4234bf
cmp dword [ebp - 0x50], 0
jne 0x42387e
mov ebx, dword [0x435a58]
jmp 0x4232a9
call fcn.00420b2e
mov esi, dword [0x435a84]
xor eax, eax
mov edi, eax
xor esi, 0x5cd4a600
inc edi
cmp word [edi*2 + str.filename_too_long], ax
jne 0x42388d
mov ecx, str.filename_too_long
mov dword [0x435a84], esi
call fcn.0041fed9
cmp edi, 0x1b60
jne 0x4238c4
xor esi, 0x784030e4
mov dword [0x435a58], esi
jmp 0x4238cf
imul eax, esi, 0xd2278007
mov dword [0x435a84], eax
push dword [ebp - 0x60]
xor esi, esi
lea edx, [ebp - 0x2f8]
inc esi
mov ecx, esi
call fcn.0040a2e6
call eax
push dword [ebp - 0x54]
lea edx, [ebp - 0x314]
mov ecx, esi
call fcn.0040a2e6
call eax
push dword [ebp - 0x38]
lea edx, [ebp - 0x330]
mov ecx, esi
call fcn.0040a2e6
call eax
push dword [ebp - 0x34]
lea edx, [ebp - 0x34c]
mov ecx, esi
call fcn.0040a2e6
call eax
mov eax, ebx
jmp 0x424083
mov esi, str.not_supported
mov dword [ebp - 0x78], 0xe281b368
lea edi, [ebp - 0xb4]
mov dword [ebp - 0x74], 0x25fcc2d
push 0xc
pop ecx
movsd dword es:[edi], dword [esi]
xor ebx, ebx
push 0x66
pop eax
mov dword [ebp - 0x70], 0xca2c649e
mov edx, ebx
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x6c], 0x80084e67
mov dword [ebp - 0x68], 0xf163fe58
mov dword [ebp - 0x64], 0xadad34fd
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x44], ebx
movsw word es:[edi], word [esi]
mov esi, 0x42e090
lea edi, [ebp - 0x554]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp ax, word [ebp - 0x554]
jne 0x4239ab
mov ecx, eax
mov eax, ebx
test cx, cx
je 0x4239a8
cmp word [ebp + eax - 0x554], bx
je 0x4239a8
inc edx
lea eax, [edx + edx]
movzx ecx, word [eax + str.filename_too_long]
cmp cx, word [ebp + eax - 0x554]
je 0x423984
mov dword [ebp - 0x44], edx
mov ebx, str.EventThrottleMaxEvents
mov ecx, ebx
call fcn.0041fed9
mov esi, dword [ebp - 0xc0]
cmp esi, dword [ebp - 0x44]
jae 0x423a02
mov edi, dword [ebp - 8]
push ebx
mov edx, ebx
call fcn.00420976
pop ecx
cmp esi, 0x1536
jne 0x4239ee
mov eax, dword [ebp - 0xc]
xor eax, 0x5d763d97
push ecx
push ecx
mov edx, eax
mov dword [ebp - 8], eax
call fcn.0041fe63
pop ecx
pop ecx
mov edi, edx
lea eax, [edi + 0x658cf035]
mov dword [ebp - 0xc], eax
call fcn.004207cb
inc esi
cmp esi, dword [ebp - 0x44]
jb 0x4239c5
mov edx, dword [ebp - 8]
push ecx
mov ecx, edx
call fcn.0042041e
pop ecx
push 0xb
pop ecx
mov esi, 0x42ddd0
lea edi, [ebp - 0x420]
rep movsd dword es:[edi], dword [esi]
push 0x45
xor eax, eax
pop ecx
mov ebx, eax
cmp cx, word [ebp - 0x420]
jne 0x423a54
xor esi, esi
test cx, cx
je 0x423a54
cmp word [ebp + eax - 0x420], si
je 0x423a54
inc ebx
lea eax, [ebx + ebx]
movzx ecx, word [eax + str.EventThrottleMaxEvents]
cmp cx, word [ebp + eax - 0x420]
je 0x423a30
movzx eax, byte [ebp + ebx*2 - 0x420]
movzx ecx, byte [ebx*2 + str.EventThrottleMaxEvents]
sub ecx, eax
cmp ecx, 0x410
jae 0x423a79
lea eax, [edx + 0x66e13b66]
mov dword [ebp - 0xc], eax
jmp 0x423a87
and edx, 0x83b9c2c4
mov dword [ebp - 8], edx
call fcn.00420b8e
xor ecx, ecx
mov edi, ecx
mov eax, ecx
mov byte [ebp + eax - 0x520], al
inc eax
cmp eax, 0x100
jb 0x423a8d
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x520]
push 0xd
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0xb4]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x520]
mov byte [ebp + esi - 0x520], al
inc esi
mov byte [ebp + edi - 0x520], bl
cmp esi, 0x100
jb 0x423a9e
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
xor dword [ebp - 0xc], 0x66647e84
movzx edi, al
mov cl, byte [ebp + edi - 0x520]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x520]
mov byte [ebp + edi - 0x520], al
mov byte [ebp + ebx - 0x520], cl
movzx eax, byte [ebp + edi - 0x520]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x520]
xor al, byte [ebp + esi - 0x78]
mov byte [ebp + esi - 0x368], al
inc esi
cmp esi, 0x18
jb 0x423ae6
mov edx, dword [ebp - 8]
xor ebx, ebx
push ecx
push ecx
mov byte [ebp - 0x350], bl
mov dword [ebp - 0xe0], 0xc5bba082
mov dword [ebp - 0xdc], 0x88d39d87
mov dword [ebp - 0xd8], 0x9e50b5e7
mov dword [ebp - 0xd4], 0x27d6e2cc
mov dword [ebp - 0xd0], 0x27aafb69
mov dword [ebp - 0xcc], 0x8570c5b
call fcn.0041fe63
mov edi, ebx
mov ebx, dword [ebp - 0xc]
xor ebx, 0x62027375
pop ecx
mov dword [ebp - 8], ebx
mov dword [0x435a58], ebx
xor ebx, ebx
pop ecx
inc edi
cmp word [edi*2 + str.filename_too_long], bx
jne 0x423ba3
call fcn.00420d9a
mov esi, dword [ebp - 0xc0]
cmp esi, edi
jae 0x423be9
mov eax, dword [ebp - 0xc]
add eax, 0xee2cbae1
mov dword [ebp - 8], eax
mov dword [0x435a58], eax
cmp esi, 0x288
jne 0x423bda
call fcn.00420fb2
mov ecx, str.EventThrottleMaxEvents
call fcn.0041fed9
inc esi
cmp esi, edi
jb 0x423bcd
mov esi, 0x42c768
lea edi, [ebp - 0xc8]
mov eax, ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, ebx
mov byte [ebp + eax - 0x20c], al
inc eax
cmp eax, 0x100
jb 0x423bfb
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x20c]
push 0xb
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0xc8]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x20c]
mov byte [ebp + esi - 0x20c], al
inc esi
mov byte [ebp + edi - 0x20c], bl
cmp esi, 0x100
jb 0x423c0c
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x20c]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x20c]
mov byte [ebp + edi - 0x20c], al
mov byte [ebp + ebx - 0x20c], cl
movzx eax, byte [ebp + edi - 0x20c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x20c]
xor al, byte [ebp + esi - 0xe0]
mov byte [ebp + esi - 0x384], al
inc esi
cmp esi, 0x18
jb 0x423c54
mov esi, str.protocol_error
lea edi, [ebp - 0xb4]
xor eax, eax
mov byte [ebp - 0x36c], al
mov ebx, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
cmp byte [ebp - 0xb4], 0x28
jne 0x423cf1
push 0x28
pop eax
test al, al
je 0x423cf1
cmp byte [ebp + ebx - 0xb4], 0
je 0x423cf1
call fcn.00420191
mov al, byte [ebx + 0x432381]
inc ebx
cmp al, byte [ebp + ebx - 0xb4]
je 0x423cce
call fcn.004207cb
movzx eax, byte [ebp + ebx - 0xb4]
movzx ecx, byte [ebx + 0x432380]
sub ecx, eax
cmp ecx, 0x272
ja 0x423d1f
mov eax, dword [ebp - 8]
and eax, 0x441a4e55
mov dword [ebp - 8], eax
mov dword [0x435a58], eax
push 0x16
pop eax
push 5
pop ecx
mov esi, 0x42ccc4
mov byte [ebp - 0xf0], al
lea edi, [ebp - 0x28]
mov dword [ebp - 0xfc], 0xbad285c8
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov dword [ebp - 0xf8], 0x2b1dd934
mov dword [ebp - 0xf4], 0x991a4b8d
mov eax, ecx
mov dword [ebp - 0xef], 0x9887c592
movsw word es:[edi], word [esi]
mov dword [ebp - 0xeb], 0xbc427cf1
mov word [ebp - 0xe7], 0xde8e
mov byte [ebp - 0xe5], 0x11
movsb byte es:[edi], byte [esi]
mov edi, ecx
mov byte [ebp + eax - 0x654], al
inc eax
cmp eax, 0x100
jb 0x423d80
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x654]
push 0x16
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x28]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x654]
mov byte [ebp + esi - 0x654], al
inc esi
mov byte [ebp + edi - 0x654], bl
cmp esi, 0x100
jb 0x423d91
xor eax, eax
mov ebx, eax
mov edi, eax
mov esi, eax
imul eax, dword [ebp - 8], 0x14930b58
mov dword [ebp - 0xc], eax
mov dword [0x435a84], eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x654]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x654]
mov byte [ebp + edi - 0x654], al
mov byte [ebp + ebx - 0x654], cl
movzx eax, byte [ebp + edi - 0x654]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x654]
xor al, byte [ebp + esi - 0xfc]
mov byte [ebp + esi - 0x2a0], al
inc esi
cmp esi, 0x18
jb 0x423de5
push 0x66
pop eax
mov byte [ebp - 0x8f], al
xor ecx, ecx
push 0xd
pop eax
mov byte [ebp - 0x7d], al
mov edi, ecx
mov byte [ebp - 0x288], cl
mov eax, ecx
mov byte [ebp - 0x90], 0xa4
mov dword [ebp - 0x8e], 0xacb8e9f1
mov dword [ebp - 0x8a], 0x2e234f71
mov dword [ebp - 0x86], 0x31ae4fc5
mov dword [ebp - 0x82], 0x538f34bd
mov byte [ebp - 0x7e], pe_nt_image_headers32
mov dword [ebp - 0x7c], 0x6929b59a
mov dword [ebp - 0xc4], 0x5c536c25
mov dword [ebp - 0xc0], 0x536c25
mov byte [ebp + eax - 0x754], al
inc eax
cmp eax, 0x100
jb 0x423ea1
mov esi, ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x754]
push 7
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0xc4]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x754]
mov byte [ebp + esi - 0x754], al
inc esi
mov byte [ebp + edi - 0x754], bl
cmp esi, 0x100
jb 0x423eb2
mov ebx, dword [ebp - 0xc]
xor eax, eax
mov esi, eax
mov dword [ebp - 0x10], eax
mov edx, eax
lea eax, [edx + 1]
movzx edx, al
mov dword [ebp - 0x50], edx
mov cl, byte [ebp + edx - 0x754]
movzx eax, cl
mov dword [ebp - 0x5c], eax
add eax, esi
movzx esi, al
mov dword [ebp - 0xc0], esi
mov al, byte [ebp + esi - 0x754]
mov byte [ebp + edx - 0x754], al
mov byte [ebp + esi - 0x754], cl
call fcn.00420b8e
xor eax, eax
lea edi, [ebp - 0x10c]
push 0xa
mov dword [ebp - 0x44], eax
mov esi, 0x42ec9c
pop eax
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
push 0x66
pop eax
movsw word es:[edi], word [esi]
cmp ax, word [ebp - 0x10c]
jne 0x423f9e
xor ebx, ebx
mov ecx, eax
mov eax, ebx
test cx, cx
je 0x423f9b
cmp word [ebp + eax - 0x10c], bx
je 0x423f9b
mov eax, str.EventThrottleMaxEvents
push eax
mov edx, eax
call fcn.00420976
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
add eax, eax
pop ecx
movzx ecx, word [eax + str.filename_too_long]
cmp cx, word [ebp + eax - 0x10c]
je 0x423f64
mov ebx, dword [ebp - 0xc]
call fcn.00420599
mov ecx, dword [ebp - 0x44]
movzx eax, byte [ebp + ecx*2 - 0x10c]
movzx ecx, byte [ecx*2 + str.filename_too_long]
sub ecx, eax
cmp ecx, 0x526
jne 0x423fe3
mov eax, dword [ebp - 8]
and eax, 0x90ebbb70
mov dword [ebp - 0xc], eax
mov dword [0x435a84], eax
mov eax, str.EventThrottleMaxEvents
push eax
mov edx, eax
call fcn.00420976
mov ebx, dword [ebp - 0xc]
pop ecx
jmp 0x423ff1
lea eax, [ebx - 0x54989dac]
mov dword [ebp - 8], eax
mov dword [0x435a58], eax
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0xc0]
movzx eax, byte [ebp + edx - 0x754]
add eax, dword [ebp - 0x5c]
movzx eax, al
mov al, byte [ebp + eax - 0x754]
xor al, byte [ebp + ecx - 0x90]
mov byte [ebp + ecx - 0x278], al
inc ecx
mov dword [ebp - 0x10], ecx
cmp ecx, 0x18
jb 0x423efe
push dword [ebp - 0x60]
xor ebx, ebx
lea edx, [ebp - 0x368]
xor eax, eax
inc ebx
mov ecx, ebx
mov byte [ebp - 0x260], al
call fcn.0040a2e6
call eax
push dword [ebp - 0x54]
lea edx, [ebp - 0x384]
mov ecx, ebx
call fcn.0040a2e6
call eax
push dword [ebp - 0x38]
lea edx, [ebp - 0x2a0]
mov ecx, ebx
call fcn.0040a2e6
call eax
push dword [ebp - 0x34]
lea edx, [ebp - 0x278]
mov ecx, ebx
call fcn.0040a2e6
call eax
mov eax, dword [ebp - 0x48]
pop edi
pop esi
pop ebx
leave
ret