Function at 0x52ecb0
Capabilities:
Check if file exists
Create thread
Get file attributes
Resume thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5b4bca
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
push ebx
push esi
push edi
mov eax, dword [0x63a404]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov ecx, dword [esi + 0xa0]
call fcn.00544c60
mov ebx, eax
push 0x643f88
mov ecx, ebx
call fcn.00545810
push ebx
lea ecx, [ebp - 0x68]
call fcn.005448d0
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0
call fcn.00545f90
mov edi, eax
mov byte [ebp - 0xd], 1
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
movzx ecx, byte [ebp - 0xd]
xor edx, edx
cmp eax, 0xffffffff
push edi
cmove ecx, edx
mov dword [ebp - 0x24], ecx
call fcn.0056ee0c
mov dword [ebp - 4], 0xffffffff
add esp, 4
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x52ed49
push 2
push eax
call fcn.0056ea89
add esp, 8
cmp byte [ebp - 0x24], 0
je 0x52ed80
mov ecx, ebx
call fcn.005475d0
mov edi, eax
mov ecx, edi
call fcn.005313b0
mov dword [esi + 0x80], eax
test edi, edi
je 0x52ed71
mov edx, dword [edi]
mov ecx, edi
push 1
call dword [edx]
cmp dword [esi + 0x80], 0
je 0x52ed80
mov byte [ebp - 0xd], 1
jmp 0x52ed8e
mov ecx, esi
call fcn.0052ddf0
mov byte [ebp - 0xd], al
test al, al
je 0x52ed95
mov ecx, esi
call fcn.0052d870
test ebx, ebx
je 0x52edc2
mov eax, dword [ebx]
test eax, eax
je 0x52edb0
push 2
push eax
call fcn.0056ea89
add esp, 8
mov dword [ebx], 0
push 8
push ebx
mov dword [ebx + 4], 0
call fcn.0056ea89
add esp, 8
cmp byte [ebp - 0xd], 0
je 0x52f8dc
cmp byte [esi + 0x9f], 0
jne 0x52f8ec
mov ecx, dword [esi + 0x80]
lea eax, [esi + 0xb0]
push eax
push 0x643f98
call fcn.00535dc0
mov ecx, esi
call fcn.0052d180
mov ecx, esi
call fcn.0052d7e0
xor edi, edi
cmp dword [esi + 0xcc], edi
jbe 0x52ee32
cmp edi, dword [esi + 0xcc]
jae 0x52ee29
mov ecx, dword [esi + 0xc8]
test ecx, ecx
je 0x52ee29
mov ecx, dword [ecx + edi*4]
test ecx, ecx
je 0x52ee29
lea edx, [ecx + 8]
call fcn.00530f90
inc edi
cmp edi, dword [esi + 0xcc]
jb 0x52ee10
push 4
call fcn.0056e7bf
add esp, 4
mov dword [ebp - 0x2c], eax
mov ecx, eax
mov dword [ebp - 4], 1
call fcn.00531250
mov ebx, eax
mov dword [ebp - 4], 0xffffffff
push 0x647ba0
mov ecx, dword [ebx]
call fcn.0053cf00
push 0x16
mov dword [ebp - 0x24], 0
mov edi, 0xa
call fcn.0056ea97
push 0xffffffffffffffff
push str.precaching
push 0xb
push eax
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x24]
push eax
call fcn.00584f75
xor ecx, ecx
add esp, 0x18
test eax, eax
cmovne edi, ecx
mov dword [ebp - 0x64], edi
lea eax, [ebp - 0x68]
mov dword [ebp - 4], 2
push eax
push 0x644050
mov ecx, ebx
call fcn.00535dc0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x52eec8
push 2
push eax
call fcn.0056ea89
add esp, 8
call fcn.0054e100
push eax
push 0x643ea8
mov ecx, ebx
call fcn.00535dc0
push ecx
mov ecx, ebx
call fcn.004feb60
mov edx, dword [esi + 0x88]
xor ecx, ecx
mov dword [esi + 0x70], 2
mov dword [ebp - 0x1c], ecx
cmp dword [edx + 4], ecx
jbe 0x52efae
nop dword [eax]
cmp byte [esi + 0x9f], 0
jne 0x52efae
xor eax, eax
mov dword [ebp - 0x20], eax
cmp ecx, dword [edx + 4]
jae 0x52ef23
mov edx, dword [edx]
test edx, edx
je 0x52ef23
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x20], eax
push dword [eax + 4]
lea ecx, [ebp - 0x68]
call fcn.005448d0
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 3
call fcn.00545f90
mov edi, eax
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
push 2
push edi
mov ebx, eax
call fcn.0056ea89
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x68]
cmp ebx, 0xffffffff
sete bl
test eax, eax
je 0x52ef79
push 2
push eax
call fcn.0056ea89
add esp, 8
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
test bl, bl
je 0x52ef98
mov eax, dword [ebp - 0x20]
push dword [eax + 0xc]
mov ecx, dword [eax + 4]
push dword [eax + 8]
call fcn.00548810
add esp, 8
mov ecx, dword [ebp - 0x1c]
mov edx, dword [esi + 0x88]
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, dword [edx + 4]
jb 0x52ef00
push 4
call fcn.0056e7bf
add esp, 4
mov dword [ebp - 0x2c], eax
mov ecx, eax
mov dword [ebp - 4], 4
call fcn.00531250
mov ebx, eax
mov dword [ebp - 4], 0xffffffff
push 0x647ba0
mov ecx, dword [ebx]
call fcn.0053cf00
push 0x1e
mov dword [ebp - 0x24], 0
mov edi, 0xe
call fcn.0056ea97
push 0xffffffffffffffff
push str.start_download
push 0xf
push eax
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x24]
push eax
call fcn.00584f75
xor ecx, ecx
add esp, 0x18
test eax, eax
cmovne edi, ecx
mov dword [ebp - 0x64], edi
lea eax, [ebp - 0x68]
mov dword [ebp - 4], 5
push eax
push 0x644050
mov ecx, ebx
call fcn.00535dc0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x52f044
push 2
push eax
call fcn.0056ea89
add esp, 8
call fcn.0054e100
push eax
push 0x643ea8
mov ecx, ebx
call fcn.00535dc0
push ecx
mov ecx, ebx
call fcn.004feb60
mov eax, dword [esi + 0x88]
xor ecx, ecx
mov dword [esi + 0x70], 3
mov dword [ebp - 0x24], ecx
lea ebx, [ecx + 1]
cmp dword [eax + 4], ecx
jbe 0x52f7cc
nop dword [eax]
cmp byte [esi + 0x9f], 0
jne 0x52f7c7
xor ebx, ebx
mov dword [ebp - 0x18], ebx
cmp ecx, dword [eax + 4]
jae 0x52f0a3
mov eax, dword [eax]
test eax, eax
je 0x52f0a3
mov ebx, dword [eax + ecx*4]
mov dword [ebp - 0x18], ebx
push 4
call fcn.0056e7bf
add esp, 4
mov dword [ebp - 0x30], eax
mov ecx, eax
mov dword [ebp - 4], 6
call fcn.00531250
mov edi, eax
mov dword [ebp - 4], 0xffffffff
push 0x647ba0
mov dword [ebp - 0x14], edi
mov ecx, dword [edi]
call fcn.0053cf00
push dword [ebx + 4]
mov ecx, edi
push 0x644060
call fcn.00535dc0
push dword [ebx]
mov ecx, edi
push 0x643e98
call fcn.00535dc0
push 0x643f70
mov ecx, edi
call fcn.005332d0
mov al, byte [ebx + 0x21]
test al, al
jne 0x52f757
nop word [eax + eax]
cmp dword [ebx + 0x24], 3
jae 0x52f74a
cmp byte [esi + 0x9f], 0
jne 0x52f74a
push ebx
mov ecx, esi
mov byte [esi + 0x9d], 1
call fcn.0052f9d0
push 4
mov ebx, eax
call fcn.0056e7bf
mov dword [ebp - 0x20], eax
push 4
mov dword [ebp - 4], 7
call fcn.0056e7bf
add esp, 8
mov dword [ebp - 0x34], eax
mov ecx, eax
mov byte [ebp - 4], 8
call fcn.00531250
mov edi, eax
mov byte [ebp - 4], 7
push 0x647ba0
mov ecx, dword [edi]
call fcn.0053cf00
mov eax, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
mov dword [eax], edi
test ebx, ebx
je 0x52f18b
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x1c], ecx
jmp 0x52f194
mov eax, dword [esi + 0x84]
mov dword [ebp - 0x1c], eax
mov edi, dword [ebp - 0x18]
xor edx, edx
mov ecx, dword [edi]
mov eax, dword [edi + 4]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], ecx
test ecx, ecx
je 0x52f1dc
test eax, eax
je 0x52f1dc
push 0x78
call fcn.0056e7bf
add esp, 4
mov dword [ebp - 0x38], eax
push dword [ebp - 0x1c]
mov dword [ebp - 4], 9
mov ecx, eax
push dword [ebp - 0x20]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
call fcn.00520800
mov edx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 0x78], edx
mov ecx, dword [edi + 8]
mov eax, dword [edi + 0xc]
mov dword [edx + 0x68], ecx
mov dword [edx + 0x6c], eax
test ebx, ebx
je 0x52f251
mov eax, dword [ebx + 8]
cmp eax, 1
jbe 0x52f236
xor edi, edi
test eax, eax
je 0x52f259
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebx + 0xc]
push dword [ecx + eax + 0x14]
push dword [ecx + eax + 0x10]
push dword [ecx + eax + 0xc]
push dword [ecx + eax + 8]
push dword [ecx + eax + 4]
push dword [ecx + eax]
mov ecx, dword [esi + 0x78]
push edi
call fcn.005214d0
mov ecx, dword [ebp - 0x1c]
inc edi
add ecx, 0x18
mov dword [ebp - 0x1c], ecx
cmp edi, dword [ebx + 8]
jb 0x52f202
jmp 0x52f259
push dword [edi + 0xc]
mov ecx, dword [esi + 0x78]
push dword [edi + 8]
push dword [ebx + 4]
push dword [ebx]
push 0
push 0
push 0
call fcn.005214d0
jmp 0x52f259
mov ecx, dword [esi + 0x78]
call fcn.00521590
mov edi, dword [esi + 0x78]
mov eax, dword [edi + 4]
mov byte [edi + 9], 1
test eax, eax
jne 0x52f28c
push eax
push 4
push edi
push 0x54f620
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
push dword [edi + 0xc]
mov dword [edi + 4], eax
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov eax, dword [edi + 4]
test eax, eax
je 0x52f293
push eax
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov ebx, dword [ebp - 0x18]
mov edi, 5
push 0xc
mov dword [ebp - 0x2c], 0
mov byte [ebx + 0x20], 1
call fcn.0056ea97
push 0xffffffffffffffff
push str.start
push 6
push eax
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00584f75
xor ecx, ecx
add esp, 0x18
test eax, eax
cmovne edi, ecx
mov dword [ebp - 0x4c], edi
mov dword [ebp - 4], 0xa
lea eax, [ebp - 0x50]
push dword [esi + 0x78]
push eax
push dword [ebp - 0x14]
call fcn.0052eb40
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x52f306
push 2
push eax
call fcn.0056ea89
add esp, 8
mov dword [ebp - 0x50], 0
xor al, al
mov dword [ebp - 0x4c], 0
push 0x1c
mov dword [ebp - 0x1c], eax
mov edi, 0xd
mov dword [ebp - 0x2c], 0
call fcn.0056ea97
push 0xffffffffffffffff
push str.state_change
push 0xe
push eax
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00584f75
xor ecx, ecx
add esp, 0x18
test eax, eax
cmovne edi, ecx
mov dword [ebp - 0x44], edi
mov dword [ebp - 4], 0xb
mov ecx, dword [esi + 0x78]
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, eax
call fcn.00544a40
mov edi, eax
test edi, edi
je 0x52f396
push edi
lea ecx, [ebp - 0x48]
call fcn.00545810
mov eax, dword [edi]
test eax, eax
je 0x52f384
push 2
push eax
call fcn.0056ea89
add esp, 8
mov dword [edi], 0
push 8
push edi
mov dword [edi + 4], 0
call fcn.0056ea89
add esp, 8
push dword [esi + 0x78]
lea eax, [ebp - 0x48]
push eax
push dword [ebp - 0x14]
call fcn.0052eb40
mov ecx, dword [esi + 0x78]
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [esi + 0x78]
mov edi, eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x10]
call edx
cmp edx, dword [ebx + 0x14]
jb 0x52f3e9
ja 0x52f3c5
cmp eax, dword [ebx + 0x10]
jbe 0x52f3e9
mov dword [ebx + 0x10], eax
mov ecx, esi
mov dword [ebx + 0x14], edx
push dword [esi + 0x78]
push ebx
call fcn.0052d530
mov ecx, dword [ebp - 0x1c]
test al, al
movzx ecx, cl
mov eax, 1
cmovne ecx, eax
mov dword [ebp - 0x1c], ecx
mov ecx, dword [esi + 0x78]
mov eax, dword [ecx]
call dword [eax + 8]
cmp eax, edi
je 0x52f4b7
push 0x1c
mov dword [ebp - 0x28], 0
mov edi, 0xd
call fcn.0056ea97
push 0xffffffffffffffff
push str.state_change
push 0xe
push eax
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x28]
push eax
call fcn.00584f75
xor ecx, ecx
add esp, 0x18
test eax, eax
cmovne edi, ecx
mov dword [ebp - 0x3c], edi
mov byte [ebp - 4], 0xc
mov ecx, dword [esi + 0x78]
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, eax
call fcn.00544a40
mov edi, eax
test edi, edi
je 0x52f47a
push edi
lea ecx, [ebp - 0x40]
call fcn.00545810
mov eax, dword [edi]
test eax, eax
je 0x52f468
push 2
push eax
call fcn.0056ea89
add esp, 8
mov dword [edi], 0
push 8
push edi
mov dword [edi + 4], 0
call fcn.0056ea89
add esp, 8
push dword [esi + 0x78]
lea eax, [ebp - 0x40]
push eax
push dword [ebp - 0x14]
call fcn.0052eb40
mov ecx, dword [esi + 0x78]
mov eax, dword [ecx]
call dword [eax + 8]
mov edi, eax
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x52f4b0
push 2
push eax
call fcn.0056ea89
add esp, 8
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
push 0xfa
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [esi + 0x78]
mov eax, dword [ecx + 0x70]
cmp eax, 5
je 0x52f4e1
cmp eax, 6
je 0x52f4e1
cmp byte [esi + 0x9f], 0
je 0x52f3b2
jmp 0x52f4ee
cmp byte [esi + 0x9f], 0
je 0x52f57f
push ecx
push ebx
mov ecx, esi
call fcn.0052d530
mov ecx, dword [esi + 0x78]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, esi
call fcn.0052ead0
push 0xc
mov dword [esi + 0x70], 4
mov edi, 5
mov dword [ebp - 0x28], 0
call fcn.0056ea97
push 0xffffffffffffffff
push str.pause
push 6
push eax
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x28]
push eax
call fcn.00584f75
xor ecx, ecx
add esp, 0x18
test eax, eax
cmovne edi, ecx
mov dword [ebp - 0x54], edi
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x58]
push dword [esi + 0x78]
push eax
push dword [ebp - 0x14]
call fcn.0052eb40
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x58]
test eax, eax
je 0x52f573
push 2
push eax
call fcn.0056ea89
add esp, 8
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
jmp 0x52f66d
mov dword [ebp - 0x28], 0
cmp eax, 5
jne 0x52f5fe
mov word [ebx + 0x20], 0x100
lea edi, [eax + 3]
push 0x12
mov byte [esi + 0x9d], 0
call fcn.0056ea97
push 0xffffffffffffffff
push str.complete
push 9
push eax
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x28]
push eax
call fcn.00584f75
xor ecx, ecx
add esp, 0x18
test eax, eax
cmovne edi, ecx
mov dword [ebp - 0x5c], edi
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x60]
push dword [esi + 0x78]
push eax
push dword [ebp - 0x14]
call fcn.0052eb40
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x52f5f5
push 2
push eax
call fcn.0056ea89
add esp, 8
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
jmp 0x52f667
inc dword [ebx + 0x24]
mov edi, 6
push 0xe
call fcn.0056ea97
push 0xffffffffffffffff
push str.failed
push 7
push eax
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x28]
push eax
call fcn.00584f75
xor ecx, ecx
add esp, 0x18
test eax, eax
cmovne edi, ecx
mov dword [ebp - 0x64], edi
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x68]
push dword [esi + 0x78]
push eax
push dword [ebp - 0x14]
call fcn.0052eb40
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x52f660
push 2
push eax
call fcn.0056ea89
add esp, 8
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
cmp byte [ebp - 0x1c], 0
je 0x52f6d8
mov ecx, dword [esi + 0xa0]
call fcn.00544c60
mov edi, eax
test edi, edi
je 0x52f6d8
push 0x643f88
mov ecx, edi
call fcn.00545810
mov dl, 1
mov ecx, edi
call fcn.0054b780
mov dword [ebp - 0x28], eax
test eax, eax
je 0x52f6af
mov ecx, dword [esi + 0x80]
push eax
call fcn.00538150
mov ecx, dword [ebp - 0x28]
push 1
mov edx, dword [ecx]
call dword [edx]
mov eax, dword [edi]
test eax, eax
je 0x52f6c6
push 2
push eax
call fcn.0056ea89
add esp, 8
mov dword [edi], 0
push 8
push edi
mov dword [edi + 4], 0
call fcn.0056ea89
add esp, 8
mov edi, dword [ebp - 0x20]
mov ecx, dword [edi]
test ecx, ecx
je 0x52f6ed
push ecx
call fcn.004feb60
mov dword [edi], 0
push 4
push edi
call fcn.0056ea89
mov edi, dword [esi + 0x78]
add esp, 8
test edi, edi
je 0x52f718
mov ecx, edi
call fcn.00520990
push 0x78
push edi
call fcn.0056ea89
add esp, 8
mov dword [esi + 0x78], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x52f738
push 2
push eax
call fcn.0056ea89
add esp, 8
mov dword [ebp - 0x48], 0
mov al, byte [ebx + 0x21]
mov dword [ebp - 0x44], 0
test al, al
je 0x52f110
mov edi, dword [ebp - 0x14]
test al, al
jne 0x52f757
cmp dword [ebx + 0x24], 3
je 0x52f7c0
mov edi, dword [edi]
test edi, edi
je 0x52f79a
mov eax, dword [edi + 0x10]
test eax, eax
je 0x52f776
push 2
push eax
call fcn.0056ea89
add esp, 8
mov dword [edi + 0x10], 0
mov ecx, edi
mov dword [edi + 0x14], 0
call fcn.0053ce40
push 0x18
push edi
call fcn.0056ea89
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [eax], 0
jmp 0x52f79d
mov eax, dword [ebp - 0x14]
push 4
push eax
call fcn.0056ea89
mov ecx, dword [ebp - 0x24]
add esp, 8
mov eax, dword [esi + 0x88]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, dword [eax + 4]
jb 0x52f080
jmp 0x52f7c7
mov dword [esi + 0x70], 6
mov ebx, 1
cmp byte [esi + 0x9f], 0
jne 0x52f827
xor edi, edi
mov dl, 1
cmp dword [esi + 0xcc], edi
jbe 0x52f827
cmp dl, 1
jne 0x52f80f
cmp edi, dword [esi + 0xcc]
jae 0x52f806
mov eax, dword [esi + 0xc8]
test eax, eax
je 0x52f806
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x52f806
call fcn.00530f00
mov dl, al
inc edi
cmp edi, dword [esi + 0xcc]
jb 0x52f7e1
test dl, dl
jne 0x52f827
push 0xfa
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [esi + 0x9f], 0
je 0x52f7d5
mov ecx, esi
call fcn.0052ead0
cmp byte [esi + 0x9f], 0
jne 0x52f8c8
cmp dword [esi + 0x70], 6
je 0x52f8c8
mov eax, dword [esi + 0xcc]
xor edi, edi
mov dl, 1
test eax, eax
je 0x52f887
cmp dl, 1
jne 0x52f883
cmp edi, dword [esi + 0xcc]
jae 0x52f878
mov eax, dword [esi + 0xc8]
test eax, eax
je 0x52f878
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x52f878
call fcn.00530f00
mov dl, al
mov eax, dword [esi + 0xcc]
inc edi
cmp edi, eax
jb 0x52f853
test dl, dl
je 0x52f8c8
xor dl, dl
xor edi, edi
test eax, eax
je 0x52f8c1
nop
test dl, dl
jne 0x52f8c8
cmp edi, dword [esi + 0xcc]
jae 0x52f8b4
mov eax, dword [esi + 0xc8]
test eax, eax
je 0x52f8b4
mov ecx, dword [eax + edi*4]
test ecx, ecx
je 0x52f8b4
call fcn.00530f40
mov dl, al
inc edi
cmp edi, dword [esi + 0xcc]
jb 0x52f890
test dl, dl
jne 0x52f8c8
mov dword [esi + 0x70], 5
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [esi + 0x9f], 0
jne 0x52f8ec
mov dword [esi + 0x70], 6
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret