Function at 0x61b3d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x44
mov ecx, dword [esp + 0x48]
push edi
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x18], 0
mov edi, dword [ecx]
mov eax, dword [ecx + 0x1b8]
mov dword [esp + 0x20], eax
mov dword [esp + 8], edi
test byte [edi + 0x44], 1
je 0x61b405
xor eax, eax
pop edi
add esp, 0x44
ret
mov ecx, dword [esp + 0x54]
push ebp
mov ebp, dword [esp + 0x54]
lea ecx, [ecx + ecx*4]
shl ecx, 4
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x10], eax
add eax, 8
add eax, ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], eax
mov ecx, dword [eax + 0x30]
mov dword [esp + 0x30], ecx
mov ecx, dword [eax + 0x14]
mov eax, dword [ecx + 0x38]
mov edx, dword [ecx + 0x1c]
test eax, eax
je 0x61b442
cmp dword [ebp + 0x38], 0
jne 0x61b455
cmp dword [ecx + 0x3c], 0
jne 0x61b455
test dword [ebp + 8], 0x100
je 0x61b45d
test eax, eax
je 0x61b45d
pop ebp
xor eax, eax
pop edi
add esp, 0x44
ret
push esi
mov esi, dword [edx]
test esi, esi
jne 0x61b46d
pop esi
pop ebp
xor eax, eax
pop edi
add esp, 0x44
ret
push ebx
mov ebx, dword [ecx + 8]
test bl, 1
jne 0x61b630
mov edx, dword [esp + 0x64]
test eax, eax
je 0x61b49b
mov edi, dword [esp + 0x18]
cmp dword [edi], 1
mov edi, dword [esp + 0x14]
jg 0x61b630
test edx, edx
jne 0x61b630
cmp dword [ebp + 0x2c], 0
je 0x61b4ab
cmp dword [ecx + 0x2c], 0
jne 0x61b630
test edx, edx
je 0x61b4b9
cmp dword [ecx + 0x2c], 0
jne 0x61b630
test eax, eax
je 0x61b4d5
cmp dword [ebp + 0x20], 0
jne 0x61b630
test eax, eax
je 0x61b4d5
test byte [ebp + 8], 1
jne 0x61b630
test ebx, 0x2000
jne 0x61b630
mov ebx, dword [esp + 0x1c]
test byte [ebx + 0x24], 0x20
je 0x61b513
mov dword [esp + 0x24], 1
cmp esi, 1
jg 0x61b630
test edx, edx
jne 0x61b630
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax + 0x18]
cmp dword [eax + 0x38], edx
jne 0x61b630
cmp dword [ecx + 0x30], 0
lea esi, [ecx + 0x30]
je 0x61b592
test edx, edx
jne 0x61b630
test byte [ebp + 8], 1
jne 0x61b630
mov eax, dword [esp + 0x18]
cmp dword [eax], 1
jne 0x61b630
jmp 0x61b540
test byte [ecx + 8], 9
jne 0x61b630
mov edx, dword [ecx + 0x30]
test edx, edx
je 0x61b55b
cmp byte [ecx + 4], 0x74
jne 0x61b630
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 1
jl 0x61b630
mov ecx, edx
test ecx, ecx
jne 0x61b540
mov eax, dword [ebp + 0x2c]
test eax, eax
je 0x61b592
mov edx, dword [eax]
test edx, edx
jle 0x61b592
add eax, 0x18
lea ecx, [ecx]
cmp word [eax], 0
je 0x61b630
inc ecx
add eax, 0x18
cmp ecx, edx
jl 0x61b580
mov eax, dword [ebx + 8]
mov ebx, dword [esp + 0x58]
push 0
push 0
push 0
push 0x15
push ebx
mov dword [ebx + 0x1b8], eax
call fcn.00640650
mov eax, dword [esp + 0x40]
add esp, 0x14
mov dword [ebx + 0x1b8], eax
mov eax, dword [esi]
mov dword [esp + 0x2c], eax
test eax, eax
je 0x61b66f
jmp 0x61b5d0
mov eax, dword [ebp + 0x30]
mov ebx, dword [ebp + 0x2c]
mov edi, dword [ebp + 0x38]
mov esi, dword [ebp + 0x3c]
push 0
push ebp
push dword [esp + 0x1c]
mov dword [esp + 0x34], eax
mov dword [ebp + 0x2c], 0
mov dword [ebp + 0x1c], 0
mov dword [ebp + 0x30], 0
mov dword [ebp + 0x38], 0
mov dword [ebp + 0x3c], 0
call fcn.00665ff0
mov ecx, dword [esp + 0x24]
add esp, 0xc
mov dword [ebp + 0x3c], esi
mov dword [ebp + 0x38], edi
mov dword [ebp + 0x2c], ebx
mov dword [ebp + 0x1c], ecx
mov byte [ebp + 4], 0x74
test eax, eax
jne 0x61b63a
mov eax, dword [esp + 0x28]
jmp 0x61b64b
pop ebx
pop esi
pop ebp
xor eax, eax
pop edi
add esp, 0x44
ret
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x30], ecx
test ecx, ecx
je 0x61b648
mov dword [ecx + 0x34], eax
mov dword [eax + 0x34], ebp
mov edi, dword [esp + 0x14]
mov dword [ebp + 0x30], eax
cmp byte [edi + 0x49], 0
jne 0x61b8ba
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x61b5d0
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x14]
mov ebx, eax
push dword [esi + 4]
mov dword [esp + 0x40], eax
push edi
mov dword [esp + 0x30], ebx
call fcn.00647820
push dword [esi + 8]
push edi
call fcn.00647820
push dword [esi + 0xc]
push edi
call fcn.00647820
mov edx, dword [esi + 0x10]
add esp, 0x18
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x14], 0
test edx, edx
je 0x61b6f2
mov eax, dword [edx + 0x20]
cmp eax, 1
jne 0x61b6e7
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 0x78]
test ecx, ecx
jne 0x61b6d6
mov ecx, eax
mov eax, dword [ecx + 0x1c8]
mov dword [edx + 0x4c], eax
mov dword [ecx + 0x1c8], edx
jmp 0x61b6eb
dec eax
mov dword [edx + 0x20], eax
mov dword [esi + 0x10], 0
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebp + 0x1c]
mov byte [esp + 0x13], 0
mov dword [esp + 0x34], eax
mov esi, dword [eax]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x18], ecx
test ecx, ecx
je 0x61b71c
mov eax, dword [esp + 0x1c]
mov al, byte [eax + 0x24]
mov byte [esp + 0x13], al
jmp 0x61b73c
push 0
push 0
push 0
push edi
call fcn.006666f0
mov ecx, eax
add esp, 0x10
mov dword [esp + 0x18], ecx
mov dword [ebp + 0x1c], ecx
test ecx, ecx
je 0x61b8a6
cmp esi, 1
jle 0x61b768
mov eax, dword [esp + 0x60]
inc eax
push eax
lea eax, [esi - 1]
push eax
push ecx
push edi
call fcn.00666d80
mov ecx, eax
add esp, 0x10
mov dword [ebp + 0x1c], ecx
cmp byte [edi + 0x49], 0
mov dword [esp + 0x18], ecx
jne 0x61b8a6
test esi, esi
jle 0x61b7c6
mov ebp, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
add ebp, 8
add ebx, 8
add ebp, ecx
lea esp, [esp]
push dword [ebp + 0x38]
push edi
call fcn.00657be0
push 0x50
mov ecx, 0x14
mov esi, ebx
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebx + 0x30]
push 0
push ebx
mov dword [esp + 0x34], esi
call sub.MSVCRT.dll_memset
mov edi, dword [esp + 0x28]
add esp, 0x14
add ebp, 0x50
add ebx, 0x50
dec dword [esp + 0x2c]
jne 0x61b780
mov ebp, dword [esp + 0x5c]
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
jmp 0x61b7ca
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
mov al, byte [esp + 0x13]
mov byte [edx + ecx + 0x2c], al
mov edx, dword [ebx + 0x2c]
test edx, edx
je 0x61b802
xor ecx, ecx
cmp dword [edx], ecx
jle 0x61b7f8
lea eax, [edx + 0x18]
xor esi, esi
lea eax, [eax + 0x18]
mov word [eax - 0x18], si
inc ecx
cmp ecx, dword [edx]
jl 0x61b7e6
mov esi, dword [esp + 0x20]
mov dword [ebp + 0x2c], edx
mov dword [ebx + 0x2c], 0
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x61b81b
push 0
push 0
push eax
push edi
call fcn.006181f0
add esp, 0x10
mov ecx, eax
jmp 0x61b81d
xor ecx, ecx
cmp dword [esp + 0x24], 0
jle 0x61b82e
push esi
push ecx
call fcn.0063e3f0
add esp, 8
push dword [ebp + 0x20]
push ecx
push edi
call fcn.00649bb0
add esp, 0xc
mov dword [ebp + 0x20], eax
cmp byte [edi + 0x49], 0
jne 0x61b876
mov eax, dword [esp + 0x58]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x4c], eax
mov eax, dword [ebx]
push 0
mov dword [esp + 0x54], eax
lea eax, [esp + 0x44]
push ebp
push eax
mov dword [esp + 0x54], esi
call fcn.0067dd60
add esp, 0xc
mov eax, dword [ebx + 8]
and eax, 1
or dword [ebp + 8], eax
mov eax, dword [ebx + 0x38]
test eax, eax
je 0x61b890
mov dword [ebp + 0x38], eax
mov dword [ebx + 0x38], 0
mov ebp, dword [ebp + 0x30]
mov ebx, dword [ebx + 0x30]
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x28], ebx
test ebp, ebp
jne 0x61b6f2
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x61b8ba
push 1
push eax
push edi
call fcn.00610420
add esp, 0xc
pop ebx
pop esi
pop ebp
mov eax, 1
pop edi
add esp, 0x44
ret