Function at 0x5906f010
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x59149e00
push eax
mov dword fs:[0], esp
sub esp, 0x30
push ebx
mov ebx, dword [esp + 0x44]
push ebp
push esi
test ebx, ebx
push edi
je 0x5906f2fc
mov ebp, dword [esp + 0x54]
test ebp, ebp
je 0x5906f2fc
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x5906f2fc
mov eax, dword [esp + 0x60]
test eax, eax
je 0x5906f2fc
mov eax, dword [0x5919cca0]
test eax, eax
je 0x5906f07e
push str.IsEMailHtml_______
push str.Winncap
push 0xffffffffffffffff
push 0x5919cc34
call fcn.5907cd70
add esp, 0x10
mov esi, dword [esp + 0x58]
test esi, esi
jle 0x5906fc6d
push 5
push 0x5917da2c
push ebp
call fcn.5908e200
add esp, 0xc
test eax, eax
je 0x5906f0f0
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x5906f0b9
push 5
push 0x5917da2c
push eax
call fcn.5908e200
add esp, 0xc
test eax, eax
je 0x5906f0f0
push 4
push str.PUT
push ebp
call fcn.5908e200
add esp, 0xc
test eax, eax
je 0x5906f0f0
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x5906f2fc
push 4
push str.PUT
push eax
call fcn.5908e200
add esp, 0xc
test eax, eax
jne 0x5906f2fc
mov edi, 0x5917ae30
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x5917ae30
push esi
push ebp
call fcn.5906aae0
add esp, 0x10
cmp eax, 0xffffffff
jne 0x5906f1fc
push esi
lea eax, [ebx + 0x14]
push ebp
push eax
call fcn.5906b540
add esp, 0xc
cmp eax, 1
mov dword [esp + 0x58], eax
jne 0x5906f2fe
push eax
push 0x5919dbb8
lea ecx, [esp + 0x1c]
call fcn.590ac020
mov ebp, dword [0x5919dbdc]
xor edx, edx
or edi, 0xffffffff
cmp ebp, edx
mov dword [esp + 0x48], edx
jle 0x5906f188
mov ecx, dword [0x5919dbd8]
mov eax, dword [ebx + 0x24]
mov esi, dword [ecx]
cmp esi, eax
jne 0x5906f17c
mov eax, dword [esp + 0x60]
mov esi, dword [ecx + 8]
mov eax, dword [eax]
add eax, 0x10
cmp esi, dword [eax]
jne 0x5906f17c
mov esi, dword [ecx + 0xc]
cmp esi, dword [eax + 4]
je 0x5906f186
inc edx
add ecx, 0x20
cmp edx, ebp
jl 0x5906f15b
jmp 0x5906f188
mov edi, edx
mov esi, dword [esp + 0x60]
mov ecx, dword [esi]
add ecx, 0x10
push ecx
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
cmp edi, 0xffffffff
je 0x5906f1cb
mov edx, dword [esi]
mov esi, dword [0x5919dbd8]
shl edi, 5
mov ecx, dword [edx + 0x10]
mov eax, edi
mov dword [eax + esi + 8], ecx
mov ecx, dword [0x5919dbd8]
mov edx, dword [edx + 0x14]
mov dword [eax + ecx + 0xc], edx
mov ecx, dword [0x5919dbd8]
mov edx, dword [ebx + 0x1c]
mov dword [eax + ecx + 0x18], edx
lea ecx, [esp + 0x14]
call fcn.590ac0d0
lea ecx, [esp + 0x14]
mov dword [esp + 0x48], 0xffffffff
call fcn.590ac080
mov eax, dword [esp + 0x58]
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
add esp, 0x3c
ret
mov eax, dword [ebx + 0x1c]
mov edi, dword [esp + 0x54]
mov ebp, dword [esp + 0x58]
xor esi, esi
test eax, eax
mov dword [esp + 0x50], edi
je 0x5906f32a
mov edx, ebp
mov ecx, edi
lea eax, [ebx + 0x14]
push edx
push ecx
push eax
call fcn.5906b540
add esp, 0xc
test eax, eax
je 0x5906f2fc
push 1
push 0x5919dbb8
lea ecx, [esp + 0x1c]
call fcn.590ac020
mov ebp, dword [0x5919dbdc]
or edi, 0xffffffff
xor edx, edx
mov dword [esp + 0x48], 1
test ebp, ebp
jle 0x5906f289
mov ecx, dword [0x5919dbd8]
mov eax, dword [ebx + 0x24]
mov esi, dword [ecx]
cmp esi, eax
jne 0x5906f27d
mov eax, dword [esp + 0x60]
mov esi, dword [ecx + 8]
mov eax, dword [eax]
add eax, 0x10
cmp esi, dword [eax]
jne 0x5906f27d
mov esi, dword [ecx + 0xc]
cmp esi, dword [eax + 4]
je 0x5906f287
inc edx
add ecx, 0x20
cmp edx, ebp
jl 0x5906f25c
jmp 0x5906f289
mov edi, edx
mov esi, dword [esp + 0x60]
mov ecx, dword [esi]
add ecx, 0x10
push ecx
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
cmp edi, 0xffffffff
je 0x5906f2cc
mov edx, dword [esi]
mov esi, dword [0x5919dbd8]
shl edi, 5
mov ecx, dword [edx + 0x10]
mov eax, edi
mov dword [eax + esi + 8], ecx
mov ecx, dword [0x5919dbd8]
mov edx, dword [edx + 0x14]
mov dword [eax + ecx + 0xc], edx
mov ecx, dword [0x5919dbd8]
mov edx, dword [ebx + 0x1c]
mov dword [eax + ecx + 0x18], edx
lea ecx, [esp + 0x14]
call fcn.590ac0d0
lea ebp, [ebx + 0x14]
push ebp
call fcn.5906b830
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x50], edi
jne 0x5906f311
lea ecx, [esp + 0x14]
mov dword [esp + 0x48], 0xffffffff
call fcn.590ac080
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
add esp, 0x3c
ret
mov ebp, dword [ebp]
lea ecx, [esp + 0x14]
mov esi, 1
mov dword [esp + 0x48], 0xffffffff
call fcn.590ac080
push ebp
push edi
call fcn.5906b9b0
add esp, 8
test eax, eax
jne 0x5906f2fc
push ebp
push edi
push ebx
call fcn.5906e4f0
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906e480
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906ef70
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906c220
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906c290
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906c300
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906c360
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906ddd0
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906de10
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906de70
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906c450
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906c5c0
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906c730
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906c790
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906c810
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906c870
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906d260
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906d640
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906deb0
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906df10
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906d870
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906d710
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906da00
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906db70
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906ceb0
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906cf90
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906d000
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906d6b0
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906d1a0
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906d0b0
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906c8d0
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906c9b0
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906ca10
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906ca70
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906cf20
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906df50
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906df90
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906e120
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906ce50
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906e260
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906e2a0
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906e310
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906e380
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906e410
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906cad0
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906cb40
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906d420
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906cde0
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906e840
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906e8d0
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906c3c0
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906e980
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906ea30
add esp, 0xc
test eax, eax
jne 0x5906f71a
push ebp
push edi
push ebx
call fcn.5906e560
add esp, 0xc
test eax, eax
je 0x5906f2fc
test esi, esi
jne 0x5906f9e7
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
lea eax, [ebx + 0x14]
push edx
push ecx
push eax
call fcn.5906b540
add esp, 0xc
cmp eax, 1
mov dword [esp + 0x54], eax
jne 0x5906f9d0
mov esi, dword [esp + 0x60]
mov edx, dword [esi]
add edx, 0x10
push edx
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov eax, dword [esi]
mov esi, dword [ebx + 0x1c]
mov ecx, dword [ebx + 0x24]
mov dword [esp + 0x38], esi
mov edx, dword [eax + 0x10]
mov edi, dword [eax + 0x14]
mov ebp, dword [eax + 8]
mov eax, dword [eax + 0xc]
xor esi, esi
mov dword [esp + 0x20], ecx
cmp dword [0x5919cca0], esi
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], eax
je 0x5906f7a9
push eax
push ebp
push edi
push edx
push ecx
push str.IsEMailHtml_g_arrTypeAndTime.Add__Type:_04x__Time:_I64u__TimeBegin:_I64u_
push str.winncap
push 0xffffffffffffffff
push 0x5919cc34
call fcn.5907cd70
add esp, 0x24
push 1
push 0x5919dbb8
lea ecx, [esp + 0x1c]
call fcn.590ac020
mov eax, dword [0x5919dbdc]
mov dword [esp + 0x48], 2
mov ebp, eax
cmp ebp, eax
mov dword [esp + 0x10], ebp
jl 0x5906f935
inc ebp
cmp ebp, esi
jne 0x5906f802
mov eax, dword [0x5919dbd8]
cmp eax, esi
je 0x5906f7f1
push eax
call fcn.591315d9
add esp, 4
mov dword [0x5919dbd8], esi
mov dword [0x5919dbe0], esi
mov dword [0x5919dbdc], esi
jmp 0x5906f935
mov edx, dword [0x5919dbd8]
cmp edx, esi
jne 0x5906f845
mov esi, ebp
shl esi, 5
push esi
call fcn.591315b0
mov ecx, esi
mov edi, eax
mov edx, ecx
xor eax, eax
shr ecx, 2
mov dword [0x5919dbd8], edi
add esp, 4
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov dword [0x5919dbe0], ebp
mov dword [0x5919dbdc], ebp
jmp 0x5906f935
mov esi, dword [0x5919dbe0]
cmp ebp, esi
jg 0x5906f87c
cmp ebp, eax
jle 0x5906f871
mov ecx, ebp
sub ecx, eax
shl eax, 5
shl ecx, 5
add eax, edx
mov edx, ecx
mov edi, eax
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov dword [0x5919dbdc], ebp
jmp 0x5906f935
mov ecx, dword [0x5919dbe4]
test ecx, ecx
jne 0x5906f8aa
cdq
and edx, 7
add eax, edx
mov ecx, eax
sar ecx, 3
cmp ecx, 4
jge 0x5906f89d
mov ecx, 4
jmp 0x5906f8aa
cmp ecx, 0x400
jle 0x5906f8aa
mov ecx, 0x400
lea eax, [ecx + esi]
cmp ebp, eax
mov dword [esp + 0x58], eax
jl 0x5906f8b9
mov dword [esp + 0x58], ebp
mov eax, dword [esp + 0x58]
shl eax, 5
push eax
call fcn.591315b0
mov ecx, dword [0x5919dbdc]
mov esi, dword [0x5919dbd8]
shl ecx, 5
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov dword [esp + 0x54], eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [0x5919dbdc]
mov ecx, ebp
sub ecx, edx
shl edx, 5
add edx, eax
xor eax, eax
shl ecx, 5
mov edi, edx
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [0x5919dbd8]
push eax
call fcn.591315d9
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x60]
add esp, 8
mov dword [0x5919dbd8], ecx
mov dword [0x5919dbdc], ebp
mov dword [0x5919dbe0], edx
mov edi, dword [esp + 0x10]
mov esi, dword [0x5919dbd8]
shl edi, 5
add edi, esi
mov ecx, 8
lea esi, [esp + 0x20]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x14]
mov dword [esp + 0x48], 0xffffffff
call fcn.590ac080
lea edi, [ebx + 0x14]
push edi
call fcn.5906b830
mov esi, eax
add esp, 4
test esi, esi
je 0x5906f2fc
mov edi, dword [edi]
push edi
push esi
mov dword [esp + 0x60], edi
call fcn.5906afb0
add esp, 8
test eax, eax
je 0x5906f9d0
mov eax, dword [ebx + 0x24]
mov edi, dword [esp + 0x60]
mov ebp, dword [esp + 0x5c]
push 1
push eax
push 3
push edi
push ebp
call fcn.59070330
add esp, 0x14
mov dword [esp + 0x54], eax
test eax, eax
jne 0x5906f9c9
mov ecx, dword [ebx + 0x24]
mov edx, dword [esp + 0x58]
push edi
push 1
push eax
push ecx
push 3
push edx
push esi
push ebp
call fcn.5906b020
add esp, 0x20
mov dword [esp + 0x54], eax
mov dword [ebx + 0x28], 1
mov eax, dword [esp + 0x54]
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
add esp, 0x3c
ret
mov eax, dword [esp + 0x60]
mov ecx, dword [ebx + 0x24]
mov dword [esp + 0x20], ecx
mov eax, dword [eax]
mov edx, dword [eax + 0x10]
mov edi, dword [eax + 0x14]
mov esi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x38], eax
mov eax, dword [0x5919cca0]
test eax, eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], esi
je 0x5906fa42
mov eax, dword [esp + 0x34]
push eax
push esi
push edi
push edx
push ecx
push str.IsEMailHtml_g_arrTypeAndTime.Add_222__Type:_04x__Time:_I64u__TimeBegin:_lu_
push str.winncap
push 0xffffffffffffffff
push 0x5919cc34
call fcn.5907cd70
add esp, 0x24
push 1
push 0x5919dbb8
lea ecx, [esp + 0x1c]
call fcn.590ac020
mov edx, dword [0x5919dbdc]
mov dword [esp + 0x48], 3
cmp edx, edx
mov dword [esp + 0x54], edx
jl 0x5906fbd1
mov eax, dword [0x5919dbd8]
lea esi, [edx + 1]
xor edi, edi
cmp esi, edi
jne 0x5906fa9e
cmp eax, edi
je 0x5906fa8d
push eax
call fcn.591315d9
add esp, 4
mov dword [0x5919dbd8], edi
mov dword [0x5919dbe0], edi
mov dword [0x5919dbdc], edi
jmp 0x5906fbd1
cmp eax, edi
jne 0x5906fadd
mov edi, esi
shl edi, 5
push edi
call fcn.591315b0
mov edx, eax
mov ecx, edi
mov dword [0x5919dbd8], edx
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
add esp, 4
and ecx, 3
rep stosb byte es:[edi], al
mov dword [0x5919dbe0], esi
mov dword [0x5919dbdc], esi
jmp 0x5906fbd1
mov ecx, dword [0x5919dbe0]
cmp esi, ecx
jg 0x5906fb14
cmp esi, edx
jle 0x5906fb09
mov ecx, esi
sub ecx, edx
shl edx, 5
add edx, eax
xor eax, eax
shl ecx, 5
mov edi, edx
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov dword [0x5919dbdc], esi
jmp 0x5906fbd1
mov eax, dword [0x5919dbe4]
cmp eax, edi
jne 0x5906fb40
mov eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp eax, 4
jge 0x5906fb34
mov eax, 4
jmp 0x5906fb40
cmp eax, 0x400
jle 0x5906fb40
mov eax, 0x400
add eax, ecx
cmp esi, eax
mov dword [esp + 0x58], eax
jl 0x5906fb4e
mov dword [esp + 0x58], esi
mov eax, dword [esp + 0x58]
shl eax, 5
push eax
call fcn.591315b0
mov ecx, dword [0x5919dbdc]
mov esi, dword [0x5919dbd8]
shl ecx, 5
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov dword [esp + 0x14], eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x58]
mov edx, dword [0x5919dbdc]
lea esi, [ecx + 1]
mov ecx, esi
sub ecx, edx
shl edx, 5
add edx, eax
xor eax, eax
shl ecx, 5
mov edi, edx
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [0x5919dbd8]
push eax
call fcn.591315d9
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x60]
add esp, 8
mov dword [0x5919dbd8], ecx
mov dword [0x5919dbdc], esi
mov dword [0x5919dbe0], edx
mov edi, dword [esp + 0x54]
mov ecx, dword [0x5919dbd8]
mov eax, dword [esp + 0x50]
lea esi, [esp + 0x20]
shl edi, 5
add edi, ecx
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
push ebp
push eax
mov esi, 1
call fcn.5906afb0
add esp, 8
test eax, eax
je 0x5906fc47
mov ecx, dword [ebx + 0x24]
mov edi, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
push esi
push ecx
push 3
push edi
push edx
call fcn.59070330
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x5906fc40
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x5c]
push edi
push 1
push eax
mov eax, dword [ebx + 0x24]
push eax
push 3
push ebp
push ecx
push edx
call fcn.5906b020
add esp, 0x20
mov esi, eax
mov dword [ebx + 0x28], 1
lea ecx, [esp + 0x14]
mov dword [esp + 0x48], 0xffffffff
call fcn.590ac080
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
add esp, 0x3c
ret
mov ecx, dword [esp + 0x40]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
mov dword fs:[0], ecx
add esp, 0x3c
ret