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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xffffffff
cmp dword [esp + 0x74], 2
jle 0x5929b8
mov esi, dword [ebp + 8]
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.00555cb0
test eax, eax
je 0x59285c
mov eax, 1
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x74]
sub eax, 3
mov dword [esp + 0x28], eax
mov dword [esp], 0
call fcn.00505cd8
lea eax, [esp + 0x40]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.005065a8
mov dword [esp + 0x2c], eax
test eax, eax
je 0x592c4c
mov edi, dword [esp + 0x40]
test edi, edi
je 0x5929e4
mov dword [esp], str.must_not_update_objPtrRefs_variable_and_return_non_NULL
call fcn.00508cd0
mov dword [esp + 0x30], 0
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x592a84
cmp dword [esp + 0x28], 1
je 0x592b9c
mov eax, dword [esp + 0x44]
test eax, eax
je 0x592a30
lea edi, [ebp + 0xc]
xor ebp, ebp
mov eax, edi
mov edi, esi
mov esi, eax
lea esi, [esi]
lea edx, [esp + 0x4c]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x632c20
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov eax, dword [esi]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004ee568
test eax, eax
jne 0x592a24
mov eax, dword [esp + 0x30]
test eax, eax
je 0x59293c
mov eax, dword [esi]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x592935
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x592935
mov dword [esp], eax
call ecx
mov eax, dword [esi]
mov dword [eax + 0xc], 0
lea eax, [ebp + 1]
cmp eax, dword [esp + 0x28]
je 0x5929f1
mov eax, dword [esi + 4]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.005064e8
test eax, eax
jne 0x592a24
add ebp, 2
add esi, 8
cmp dword [esp + 0x28], ebp
jg 0x5928e0
mov esi, dword [esp + 0x30]
test esi, esi
jne 0x592a64
mov edx, dword [esp + 0x40]
test edx, edx
je 0x592852
mov ecx, dword [edx]
dec ecx
mov dword [edx], ecx
test ecx, ecx
jg 0x592852
mov dword [esp], edx
mov dword [esp + 0x20], eax
call fcn.004dd854
mov eax, dword [esp + 0x20]
jmp 0x592852
mov dword [esp + 0xc], str.name__option___value___option_value_..._
mov dword [esp + 8], ebp
mov dword [esp + 4], 2
mov dword [esp], ebx
call fcn.004ee5d0
mov eax, 1
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x30], 0
jmp 0x5928af
mov edx, dword [esi]
mov eax, dword [edx + 4]
test eax, eax
je 0x592d65
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str.__missing
mov dword [esp + 8], eax
mov dword [esp + 4], str.value_for__
mov dword [esp], ebx
call fcn.004e1460
nop
mov eax, 1
jmp 0x59297c
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
test eax, eax
je 0x592d0d
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str.___there_are_no_file_attributes_in_this_filesystem.
mov dword [esp + 8], eax
mov dword [esp + 4], 0x632984
mov dword [esp], ebx
call fcn.004e1460
jmp 0x592a24
mov edx, dword [esp + 0x2c]
mov dword [esp + 4], edx
mov dword [esp], ebx
mov dword [esp + 0x20], eax
call fcn.005320c8
mov eax, dword [esp + 0x20]
jmp 0x592988
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004dfaf4
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [eax]
test edx, edx
je 0x592b84
mov edi, eax
add edi, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], 0
xor ebp, ebp
lea edx, [esp + 0x48]
mov dword [esp + 0x34], edx
lea esi, [esi]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], esi
mov dword [esp + 4], ebp
mov dword [esp], ebx
call fcn.00506548
test eax, eax
je 0x592af8
inc ebp
mov dword [esp + 0x3c], edi
cmp dword [edi], 0
je 0x592b51
mov dword [esp], ebx
call fcn.004e1660
jmp 0x592b49
mov dword [esp + 4], 0xffffffff
mov edx, dword [esp + 0x3c]
mov eax, dword [edx]
mov dword [esp], eax
call fcn.004eb494
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004dfccc
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004dfccc
inc dword [esp + 0x38]
inc ebp
mov dword [esp + 0x3c], edi
mov eax, dword [edi]
test eax, eax
je 0x592b51
add edi, 4
jmp 0x592ac8
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x592b84
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov dword [esp + 0x24], eax
dec eax
mov edx, dword [esp + 0x28]
mov dword [edx], eax
test eax, eax
jg 0x592a24
mov dword [esp], edx
call fcn.004dd854
mov eax, 1
jmp 0x59297c
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004e1100
xor eax, eax
jmp 0x59297c
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x44]
test eax, eax
je 0x592a30
lea eax, [esp + 0x4c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x632c20
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004ee568
test eax, eax
jne 0x592a24
mov eax, dword [esp + 0x30]
test eax, eax
je 0x592c0f
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x592c08
mov edx, dword [edx + 4]
test edx, edx
je 0x592c08
mov dword [esp], eax
call edx
mov eax, dword [ebp + 0xc]
mov dword [eax + 0xc], 0
lea eax, [esp + 0x48]
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00506548
test eax, eax
jne 0x592a24
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004e1100
xor eax, eax
jmp 0x59297c
mov eax, dword [esp + 0x40]
test eax, eax
je 0x592d1a
inc dword [eax]
lea edx, [esp + 0x44]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004dfe8c
test eax, eax
je 0x592c7c
mov eax, 1
jmp 0x592988
mov eax, dword [esp + 0x44]
lea eax, [eax*4 + 4]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00532164
mov dword [esp + 0x2c], eax
xor edi, edi
mov edx, dword [esp + 0x44]
test edx, edx
jle 0x592ceb
lea edx, [esp + 0x48]
mov dword [esp + 0x30], esi
mov esi, eax
mov dword [esp + 0x38], ebp
mov ebp, edi
mov edi, edx
nop
mov dword [esp + 0xc], edi
mov dword [esp + 8], ebp
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004dfe10
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + 4]
test eax, eax
je 0x592d03
mov dword [esi + ebp*4], eax
inc ebp
cmp dword [esp + 0x44], ebp
jg 0x592cb4
mov esi, dword [esp + 0x30]
mov edi, ebp
mov ebp, dword [esp + 0x38]
mov eax, dword [esp + 0x2c]
mov dword [eax + edi*4], 0
mov dword [esp + 0x30], 1
jmp 0x5928af
mov dword [esp], ecx
call fcn.004dda84
jmp 0x592cd7
mov dword [esp], edx
call fcn.004dda84
jmp 0x592a3e
call fcn.00505cc8
test eax, eax
je 0x59284d
mov dword [esp], ebx
call fcn.00505cec
mov edi, eax
mov eax, dword [esi + 4]
test eax, eax
je 0x592d72
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0x632a72
mov dword [esp + 8], eax
mov dword [esp + 4], str.could_not_read__
mov dword [esp], ebx
call fcn.004e1460
jmp 0x59284d
mov dword [esp], edx
call fcn.004dda84
jmp 0x5929fe
mov dword [esp], esi
call fcn.004dda84
jmp 0x592d38