Function at 0x4052a0
Capabilities:
Query environment variable

Disassembly:
mov eax, dword [esp + 4]
push esi
push edi
mov edi, 2
cmp eax, edi
mov esi, ecx
jge 0x4052bd
call fcn.00404ee0
pop edi
xor eax, eax
pop esi
ret 8
push ebx
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebx + 4]
mov ax, word [ecx]
cmp ax, 0x2d
je 0x4052d4
cmp ax, 0x2f
jne 0x4052ea
cmp word [ecx + 2], 0x3f
jne 0x4052ea
mov ecx, esi
call fcn.00404ee0
pop ebx
pop edi
xor eax, eax
pop esi
ret 8
cmp ax, 0x2d
je 0x4052f6
cmp ax, 0x2f
jne 0x40531c
cmp word [ecx + 2], 0x76
jne 0x40531c
push str.8.00.2039
push str.DBCheck_version:__s_n
push 0x41c0d0
call fcn.0040a7c2
add esp, 0xc
pop ebx
pop edi
xor eax, eax
pop esi
ret 8
push ebp
push str.DUMPSCHEMA
push ecx
call fcn.0040ab3c
add esp, 8
test eax, eax
mov ebp, 1
jne 0x40533f
mov dword [esi + 0x724], ebp
jmp 0x4053c1
mov eax, dword [ebx + 4]
push str.LOADSCHEMA
push eax
call fcn.0040ab3c
add esp, 8
test eax, eax
jne 0x40535c
mov dword [esi + 0x724], edi
jmp 0x4053c1
mov ecx, dword [ebx + 4]
push str.DUMPCHECKS
push ecx
call fcn.0040ab3c
add esp, 8
test eax, eax
jne 0x40537d
mov dword [esi + 0x724], 4
jmp 0x4053c1
mov edx, dword [ebx + 4]
push str.LOADCHECKS
push edx
call fcn.0040ab3c
add esp, 8
test eax, eax
jne 0x40539e
mov dword [esi + 0x724], 0x10
jmp 0x4053c1
mov eax, dword [ebx + 4]
push str.LOADEXCLUDE
push eax
call fcn.0040ab3c
add esp, 8
test eax, eax
jne 0x40565c
mov dword [esi + 0x724], 0x20
cmp dword [esp + 0x14], 2
jle 0x4055ac
lea esp, [esp]
mov eax, dword [ebx + edi*4]
movzx ecx, word [eax + 2]
add ecx, 0xffffffca
cmp ecx, 0x3e
ja case.0x4053ea.55
movzx ecx, byte [ecx + 0x4056bc]
jmp dword [ecx*4 + 0x405684]
add eax, 4
cmp word [eax], 0
jne 0x405414
mov edx, dword [ebx + edi*4 + 4]
push edx
lea eax, [esi + 0x208]
push eax
call fcn.00409eb8
add esp, 8
inc edi
jmp 0x40559f
push eax
lea ecx, [esi + 0x208]
push ecx
call fcn.00409eb8
add esp, 8
jmp 0x40559f
add eax, 4
cmp word [eax], 0
jne 0x40544c
mov edx, dword [ebx + edi*4 + 4]
push edx
lea eax, [esi + 0x30c]
push eax
call fcn.00409eb8
add esp, 8
inc edi
jmp 0x40559f
push eax
lea ecx, [esi + 0x30c]
push ecx
call fcn.00409eb8
add esp, 8
jmp 0x40559f
add eax, 4
cmp word [eax], 0
jne 0x405484
mov edx, dword [ebx + edi*4 + 4]
push edx
lea eax, [esi + 0x410]
push eax
call fcn.00409eb8
add esp, 8
inc edi
jmp 0x40559f
push eax
lea ecx, [esi + 0x410]
push ecx
call fcn.00409eb8
add esp, 8
jmp 0x40559f
mov dword [esi + 0x514], ebp
jmp 0x40559f
add eax, 4
cmp word [eax], 0
jne 0x4054c7
mov edx, dword [ebx + edi*4 + 4]
push edx
lea eax, [esi + 0x51c]
push eax
call fcn.00409eb8
add esp, 8
inc edi
jmp 0x40559f
push eax
lea ecx, [esi + 0x51c]
push ecx
call fcn.00409eb8
add esp, 8
jmp 0x40559f
mov dword [esi + 0x518], ebp
jmp 0x40559f
add eax, 4
cmp word [eax], 0
jne 0x40550a
mov edx, dword [ebx + edi*4 + 4]
push edx
lea eax, [esi + 0x620]
push eax
call fcn.00409eb8
add esp, 8
inc edi
jmp 0x40559f
push eax
lea ecx, [esi + 0x620]
push ecx
call fcn.00409eb8
add esp, 8
jmp 0x40559f
add eax, 4
cmp word [eax], 0
jne 0x405539
mov edx, dword [ebx + edi*4 + 4]
push edx
push esi
call fcn.00409eb8
add esp, 8
inc edi
jmp 0x40559f
push eax
push esi
call fcn.00409eb8
add esp, 8
jmp 0x40559f
mov dword [esi + 0x728], ebp
jmp 0x40559f
mov eax, dword [esi + 0x72c]
or eax, ebp
mov dword [esi + 0x728], 2
mov dword [esi + 0x72c], eax
jmp 0x40559f
cmp word [eax + 4], 0
jne 0x405584
mov eax, dword [ebx + edi*4 + 4]
push eax
call fcn.0040aa3b
add esp, 4
mov dword [esi + 0x734], eax
inc edi
jmp 0x40559f
mov ecx, dword [ebx + edi*4 + 4]
push ecx
call fcn.0040aa3b
add esp, 4
mov dword [esi + 0x734], eax
jmp 0x40559f
mov dword [esi + 0x730], ebp
mov eax, dword [esp + 0x14]
inc edi
cmp edi, eax
jl 0x4053d0
push 0x208
call fcn.00409ed9
add esp, 4
push 0x104
mov edi, eax
push edi
push str.DBCHECK
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
push edi
mov ebx, eax
call fcn.0040a92b
add esp, 4
test ebx, ebx
je 0x40563f
push str.DUMP_CRC
push edi
call fcn.0040a8c8
add esp, 8
test eax, eax
je 0x4055f4
or dword [esi + 0x72c], 0x20
push str.ODBC_TRACE
push edi
call fcn.0040a8c8
add esp, 8
test eax, eax
je 0x40560d
or dword [esi + 0x72c], 2
push str.DRIVER_PERF
push edi
call fcn.0040a8c8
add esp, 8
test eax, eax
je 0x405626
or dword [esi + 0x72c], 4
push str.QUERY_PERF
push edi
call fcn.0040a8c8
add esp, 8
test eax, eax
je 0x40563f
or dword [esi + 0x72c], 0x10
push edi
call fcn.00409f07
add esp, 4
mov eax, ebp
pop ebp
pop ebx
pop edi
pop esi
ret 8
mov edx, dword [ebx + edi*4]
push edx
push str.error:__s_is_not_a_defined_parameter_n
jmp 0x405665
mov eax, dword [ebx + 4]
push eax
push str.error:__s_is_not_a_valid_operation.__DUMPSCHEMALOADSCHEMADUMPCHECKSLOADCHECKSLOADEXCLUDE__n
push 0x41c0f0
call fcn.0040a7c2
add esp, 0xc
mov ecx, esi
call fcn.00404ee0
pop ebp
pop ebx
pop edi
xor eax, eax
pop esi
ret 8