Function at 0x59052b10
Capabilities:
Delete file
Read file on windows
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x5914305f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x118
push ebx
push ebp
push esi
push edi
xor ebp, ebp
mov dword [esp + 0x130], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebp
mov byte [esp + 0x130], 1
mov dword [esp + 0x20], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x24], ebp
lea ecx, [esp + 0x70]
mov byte [esp + 0x130], 2
call fcn.5909fd90
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0x38]
mov byte [esp + 0x138], 3
call fcn.59056ad0
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0x28]
call fcn.59056c60
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0x78]
call fcn.5909fe00
push ecx
lea eax, [esp + 0x13c]
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call fcn.59094660
lea ecx, [esp + 0x74]
lea edx, [esp + 0x24]
push ecx
lea eax, [esp + 0x38]
push edx
push eax
mov byte [esp + 0x140], 3
call fcn.59021fa0
mov ebx, dword [esp + 0x44]
add esp, 0x10
xor eax, eax
cmp ebx, ebp
jle 0x59052e35
xor edi, edi
mov dword [esp + 0x14], edi
lea ecx, [eax + 1]
mov esi, eax
cmp ecx, ebx
mov dword [esp + 0x18], ecx
jge 0x59052e24
mov edx, dword [esp + 0x30]
mov dword [esp + 0x10], edi
add edi, 0x44
lea edx, [edi + edx + 0xc]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x10]
lea ebx, [ebx + ebp + 0xc]
mov ebp, dword [ebx + 4]
cmp ebp, dword [edx + 4]
jl 0x59052c28
jg 0x59052c22
mov ebx, dword [ebx]
mov ebp, dword [edx]
cmp ebx, ebp
jbe 0x59052c28
mov esi, ecx
mov dword [esp + 0x10], edi
mov ebx, dword [esp + 0x34]
inc ecx
add edi, 0x44
add edx, 0x44
cmp ecx, ebx
jl 0x59052c04
cmp eax, esi
je 0x59052e1a
push eax
lea eax, [esp + 0xe8]
push eax
lea ecx, [esp + 0x38]
call fcn.59056130
lea ecx, [esp + 0xa0]
push esi
mov bl, 5
push ecx
lea ecx, [esp + 0x38]
mov byte [esp + 0x138], bl
call fcn.59056130
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x14]
lea edx, [esp + 0xa0]
mov byte [esp + 0x130], 6
push edx
lea ecx, [edi + eax]
call fcn.59056580
mov eax, dword [esp + 0x30]
mov edx, esi
shl edx, 4
lea ecx, [esp + 0xe4]
add edx, esi
push ecx
lea ecx, [eax + edx*4]
call fcn.59056580
lea ecx, [esp + 0xdc]
mov byte [esp + 0x130], 0xe
call fcn.59095090
lea ecx, [esp + 0xd8]
mov byte [esp + 0x130], 0xd
call fcn.5909a410
lea ecx, [esp + 0xd4]
mov byte [esp + 0x130], 0xc
call fcn.5909a410
lea ecx, [esp + 0xd0]
mov byte [esp + 0x130], 0xb
call fcn.5909a410
lea ecx, [esp + 0xcc]
mov byte [esp + 0x130], 0xa
call fcn.5909a410
lea ecx, [esp + 0xc8]
mov byte [esp + 0x130], 9
call fcn.5909a410
lea ecx, [esp + 0xc4]
mov byte [esp + 0x130], 8
call fcn.5909a410
lea ecx, [esp + 0xc0]
mov byte [esp + 0x130], 7
call fcn.5909a410
lea ecx, [esp + 0xbc]
mov byte [esp + 0x130], bl
call fcn.5909a410
lea ecx, [esp + 0x120]
mov byte [esp + 0x130], 0x17
call fcn.59095090
lea ecx, [esp + 0x11c]
mov byte [esp + 0x130], 0x16
call fcn.5909a410
mov byte [esp + 0x130], 0x15
lea ecx, [esp + 0x118]
call fcn.5909a410
lea ecx, [esp + 0x114]
mov byte [esp + 0x130], 0x14
call fcn.5909a410
lea ecx, [esp + 0x110]
mov byte [esp + 0x130], 0x13
call fcn.5909a410
lea ecx, [esp + 0x10c]
mov byte [esp + 0x130], 0x12
call fcn.5909a410
lea ecx, [esp + 0x108]
mov byte [esp + 0x130], 0x11
call fcn.5909a410
lea ecx, [esp + 0x104]
mov byte [esp + 0x130], 0x10
call fcn.5909a410
lea ecx, [esp + 0x100]
mov byte [esp + 0x130], 3
call fcn.5909a410
mov ebx, dword [esp + 0x34]
mov ecx, dword [esp + 0x18]
xor ebp, ebp
jmp 0x59052e24
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
xor ebp, ebp
mov eax, ecx
add edi, 0x44
cmp eax, ebx
mov dword [esp + 0x14], edi
jl 0x59052be4
cmp ebx, ebp
mov dword [esp + 0x10], ebp
jle 0x5905332d
mov dword [esp + 0x1c], 0
mov ebp, dword [esp + 0x1c]
lea ecx, [esp + 0x60]
call fcn.5909fd90
lea ecx, [esp + 0x80]
mov byte [esp + 0x130], 0x19
call fcn.5909fd90
lea ecx, [esp + 0x40]
mov byte [esp + 0x130], 0x1a
call fcn.5909f0b0
lea ecx, [esp + 0x90]
mov byte [esp + 0x130], 0x1b
call fcn.590a6450
lea ecx, [esp + 0x50]
mov byte [esp + 0x130], 0x1c
call fcn.590a6450
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
mov byte [esp + 0x130], 0x1d
mov ecx, dword [eax + ebp + 0x40]
lea esi, [edx - 1]
add ecx, 4
mov dword [esp + 0x14], esi
test esi, esi
mov dword [esp + 0x18], ecx
jl 0x59053067
lea esi, [esi + esi*8]
shl esi, 3
mov ecx, dword [esp + 0x20]
mov edx, dword [esi + ecx]
test edx, edx
je 0x5905304f
mov ecx, dword [eax + ebp]
test ecx, ecx
je 0x5905304f
push ecx
push edx
call fcn.590203c0
add esp, 8
test al, al
je 0x5905312d
mov eax, dword [esp + 0x20]
mov ebx, dword [esi + eax + 0xc]
mov edi, dword [esi + eax + 0x10]
mov eax, dword [esp + 0x30]
mov edx, ebx
or edx, edi
je 0x5905304f
mov edx, dword [eax + ebp + 4]
mov ecx, dword [eax + ebp + 8]
mov ebp, edx
or ebp, ecx
je 0x5905304b
cmp edi, ecx
jg 0x5905304b
jl 0x59052f3a
cmp ebx, edx
ja 0x5905304b
mov ecx, dword [esp + 0x20]
mov ecx, dword [esi + ecx + 0x1c]
mov edx, dword [ecx - 8]
test edx, edx
je 0x59052f6a
mov ebp, dword [esp + 0x1c]
mov eax, dword [eax + ebp + 0x1c]
mov edx, dword [eax - 8]
test edx, edx
je 0x59052f6a
push eax
push ecx
call fcn.5907da38
add esp, 8
test eax, eax
jne 0x5905312d
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x60]
lea eax, [esi + edx + 0x20]
push eax
mov eax, dword [esp + 0x68]
push eax
call fcn.590a03a0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x84]
lea eax, [esi + ecx + 0x24]
lea ecx, [esp + 0x80]
push eax
push edx
call fcn.590a03a0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x44]
lea eax, [esi + eax + 0x2c]
push eax
push ecx
lea ecx, [esp + 0x48]
call fcn.5909f6b0
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x90]
mov eax, dword [esi + edx + 0x28]
push eax
mov eax, dword [esp + 0x98]
push eax
call fcn.590a6690
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x54]
mov eax, dword [esi + ecx + 0x30]
lea ecx, [esp + 0x50]
push eax
push edx
call fcn.590a6690
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x24]
add eax, esi
mov ebx, eax
mov ecx, dword [eax + 0x30]
lea ecx, [edx + ecx + 4]
mov edx, dword [esp + 0x14]
sub edi, edx
mov dword [esp + 0x18], ecx
dec edi
xor ebp, ebp
mov ecx, ebx
call fcn.59013160
add ebx, 0x48
mov edx, ebp
dec ebp
test edx, edx
jne 0x5905300d
test edi, edi
je 0x5905303e
lea eax, [edi + edi*8]
shl eax, 3
push eax
mov eax, dword [esp + 0x24]
lea ecx, [esi + eax + 0x48]
lea edx, [esi + eax]
push ecx
push edx
call fcn.5907ce30
add esp, 0xc
mov eax, dword [esp + 0x24]
dec eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
sub esi, 0x48
dec ecx
test ecx, ecx
mov dword [esp + 0x14], ecx
jge 0x59052ed0
mov ecx, dword [esp + 0x18]
xor ebx, ebx
test ecx, ecx
je 0x5905320f
mov eax, dword [esp + 0x18]
xor ebp, ebp
lea esi, [eax + 1]
push esi
call fcn.5912c500
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x590532b2
mov ecx, esi
xor eax, eax
mov edx, ecx
mov edi, ebx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
push 0x180
and ecx, 3
push 0x8000
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + eax + 0x3c]
push eax
call fcn.5907d46d
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
je 0x59053136
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + edx + 0x40]
push eax
push ebx
push esi
call fcn.5907dc1b
push esi
mov ebp, eax
call fcn.5907d19d
mov ecx, dword [esp + 0x40]
add esp, 0x10
mov eax, dword [edi + ecx + 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov edi, 0x59173d00
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebx + ebp]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x59173d00
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ebp, ecx
jmp 0x59053158
mov eax, dword [esp + 0x30]
jmp 0x5905304f
mov edi, str.Origin_data_has_been_deleted_unexpectedly__r_n_r_n
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x14], 0
test eax, eax
jle 0x5905320b
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
push 0x180
push 0x8000
mov eax, dword [eax + edi*4]
push eax
call fcn.5907d46d
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
je 0x590531fa
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x14]
lea eax, [ebx + ebp]
mov edx, dword [ecx + edi*4]
push edx
push eax
push esi
call fcn.5907dc1b
push esi
add ebp, eax
call fcn.5907d19d
mov ecx, dword [esp + 0x50]
add esp, 0x10
mov edi, dword [ecx + edi*4]
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov edi, 0x59173d00
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebx + ebp]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x59173d00
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov edi, dword [esp + 0x14]
not ecx
dec ecx
add ebp, ecx
mov eax, dword [esp + 0x44]
inc edi
cmp edi, eax
mov dword [esp + 0x14], edi
jl 0x59053170
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x90]
lea edx, [esp + 0x60]
push ecx
push edx
lea ecx, [esp + 0x88]
lea edx, [esi + eax + 0x38]
push ecx
push edx
lea ecx, [esi + eax + 0x34]
lea edx, [esi + eax + 0x24]
push ecx
push edx
lea ecx, [esi + eax + 0x30]
lea edx, [esi + eax + 0x2c]
push ecx
push edx
lea ecx, [esi + eax + 0x28]
lea edx, [esi + eax + 0x20]
mov eax, dword [esp + 0x38]
push ecx
push edx
push eax
push ebx
call fcn.5901fd50
add esp, 0x30
test ebx, ebx
je 0x59053266
push ebx
call fcn.5912c529
add esp, 4
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
sub edi, ecx
mov ecx, dword [esp + 0x30]
dec edi
xor ebp, ebp
lea ebx, [esi + ecx]
mov ecx, ebx
call fcn.59012170
add ebx, 0x44
mov edx, ebp
dec ebp
test edx, edx
jne 0x5905327a
test edi, edi
je 0x590532ae
mov eax, edi
shl eax, 4
add eax, edi
shl eax, 2
push eax
mov eax, dword [esp + 0x34]
lea ecx, [esi + eax + 0x44]
add esi, eax
push ecx
push esi
call fcn.5907ce30
add esp, 0xc
dec dword [esp + 0x34]
lea ecx, [esp + 0x50]
mov byte [esp + 0x130], 0x1c
call fcn.590a6460
lea ecx, [esp + 0x90]
mov byte [esp + 0x130], 0x1b
call fcn.590a6460
lea ecx, [esp + 0x40]
mov byte [esp + 0x130], 0x1a
call fcn.5909f0c0
lea ecx, [esp + 0x80]
mov byte [esp + 0x130], 0x19
call fcn.5909fda0
lea ecx, [esp + 0x60]
mov byte [esp + 0x130], 3
call fcn.5909fda0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
inc eax
add edx, 0x44
cmp eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], edx
jl 0x59052e49
mov eax, dword [esp + 0x24]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x10], ebx
jle 0x590535b6
lea edx, [esp + 0x18]
push 0
push edx
call fcn.5904fff0
add esp, 8
lea ecx, [esp + 0x50]
mov byte [esp + 0x130], 0x1e
call fcn.5909fd90
lea ecx, [esp + 0x60]
mov byte [esp + 0x130], 0x1f
call fcn.590a6450
lea ecx, [esp + 0x40]
mov byte [esp + 0x130], 0x20
call fcn.5909fd90
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x44]
mov byte [esp + 0x130], 0x21
lea eax, [ebx + eax + 0x24]
push eax
push ecx
lea ecx, [esp + 0x48]
call fcn.590a03a0
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x50]
lea eax, [ebx + edx + 0x20]
push eax
mov eax, dword [esp + 0x58]
push eax
call fcn.590a03a0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x64]
xor ebp, ebp
mov esi, dword [ebx + ecx + 0x30]
lea ecx, [esp + 0x60]
push esi
push edx
call fcn.590a6690
test esi, esi
je 0x59053440
lea edi, [esi + 1]
push edi
call fcn.5912c500
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x5905355a
mov ecx, edi
xor eax, eax
mov edx, ecx
mov edi, ebp
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
push 0x180
and ecx, 3
push 0x8000
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x28]
mov eax, dword [ebx + eax + 0x2c]
push eax
call fcn.5907d46d
mov edi, eax
add esp, 0xc
cmp edi, 0xffffffff
je 0x59053440
push esi
push ebp
push edi
call fcn.5907dc1b
push edi
call fcn.5907d19d
mov ecx, dword [esp + 0x30]
add esp, 0x10
mov eax, dword [ebx + ecx + 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea edx, [esp + 0x50]
push 1
lea eax, [esp + 0x44]
mov ecx, dword [esp + 0x1c]
push edx
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push ecx
call fcn.5900bf80
add esp, 0x2c
test eax, eax
je 0x590534b2
mov edx, dword [esp + 0x18]
push esi
push ebp
push edx
call fcn.5900bd70
add esp, 0xc
test eax, eax
je 0x590534b2
push 0
lea eax, [esp + 0x64]
push 0
lea ecx, [esp + 0x58]
push eax
lea edx, [esp + 0x4c]
push ecx
push edx
mov eax, dword [esp + 0x2c]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 2
push 1
push eax
push esi
push ebp
call fcn.5900e040
add esp, 0x44
test ebp, ebp
je 0x590534bf
push ebp
call fcn.5912c529
add esp, 4
mov ebp, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
sub ebp, ecx
mov ecx, dword [esp + 0x20]
dec ebp
xor edi, edi
lea esi, [ebx + ecx]
mov dword [esp + 0x14], esi
lea ecx, [esi + 0x44]
mov byte [esp + 0x130], 0x25
call fcn.5909a410
lea ecx, [esi + 0x2c]
mov byte [esp + 0x130], 0x24
call fcn.59095090
lea ecx, [esi + 0x24]
mov byte [esp + 0x130], 0x23
call fcn.5909a410
lea ecx, [esi + 0x20]
mov byte [esp + 0x130], 0x22
call fcn.5909a410
lea ecx, [esi + 0x1c]
mov byte [esp + 0x130], 0x21
call fcn.5909a410
add esi, 0x48
mov edx, edi
dec edi
mov dword [esp + 0x14], esi
test edx, edx
jne 0x590534d7
test ebp, ebp
je 0x59053556
lea eax, [ebp + ebp*8]
shl eax, 3
push eax
mov eax, dword [esp + 0x24]
lea ecx, [ebx + eax + 0x48]
lea edx, [ebx + eax]
push ecx
push edx
call fcn.5907ce30
add esp, 0xc
dec dword [esp + 0x24]
lea ecx, [esp + 0x40]
mov byte [esp + 0x130], 0x20
call fcn.5909fda0
lea ecx, [esp + 0x60]
mov byte [esp + 0x130], 0x1f
call fcn.590a6460
lea ecx, [esp + 0x50]
mov byte [esp + 0x130], 0x1e
call fcn.5909fda0
lea ecx, [esp + 0x18]
mov byte [esp + 0x130], 3
call fcn.59095090
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
inc eax
add ebx, 0x48
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x5905333f
mov eax, dword [esp + 0x74]
lea esi, [eax - 1]
test esi, esi
jl 0x590535f8
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov bl, 0x27
lea ecx, [esp + 0x10]
push esi
push ecx
lea ecx, [esp + 0x78]
call fcn.5900c6a0
mov eax, dword [eax]
mov byte [esp + 0x130], bl
push eax
call edi
lea ecx, [esp + 0x10]
mov byte [esp + 0x130], 3
call fcn.5909a410
dec esi
jns 0x590535c9
lea ecx, [esp + 0x70]
mov byte [esp + 0x130], 2
call fcn.5909fda0
mov esi, dword [esp + 0x20]
mov byte [esp + 0x130], 1
test esi, esi
je 0x5905368f
mov eax, dword [esp + 0x24]
mov dword [esp + 0x10], esi
test eax, eax
je 0x59053686
lea edi, [eax]
mov bl, 0x28
lea ecx, [esi + 0x44]
mov byte [esp + 0x130], 0x2b
call fcn.5909a410
lea ecx, [esi + 0x2c]
mov byte [esp + 0x130], 0x2a
call fcn.59095090
lea ecx, [esi + 0x24]
mov byte [esp + 0x130], 0x29
call fcn.5909a410
lea ecx, [esi + 0x20]
mov byte [esp + 0x130], bl
call fcn.5909a410
lea ecx, [esi + 0x1c]
mov byte [esp + 0x130], 1
call fcn.5909a410
add esi, 0x48
dec edi
mov dword [esp + 0x10], esi
jne 0x59053629
mov esi, dword [esp + 0x20]
push esi
call fcn.5912c529
add esp, 4
mov esi, dword [esp + 0x30]
mov byte [esp + 0x130], 0
test esi, esi
je 0x59053761
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], esi
test eax, eax
je 0x59053758
lea edi, [eax]
mov bl, 0x2d
lea ecx, [esi + 0x3c]
mov byte [esp + 0x130], 0x34
call fcn.59095090
lea ecx, [esi + 0x38]
mov byte [esp + 0x130], 0x33
call fcn.5909a410
lea ecx, [esi + 0x34]
mov byte [esp + 0x130], 0x32
call fcn.5909a410
lea ecx, [esi + 0x30]
mov byte [esp + 0x130], 0x31
call fcn.5909a410
lea ecx, [esi + 0x2c]
mov byte [esp + 0x130], 0x30
call fcn.5909a410
lea ecx, [esi + 0x28]
mov byte [esp + 0x130], 0x2f
call fcn.5909a410
lea ecx, [esi + 0x24]
mov byte [esp + 0x130], 0x2e
call fcn.5909a410
lea ecx, [esi + 0x20]
mov byte [esp + 0x130], bl
call fcn.5909a410
lea ecx, [esi + 0x1c]
mov byte [esp + 0x130], 0
call fcn.5909a410
add esi, 0x44
dec edi
mov dword [esp + 0x10], esi
jne 0x590536b7
mov esi, dword [esp + 0x30]
push esi
call fcn.5912c529
add esp, 4
lea ecx, [esp + 0x138]
mov dword [esp + 0x130], 0xffffffff
call fcn.59095090
mov ecx, dword [esp + 0x128]
pop edi
pop esi
pop ebp
mov eax, 1
mov dword fs:[0], ecx
pop ebx
add esp, 0x124
ret 4