Function at 0x5dd580
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0xf
push 0
push 0
dec ecx
jne 0x5dd589
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x5de37d
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [0x62a6e0], 0xffffffff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x55c]
xor edx, edx
call fcn.00441478
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ec]
call fcn.00457068
cmp dword [eax + 0x14], 0
jne 0x5dd636
mov eax, dword [ebp - 4]
call fcn.005dc564
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ec]
call fcn.00457068
mov edx, dword [eax + 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x52c]
call fcn.004794f0
mov eax, dword [ebp - 4]
add eax, 0x730
call fcn.00404cc0
mov eax, dword [ebp - 4]
add eax, 0x724
call fcn.00404cc0
mov eax, dword [ebp - 4]
add eax, 0x71c
call fcn.00404cc0
mov eax, dword [ebp - 4]
mov byte [eax + 0x700], 1
jmp 0x5de355
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ec]
call fcn.00457068
cmp dword [eax + 0x14], 1
je 0x5dd672
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ec]
call fcn.00457068
cmp dword [eax + 0x14], 2
je 0x5dd672
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ec]
call fcn.00457068
cmp dword [eax + 0x14], 3
jne 0x5dd68b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
mov eax, dword [eax + 0x22c]
call fcn.0045dd7c
jmp 0x5de355
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ec]
call fcn.00457068
cmp dword [eax + 0x14], 3
jle 0x5dd6b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ec]
call fcn.00457068
cmp dword [eax + 0x14], 9
jl 0x5dd6cb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ec]
call fcn.00457068
cmp dword [eax + 0x14], 0x10
jne 0x5ddc82
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3e4]
mov dl, 1
call fcn.0046416c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3e4]
mov dl, 1
call fcn.004792fc
xor eax, eax
push ebp
push 0x5dd91a
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x41c94c]
call fcn.00403e20
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x44]
mov ebx, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov byte [eax + 0x700], 1
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov dword [eax + 0x710], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ec]
mov eax, dword [eax + 0x26c]
call fcn.00455a80
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ec]
call fcn.00457068
call fcn.00454fe8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ec]
mov eax, dword [eax + 0x26c]
call fcn.00455ae0
xor edx, edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x64]
jmp 0x5dd791
push dword [ebx + 8]
push 0x5de394
push dword [ebp - 0xc]
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.0040505c
mov eax, ebx
call fcn.004544e4
mov ebx, eax
mov eax, ebx
call fcn.004544e4
test eax, eax
jne 0x5dd770
mov eax, dword [ebp - 0xc]
mov dl, byte [eax]
mov eax, dword [ebp - 4]
call fcn.005dca38
test al, al
jne 0x5dd819
lea eax, [ebp - 0x2c]
mov ecx, dword [ebp - 0xc]
mov edx, 0x5de3a0
call fcn.00404fe8
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x52c]
call fcn.004794f0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
mov eax, dword [eax + 0x22c]
call fcn.0045dd7c
mov dl, 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x64]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3e4]
xor edx, edx
call fcn.0046416c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3e4]
xor edx, edx
call fcn.004792fc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5de355
mov eax, dword [ebp - 4]
add eax, 0x730
mov edx, dword [ebp - 0xc]
call fcn.00404d14
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 0xc]
call fcn.005dcab4
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
mov eax, dword [eax + 0x22c]
call fcn.0045dda4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ec]
mov eax, dword [eax + 0x26c]
call fcn.00455a80
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
mov eax, dword [eax + 0x22c]
call fcn.0045dd7c
lea edx, [ebp - 0x34]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
cmp dword [ebp - 0x34], 0
jne 0x5dd910
lea eax, [ebp - 0x38]
mov ecx, dword [ebp - 0xc]
mov edx, 0x5de3a0
call fcn.00404fe8
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x52c]
call fcn.004794f0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
mov eax, dword [eax + 0x22c]
call fcn.0045dfd4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ec]
mov eax, dword [eax + 0x26c]
call fcn.00455ae0
mov dl, 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x64]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3e4]
xor edx, edx
call fcn.0046416c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3e4]
xor edx, edx
call fcn.004792fc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5de355
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5dd94b
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x3d8]
mov al, byte [esi + 0x215]
mov byte [ebp - 0x15], al
mov eax, esi
mov dl, 2
mov ecx, dword [eax]
call dword [ecx + 0x128]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x52c]
mov edx, 0x5de3e0
call fcn.004794f0
mov eax, dword [0x5f64d4]
mov eax, dword [eax]
call fcn.004a11ec
xor eax, eax
push ebp
push 0x5ddc44
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x5ddb9d
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x1c]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
lea eax, [ebp - 0x20]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x1c]
call fcn.004051fc
lea eax, [ebp - 0x24]
push eax
mov ecx, 0x10
mov edx, 2
mov eax, dword [ebp - 0x1c]
call fcn.004051fc
lea eax, [ebp - 0x1c]
mov ecx, 0x11
mov edx, 1
call fcn.0040523c
mov eax, dword [ebp - 0x20]
mov edx, 0x5de3fc
call fcn.004050e8
jne 0x5ddad1
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x3ec]
mov eax, edi
call fcn.00457068
mov edx, eax
mov eax, dword [edi + 0x26c]
mov ecx, dword [ebp - 0x1c]
call fcn.00455500
mov edi, eax
mov edx, 0x10
mov eax, edi
call fcn.00453dc8
mov edx, 0x11
mov eax, edi
call fcn.00453e3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ec]
mov eax, dword [eax + 0x26c]
mov ecx, 0x5de408
mov edx, edi
call fcn.00455500
mov edi, eax
or edx, 0xffffffff
mov eax, edi
call fcn.00453dc8
or edx, 0xffffffff
mov eax, edi
call fcn.00453e3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
mov eax, dword [eax + 0x22c]
call fcn.0045dba4
mov edi, eax
mov edx, dword [ebp - 0x1c]
mov eax, edi
call fcn.0045d420
mov eax, dword [edi + 8]
mov edx, 0x5de414
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
mov eax, dword [eax + 0x22c]
mov edx, ebx
call fcn.0045dc88
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ecx, 0xb
xor edx, edx
mov eax, edi
call fcn.0045d6b8
mov eax, dword [ebp - 0x20]
mov edx, 0x5de394
call fcn.004050e8
jne 0x5ddb95
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
mov eax, dword [eax + 0x22c]
call fcn.0045dba4
mov edi, eax
lea eax, [ebp - 0x3c]
push eax
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
call fcn.005dd510
mov eax, dword [ebp - 0x40]
call fcn.00404f9c
add eax, 2
push eax
mov eax, dword [ebp - 0x1c]
call fcn.00404f9c
mov ecx, eax
mov eax, dword [ebp - 0x1c]
pop edx
call fcn.004051fc
mov edx, dword [ebp - 0x3c]
mov eax, edi
call fcn.0045d420
lea edx, [ebp - 0x44]
mov eax, dword [ebp - 0x1c]
call fcn.005dd510
mov edx, dword [ebp - 0x44]
mov eax, dword [edi + 8]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
mov eax, dword [eax + 0x22c]
mov edx, ebx
call fcn.0045dc88
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x24]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x4c]
mov eax, dword [edi + 0x24]
call fcn.0040aa98
mov eax, dword [ebp - 0x4c]
lea edx, [ebp - 0x48]
call fcn.0040998c
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 4]
call fcn.005dcef8
mov ecx, eax
xor edx, edx
mov eax, edi
call fcn.0045d6b8
inc ebx
dec esi
jne 0x5dd9ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
mov eax, dword [eax + 0x22c]
call fcn.0045dc30
lea edx, [ebp - 0x54]
call fcn.00409f54
push dword [ebp - 0x54]
push 0x5de420
push dword [ebp - 0xc]
lea eax, [ebp - 0x50]
mov edx, 3
call fcn.0040505c
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x52c]
call fcn.004794f0
mov edx, 0x5d485c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
mov ecx, 4
call fcn.00461d74
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5ddc4b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
mov dl, byte [ebp - 0x15]
mov ecx, dword [eax]
call dword [ecx + 0x128]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
mov eax, dword [eax + 0x22c]
call fcn.0045dfd4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ec]
mov eax, dword [eax + 0x26c]
call fcn.00455ae0
ret
xor eax, eax
push ebp
push 0x5ddcc4
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x62a708]
call fcn.00422fac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3e4]
xor edx, edx
call fcn.0046416c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3e4]
xor edx, edx
call fcn.004792fc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5ddcce
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ec]
call fcn.00457068
cmp dword [eax + 0x14], 0x21
jle 0x5ddcf6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ec]
call fcn.00457068
cmp dword [eax + 0x14], 0x27
jl 0x5ddd0e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ec]
call fcn.00457068
cmp dword [eax + 0x14], 0x2e
jne 0x5ddf2b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x55c]
mov dl, 1
call fcn.00441478
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5ec]
mov eax, dword [eax + 0x30]
mov edx, 1
call fcn.005991b0
mov dl, 1
call fcn.0059923c
xor edx, edx
mov eax, dword [0x62a6dc]
mov ecx, dword [eax]
call dword [ecx + 0x64]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3e4]
mov dl, 1
call fcn.0046416c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3e4]
mov dl, 1
call fcn.004792fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
mov eax, dword [eax + 0x22c]
call fcn.0045dd7c
xor eax, eax
push ebp
push 0x5dde88
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov byte [eax + 0x700], 0
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov dword [eax + 0x710], edx
mov ebx, dword [ebp - 8]
jmp 0x5dddcb
cmp dword [ebx + 0x14], 0x32
jge 0x5dddc2
push dword [ebx + 8]
push 0x5de394
push dword [ebp - 0xc]
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.0040505c
mov eax, ebx
call fcn.004544e4
mov ebx, eax
mov eax, ebx
call fcn.004544e4
test eax, eax
jne 0x5ddda4
mov byte [0x62a700], 1
mov eax, dword [ebp - 4]
add eax, 0x718
mov edx, dword [ebp - 0xc]
call fcn.00404d14
mov eax, dword [ebp - 4]
add eax, 0x718
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x718]
call fcn.00404f9c
mov ecx, eax
dec ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x718]
mov edx, 1
call fcn.004051fc
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0xc]
call fcn.00404d58
push 1
mov ecx, dword [ebp - 0x10]
mov edx, 0x5de440
mov eax, dword [ebp - 4]
call fcn.005d4194
push 0x5de44c
mov eax, dword [ebp - 4]
push dword [eax + 0x718]
push 0x5de460
lea eax, [ebp - 0x58]
mov edx, 3
call fcn.0040505c
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x52c]
call fcn.004794f0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ec]
call fcn.00457068
call fcn.00454fe8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5de355
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ec]
call fcn.00457068
cmp dword [eax + 0x14], 0x32
jl 0x5de355
xor edx, edx
mov eax, dword [0x62a6dc]
mov ecx, dword [eax]
call dword [ecx + 0x64]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3e4]
mov dl, 1
call fcn.0046416c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3e4]
mov dl, 1
call fcn.004792fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x55c]
mov dl, 1
call fcn.00441478
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5ec]
mov eax, dword [eax + 0x30]
mov edx, 1
call fcn.005991b0
mov dl, 1
call fcn.0059923c
mov eax, dword [ebp - 4]
mov byte [eax + 0x700], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
mov eax, dword [eax + 0x22c]
call fcn.0045dd7c
mov byte [0x62a700], 1
xor eax, eax
mov dword [0x62a6e0], eax
mov eax, dword [ebp - 4]
add eax, 0x71c
call fcn.00404cc0
mov eax, dword [ebp - 4]
add eax, 0x724
call fcn.00404cc0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x52c]
xor edx, edx
call fcn.004794f0
xor eax, eax
push ebp
push 0x5de06b
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ec]
call fcn.00457068
mov eax, dword [eax + 0xc]
lea edx, [eax + 0x104]
lea eax, [ebp - 0x5c]
call fcn.00404f24
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x6e0]
mov edx, 0x5de4b0
mov ebx, dword [eax]
call dword [ebx]
cmp dword [ebp - 0x28], 0
je 0x5de061
lea ecx, [ebp - 0x60]
mov edx, 0x5de4c4
mov eax, dword [ebp - 0x28]
call fcn.00599620
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38c]
call fcn.004eeae4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5de075
push 0x62a6e8
call sub.kernel32.dll_EnterCriticalSection_1
xor eax, eax
push ebp
push 0x5de2a0
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [0x62a700], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ec]
call fcn.00457068
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [0x62a6e4], eax
push 0x5de4d8
lea edx, [ebp - 0x64]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38c]
call fcn.004eeacc
push dword [ebp - 0x64]
push 0x5de4e8
push 0x5de4f4
push 0x5de4e8
lea eax, [ebp - 0x10]
mov edx, 5
call fcn.0040505c
push 0x5de4d8
lea edx, [ebp - 0x6c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38c]
call fcn.004eeacc
push dword [ebp - 0x6c]
push 0x5de4e8
push 0x5de4f4
push 0x5de4e8
lea eax, [ebp - 0x68]
mov edx, 5
call fcn.0040505c
mov eax, dword [ebp - 0x68]
lea edx, [ebp - 0x10]
call fcn.005d2428
xor ebx, ebx
jmp 0x5de1de
push 0x14
call sub.kernel32.dll_Sleep_1
inc ebx
cmp ebx, 0x32
jg 0x5de144
mov eax, dword [0x62a6e4]
cmp byte [eax + 8], 0
jne 0x5de1de
mov byte [0x62a700], 0
push 0
push 0x5de500
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ec]
call fcn.00457068
push dword [eax + 8]
push 0x5de518
lea eax, [ebp - 0x70]
mov edx, 3
call fcn.0040505c
mov edx, dword [ebp - 0x70]
mov ecx, 2
mov eax, dword [ebp - 4]
call fcn.005d4500
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3e4]
xor edx, edx
call fcn.0046416c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3e4]
xor edx, edx
call fcn.004792fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5ec]
mov eax, dword [eax + 0x30]
mov edx, 1
call fcn.005991b0
xor edx, edx
call fcn.0059923c
mov dl, 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x64]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x55c]
xor edx, edx
call fcn.00441478
jmp 0x5de1fd
mov edx, dword [ebp - 0x10]
mov eax, dword [0x62a6e4]
call fcn.00592a64
mov esi, eax
mov eax, dword [ebp - 0x10]
call fcn.00404f9c
cmp esi, eax
jne 0x5de128
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ec]
call fcn.00457068
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
lea edx, [ebp - 0x74]
call fcn.005924cc
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x388]
call fcn.004a4000
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ec]
call fcn.00457068
mov eax, dword [eax + 0xc]
lea edx, [eax + 0x104]
lea eax, [ebp - 0x78]
call fcn.00404f24
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x380]
call fcn.004a4000
push 0
push 0x5de530
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3ec]
call fcn.00457068
push dword [eax + 8]
push 0x5de550
lea eax, [ebp - 0x7c]
mov edx, 3
call fcn.0040505c
mov edx, dword [ebp - 0x7c]
mov ecx, 1
mov eax, dword [ebp - 4]
call fcn.005d4500
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5de34b
push 0x62a6e8
call sub.kernel32.dll_LeaveCriticalSection_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5de384
lea eax, [ebp - 0x80]
mov edx, 0x1a
call fcn.00404ce4
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.00404ce4
ret