Function at 0x515770
Capabilities:
Encode data using xor

Disassembly:
jo 0x514ee7
imul esp, dword [ebx + 0x73], 0x10000
add dl, byte [ecx + 0x200514e]
add byte [edx], al
add byte [eax], al
add byte [eax + 0x56], bl
inc ecx
add byte [edi + eax + 0xba00052], bh
push edx
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4806ffff], al
popal
outsb dx, byte [esi]
insb byte es:[edi], dx
add byte gs:[eax], al
mov eax, 0x300514e
andps xmm2, xmmword [edi + 0x49]
inc ebx
dec ecx
insd dword es:[edi], dx
popal
inc esi
outsd dx, dword [esi]
jb 0x514f34
popal
je 0x514ecb
add byte [eax], al
add byte [eax], al
push es
add byte [eax], al
add byte [esi], al
add byte [eax], al
add byte [esi + ecx*2 + 0x77060051], dh
imul esp, dword [esi + 0x42], 0x7706706d
imul esp, dword [esi + 0x50], 0x7707676e
imul esp, dword [esi + 0x4a], 0x6676570
dec dx
jo 0x514f50
push es
ja 0x514f58
inc di
imul esp, dword [esi + 7], 0x54666977
imul esp, dword [esi + 0x66], 0x6669770a
push edi
dec ebp
push eax
push 0x86f746f
ja 0x514f72
dec di
dec edi
je 0x514f75
jb 0x514f1c
push esi
arpl word [esi + ebp + 0x47], bp
jb 0x514f78
jo 0x514f81
imul esp, dword [ebx + 0x73], 0xc08b0002
add al, byte [eax]
mov eax, eax
inc dword [0x8c3eac]
jne 0x514f32
mov eax, 0x8c3ea8
call fcn.0040ee58
ret
mov word [edi + 0x51], cs
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
push eax
push ecx
add al, ch
push edx
push ecx
add byte [edx], dl
push eax
push ecx
add dh, cl
push eax
push ecx
add byte [eax], al
add byte [eax], al
add byte [ecx + edx*2], cl
add byte [eax], al
add byte [eax], al
or al, 0x51
push ecx
add byte [eax + eax], bl
pop esp
add byte [eax], al
add ah, dh
and dword [ecx], edx
push 0x18005199
lea eax, [eax]
pop eax
nop
inc eax
add byte [eax - 0x70], dl
inc eax
add al, bh
aas
dec ebx
add byte [eax + edx*4 + 0x40], dh
nop
inc eax
add byte [eax - 0x70], bh
js 0x514f0a
inc eax
add byte [eax + edx*4 + 0x40], ch
add byte [edx + ecx*4 - 0x7557ffc0], cl
mov al, byte [eax]
test al, 0x8a
inc eax
add byte [eax + 0xf], al
push edx
add byte [esi + ecx + 0x52], ah
add ah, al
xchg edi, eax
push ecx
add al, bl
or al, 0x52
add byte [eax + 0x58004b40], cl
xchg edi, eax
push ecx
add byte [eax], dh
adc dword [edx], edx
sbb byte [eax - 0x67d7ffaf], bl
push ecx
add byte [ecx + edx + 0x52], bl
add byte [eax + 0x11], bh
push edx
add byte [eax - 0x5fffae67], bl
cdq
push ecx
add byte [ecx + edx + 0x52], bh
add byte [edx + ebx*4], ch
push ecx
add byte [eax + 0x17], ch
push edx
add byte [edx + ebx*4 - 0x653fffaf], cl
push ecx
add byte [edi + edx + 0x52], dh
add al, dl
lcall 0x51, 0x999c0051
pushfd
push cs
push edx
add byte [ecx + ebx*4 - 0x65cbffaf], ch
push ecx
add byte [eax - 0x1fffae67], ch
adc dword [edx], edx
cmp al, 0x13
push edx
add al, dh
adc al, 0x52
add byte [ebp + edx - 0x655bffae], cl
push ecx
add byte [esi], cl
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [esi + edi*8 + 0x38004e], bl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
or byte [eax], al
add ah, ah
adc byte [eax], al
sub byte [eax], al
add byte [eax], al
push es
inc esi
push edi
imul esp, dword [esp + esi*2 + 0x68], 0xe4000002
adc byte [eax], al
sub al, 0
add byte [eax], al
pop es
inc esi
dec eax
imul esp, dword gs:[edi + 0x68], 0x274
dec eax
inc esi
push ecx
add byte [eax], dh
add byte [eax], al
add byte [edi], al
inc esi
inc edx
imul esi, dword [ebp + ebp*2 + 0x61], 0x270
mov byte [ecx + 0x49], ch
add byte [eax + eax], dh
add byte [eax], al
add eax, 0x74614446
popal
add al, byte [eax]
add byte [esi + edi*8 + 0x38004e], bl
add byte [eax], al
or al, byte [esi + 0x57]
imul esp, dword [ebx + 0x42], 0x616d7469
jo 0x51507a
add byte [eax], al
mov ah, 0x4e
push ecx
add byte [eax + eax], bh
add byte [eax], al
or al, 0x46
dec ecx
insd dword es:[edi], dx
popal
inc esi
outsd dx, dword [esi]
jb 0x5150fa
popal
je 0x515092
add byte [eax], al
jl 0x5150a7
inc eax
add byte [eax], al
add byte [eax], al
pop ss
inc esi
inc ebp
outsb dx, byte [esi]
arpl word [edi + 0x64], bp
jb 0x5150e7
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x515109
popal
imul ebp, dword [esi + 0x65], 0x726f4672
insd dword es:[edi], dx
popal
je 0x5150b5
add byte [eax], al
add byte [eax], dl
inc eax
add byte [eax], dl
add byte [eax], al
push cs
inc esi
inc esi
outsd dx, dword [esi]
jb 0x515130
popal
je 0x515109
push 0x65676e61
add al, byte fs:[eax]
add byte [eax], al
pop es
add byte [esi], dl
push ecx
push ecx
add byte [eax + eax + 0x14], cl
add byte [ecx + edx*2], bh
push ecx
add byte [ebp], cl
invalid
add byte [edx], al
add byte [ecx + 0x4a005151], bl
add byte [eax], bl
add bh, dl
push ecx
push ecx
add byte [edx], cl
sbb dword [eax], eax
adc edx, dword [edx + 0x51]
add byte [edx], cl
sbb al, byte [eax]
jl 0x515156
push ecx
add byte [edx], cl
sbb eax, dword [eax]
sbb eax, 0x57540900
add byte [0x57540900], bl
dec ecx
inc ebx
dec ecx
insd dword es:[edi], dx
popal
add byte es:[si + 0x520e], bl
add byte [esi], al
inc ebx
jb 0x515185
popal
je 0x515188
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add dword [eax], ecx
in al, 0x52
push ecx
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
daa
add byte [eax + 0xf], al
push edx
add byte [edi], al
inc esp
jae 0x5151bb
jb 0x5151b8
jns 0x51514e
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [ecx], al
or ah, ah
push edx
add byte [eax], al
or byte [eax], al
add dword [eax], ecx
in al, 0x52
push ecx
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
add al, bl
or al, 0x52
add byte [esi], al
inc ecx
jae 0x5151e0
imul esp, dword [edi + 0x6e], 3
add byte [eax], al
or byte [eax], al
add cl, byte [eax]
in al, 0x52
push ecx
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
or byte [esi + ecx], cl
or al, 0xe
dec ecx
add byte [ecx], al
add byte [esi], al
push ebx
outsd dx, dword [esi]
jne 0x515205
arpl word [ebp + 2], sp
add byte [edx], al
add byte [esi], bh
add al, ah
adc dword [edx], edx
push cs
dec esp
outsd dx, dword [esi]
popal
inc esi
jb 0x515216
insd dword es:[edi], dx
push ebx
je 0x51521d
popal
insd dword es:[edi], dx
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add cl, byte [eax]
in al, 0x52
push ecx
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
or byte [eax + 0x5e], cl
dec ecx
add byte [ecx], al
add byte [esi], al
push ebx
je 0x515242
popal
insd dword es:[edi], dx
add al, byte [eax]
add al, byte [eax]
cmp al, 0
cmp al, 0x13
push edx
add byte [ebx + edx*2], cl
popal
jbe 0x515247
push esp
outsd dx, dword [esi]
push ebx
je 0x515259
popal
insd dword es:[edi], dx
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add cl, byte [eax]
in al, 0x52
push ecx
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
or byte [eax + 0x5e], cl
dec ecx
add byte [ecx], al
add byte [esi], al
push ebx
je 0x51527e
popal
insd dword es:[edi], dx
add al, byte [eax]
add al, byte [eax]
imul eax, dword [eax], 0x5214f0
pop ss
adc al, 0x52
add byte [edi], dl
dec esp
outsd dx, dword [esi]
popal
inc esi
jb 0x515290
insd dword es:[edi], dx
inc ebx
insb byte es:[edi], dx
imul esi, dword [eax + 0x62], 0x6472616f
inc esi
outsd dx, dword [esi]
jb 0x51529c
popal
je 0x515235
add byte [eax], al
add byte [eax], al
add byte [eax + eax], cl
add byte [eax], al
or al, 0
add al, 8
in al, 0x52
push ecx
add byte [eax], al
add byte [ebx + edx*2], al
push ebx
insb byte es:[edi], dx
add al, byte [eax]
add ah, cl
adc byte [eax], al
add dword [eax], eax
pop es
inc ecx
inc esi
outsd dx, dword [esi]
jb 0x5152c2
add byte [eax], al
int3
popal
je 0x51525a
add byte [eax], al
add byte [eax + 0x11], dh
jo 0x51526d
inc eax
add byte [edx], al
add byte [0x74614441], al
popal
add al, byte [eax]
add byte [eax + 0x8004156], cl
add byte [eax], cl
inc ecx
push eax
or byte [eax], al
or byte [ecx + 0x50], al
popal
insb byte es:[edi], dx
je 0x5152eb
add al, byte gs:[eax]
add al, byte [eax]
add byte [si + 0x5215], cl
add byte [0x65766153], dl
mov word [0x53150052], ss
popal
jbe 0x5152ec
push esp
outsd dx, dword [esi]
inc ebx
insb byte es:[edi], dx
imul esi, dword [eax + 0x62], 0x6472616f
jb 0x5152f6
inc esi
outsd dx, dword [esi]
jb 0x515303
popal
je 0x51529c
add byte [eax], al
add byte [eax], al
add byte [eax + eax], cl
add byte [eax], al
or al, 0
add al, 8
in al, 0x52
push ecx
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add esp, ecx
adc byte [eax], al
add dword [eax], eax
pop es
inc ecx
inc esi
outsd dx, dword [esi]
jb 0x515329
popal
je 0x5152c1
add byte [ecx], al
jo 0x5152d4
adc dword [eax], eax
add al, byte [eax]
add eax, 0x74614441
inc eax
add byte [edx], al
add byte [0x74614441], al
popal
add al, byte [eax]
add dword [eax + 0x8004156], ecx
add byte [eax], cl
inc ecx
push eax
or byte [eax], al
or byte [ecx + 0x50], al
popal
insb byte es:[edi], dx
je 0x515352
add al, byte gs:[eax]
add al, byte [eax]
add al, ch
push edx
push ecx
add byte [edi], al
or dword [edi + edx*2 + 0x49], edx
push edi
dec ecx
inc ebx
dec ecx
insd dword es:[edi], dx
popal
mov word gs:[bx + 0x51], cs
add byte [esi + 0x51], cl
add byte [eax], al
add byte [esi + edx*2], cl
arpl word [esi + ebp + 0x47], bp
jb 0x515366
jo 0x51536f
imul esp, dword [ebx + 0x73], 0x30000
add ah, byte [edi]
push ebx
push ecx
add byte [edx], al
add byte [edx], al
dec eax
push ebx
push ecx
add byte [edx], al
add byte [edx], al
outsb dx, byte [esi]
push ebx
push ecx
add byte [edx], al
add byte [edx], al
add byte [eax], al
add byte [esi + edi*8 + 0x1164004e], bl
push edx
dec esi
add byte [ecx + edx + 0x52], ah
add byte [edi + edx], al
push edx
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4806ffff], al
popal
outsb dx, byte [esi]
insb byte es:[edi], dx
mov ah, 0x4e
push ecx
add byte [eax + eax], bh
add bh, bh
jo 0x515368
push edx
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x490bffff], al
insd dword es:[edi], dx
popal
inc esi
inc esi
outsd dx, dword [esi]
jb 0x5153d9
popal
je 0x5153eb
adc eax, dword [eax]
inc eax
add byte [eax], al
invalid
add byte [eax], al
add byte [edi + edx + 0x40], cl
add byte [eax], dl
lea eax, [eax]
sbb byte [ebp - 0x6fa7ffc0], cl
inc eax
add byte [eax - 0x70], dl
inc eax
add byte [eax - 0x70], dh
inc eax
add byte [eax + edx*4 + 0x40], dh
add byte [eax - 0x70], bh
inc eax
add byte [eax + edx*4 + 0x40], ch
add byte [edx + ecx*4 - 0x7557ffc0], cl
inc eax
add al, al
push edi
push ecx
add byte [edx + ebx*2 + 0x51], ah
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx], al
add byte [edx], al
cwde
not byte [eax]
add al, 0
add byte [eax], al
pop es
push edx
jae 0x515472
imul esi, dword [ebx + 0x74], 0xfc020002
push esp
inc ecx
add byte [eax], cl
add byte [eax], al
add byte [0x636f4c46], al
imul eax, dword [edx], 0
add cl, ah
adc byte [eax], al
and byte [eax], al
add byte [eax], al
or edx, dword [edx + 0x65]
jae 0x51548e
popal
je 0x5154ae
push ebx
imul edi, dword [edx + 0x65], 2
or byte [eax], al
stosb byte es:[edi], al
push esp
push ecx
add byte [eax + eax - 0xc], al
jmp esi
add byte [edx], al
hlt
call [ebp + 0x56]
push ecx
add byte [edx], al
hlt
push ecx
add byte [esi], al
inc ebx
jb 0x515519
popal
je 0x51551c
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add cl, byte [eax]
test byte [esi + 0x51], dl
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add ah, cl
adc byte [eax], al
add al, byte [eax]
or al, 0x41
push edx
jae 0x51551f
popal
je 0x51553f
push ebx
imul edi, dword [edx + 0x65], 0x20002
daa
add al, al
push edi
push ecx
add byte [edi], al
inc esp
jae 0x515565
jb 0x515562
jns 0x5154f8
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [ecx], al
or byte [esi + edx*2 + 0x51], al
add al, 0x53
add byte [eax], al
or byte [eax], al
add dword [eax], ecx
test byte [esi + 0x51], dl
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
add ah, bh
push edi
push ecx
add byte [0x6f6c6c41], cl
arpl word [edx + 0x65], dx
jae 0x51558c
push edx
jae 0x51558c
outsd dx, dword [esi]
jne 0x515591
arpl word [ebp + 3], sp
add byte [eax + 0x80050f6], bl
add byte [edx], al
or byte [esi + edx*2 + 0x51], al
add al, 0x53
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
add byte [eax], al
add byte [ecx], al
add byte [edi], al
pop es
push edx
jae 0x515588
popal
je 0x5155a8
add al, byte [eax]
add al, byte [eax]
add byte ds:[ecx + ebx*2], cl
push ecx
add byte [esi + eax*2], cl
jb 0x5155ba
push edx
jae 0x5155c9
jne 0x5155ce
arpl word [ebp + 3], sp
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [eax], al
or byte [eax], al
add cl, byte [eax]
test byte [esi + 0x51], dl
add byte [eax], al
add byte [ebx + edx*2], al
add byte [edx], al
or byte [esi + edx*2 + 0x51], al
add al, 0x53
insb byte es:[edi], dx
add al, byte [eax]
add byte [eax + 0x10050f6], bl
add byte [eax], cl
push edx
jae 0x5155f0
jne 0x5155f5
arpl word [ebp + 2], sp
add byte [edx], al
add byte [edi], dl
fcomp qword [ecx + 0x51]
pop ecx
push ecx
add byte [esi], cl
inc ebx
push 0x65676e61
push edx
jae 0x515609
jne 0x51560e
arpl word [ebp + 3], sp
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [ebx], al
or byte [esi + edx*2 + 0x51], al
add al, 0x53
test byte [esi + 0x51], dl
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
or byte [eax + edi*8 + 0x50], ch
add byte [ecx], al
add byte [esi], cl
add dword [eax], eax
push cs
inc edi
jb 0x515621
jo 0x51562a
imul esp, dword [ebx + 0x73], 0x656a624f
arpl word [edx + eax], si
add al, byte [eax]
add byte [eax], al
add byte [edx], al
add byte [edi], al
add byte [eax], al
add byte [eax], al
add al, byte [eax]
pop es
push edx
jae 0x51561d
popal
je 0x51563d
add al, byte [eax]
add al, byte [eax]
pop ecx
add byte [eax + 0x5a], ch
push ecx
add byte [esi], cl
inc ecx
jae 0x51565d
imul esp, dword [edi + 0x6e], 0x6f736552
outsd dx, dword [esi]
jne 0x515665
arpl word [ebp + 3], sp
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [ebx], al
or byte [esi + edx*2 + 0x51], al
add al, 0x53
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add ecx, dword [eax]
test byte [esi + 0x51], dl
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
or byte [eax + edi*8 + 0x50], ch
clc
push eax
add byte [ecx], al
add byte [esi], cl
inc edi
jb 0x515678
jo 0x515681
imul esp, dword [ebx + 0x73], 0x656a624f
bound ebp, qword [edx + 0x65]
arpl word [edx + eax], si
add byte [eax + 0x20050f6], bl
je 0x515625
add byte [eax], al
cwde
not byte [eax]
add al, byte [eax]
or dword [ecx + 0x52], eax
add byte [ecx], cl
inc ecx
push edx
jae 0x5156a0
jne 0x5156a5
arpl word [ebp + 2], sp
add byte [edx], al
add byte [eax + eax], ah
in al, 0x57
push ecx
add byte [esp + ecx*2], al
outsd dx, dword [esi]
arpl word [ebx + 3], bp
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [ecx], al
or byte [esi + edx*2 + 0x51], al
add al, 0x53
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
add al, dh
push edi
push ecx
add byte [esi], al
push ebp
outsb dx, byte [esi]
insb byte es:[edi], dx
outsd dx, dword [esi]
arpl word [ebx + 3], bp
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [ecx], al
or byte [esi + edx*2 + 0x51], al
add byte [eax], al
add al, 0x53
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
add byte [eax + 0x7005156], cl
adc byte [edx + edx*2 + 0x65], dl
jae 0x5156fe
jne 0x515703
arpl word [ebp + 0x4d], sp
popal
outsb dx, byte [esi]
popal
jb 0x5156a7
push esp
push ecx
add ah, al
pop ds
inc eax
add byte [eax], al
add byte [esi + edx*2], cl
push esi
arpl word [esi + ebp + 0x47], bp
insb byte es:[edi], dx
inc edi
jb 0x51570d
jo 0x515716
imul esp, dword [ebx + 0x73], 0
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [edi + edx*2], dl
push ecx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], bh
push edi
push ecx
add byte [eax], al
add byte [eax], al
add byte [eax], bl
push edi
push ecx
add byte [eax], al
add byte [eax], al
add byte [esi], bl
push edi
push ecx
add byte [eax], ch
add byte [eax], al
add byte [ebx + edx*2 - 0x72efffaf], dh
inc eax
add byte [eax], bl
lea eax, [eax]
pop eax
nop
inc eax
add byte [eax - 0x70], dl
inc eax
add byte [eax - 0x70], dh
inc eax
add byte [eax + edx*4 + 0x40], dh
inc eax
add byte [eax - 0x70], bh
inc eax
add byte [eax + edx*4 + 0x40], ch
add byte [edx + ecx*4 - 0x7557ffc0], cl
inc eax
add al, al
push edi
push ecx
add ah, bh
mov al, byte [eax]
rcl byte [edi + 0x51], 0
cld
pop edx
push ecx
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [0x75724254], dl
jae 0x51578d
push edx
jae 0x515798
jne 0x51579d
arpl word [ebp + 0x4d], sp
popal
outsb dx, byte [esi]
popal
jb 0x51576d
push edi
push ecx
add byte [edi], al
adc eax, 0x75724254
jae 0x5157a8
push edx
jae 0x5157b3
jne 0x5157b8
arpl word [ebp + 0x4d], sp
popal
outsb dx, byte [esi]
popal
jb 0x515764
push edi
push ecx
add byte [esi + edx*2 + 0x51], al
or al, 0x56
arpl word [esi + ebp + 0x47], bp
jb 0x5157c2
jo 0x5157cb
imul esp, dword [ebx + 0x73], 0
add al, byte [eax]
add byte [eax], al
mov eax, eax
arpl word [ebx], si
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [ebx - 0x762e7640], cl
ret 0xc031
call fcn.004092b0
mov ebx, edx
mov esi, eax
mov word [esi + 0x20], cx
lea eax, [esi + 8]
dec esi
and byte [ebp - 0x17aff7ba], cl
push ebp
invalid
push eax
call sub.kernel32.dll_InitializeCriticalSection
mov eax, esi
test bl, bl
je 0x5157b8
psubsb mm3, qword [edx + 0x3b]
out dx, eax
jmp dword [edi + ecx*4 + 5]
call fcn.00409308
pop dword fs:[0]
add byte [eax], al
add esp, 0xc
mov eax, esi
pop esi
pop ebx
ret
call fcn.00409358
mov ebx, edx
mov esi, eax
lea eax, [esi + 8]
push eax
call sub.kernel32.dll_DeleteCriticalSection
test bl, bl
jle 0x5157df
mov eax, esi
call fcn.00409300
pop esi
pop ebx
ret