Function at 0x61531af0
Capabilities:
Query environment variable

Disassembly:
push ebp
push edi
mov edi, 0x6589f551
push esi
mov esi, 0xd8f20c5b
push ebx
sub esp, 0x3c
mov eax, dword [esp + 0x54]
mov edx, dword [eax]
test edx, edx
je 0x6153204a
nop
mov eax, dword [esp + 0x54]
mov ebx, dword [eax + 4]
lea ecx, [ebx - 8]
shr ecx, 1
je 0x61531f6e
lea ebp, [eax + 8]
mov dword [esp + 0x18], edx
lea eax, [ebp + ecx*2]
mov dword [esp + 0x1c], eax
jmp 0x61531c18
mov dword [esp], 0x615f2e78
mov dword [0x615f2e78], esi
mov dword [0x615f2e7c], edi
mov byte [0x615f2e80], 0x5b
call fcn.6152b7e0
movzx eax, byte [0x615f0130]
test al, al
je 0x61531f10
mov dword [esp], 0x615f2e88
mov dword [0x615f2e88], esi
mov dword [0x615f2e8c], edi
mov byte [0x615f2e90], 0x5b
call fcn.6152b7e0
movzx eax, byte [0x615f0138]
test al, al
je 0x61531ec8
mov dword [esp], 0x615f2e98
mov dword [0x615f2e98], esi
mov dword [0x615f2e9c], edi
mov byte [0x615f2ea0], 0x5b
call fcn.6152b7e0
mov dword [esp + 0x2c], 0x69502612
movzx eax, byte [0x615f0140]
test al, al
je 0x61531e80
mov dword [esp], 0x615f2ea8
mov dword [0x615f2ea8], esi
mov dword [0x615f2eac], edi
mov byte [0x615f2eb0], 0x5b
call sub.msvcrt.dll_getenv
test eax, eax
je 0x61531f58
lea eax, [esp + 0x2c]
add ebp, 2
call eax
mov eax, dword [esp + 0x1c]
cmp ebp, eax
je 0x61531f67
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
movzx ebx, word [ebp]
movzx eax, byte [0x615f0150]
test al, al
je 0x61531e38
mov dword [esp], 0x615f2ec8
mov dword [0x615f2ec8], esi
mov dword [0x615f2ecc], edi
mov byte [0x615f2ed0], 0x5b
call fcn.6152b7e0
movzx eax, byte [0x615f00f8]
test al, al
je 0x61531df0
mov dword [esp], 0x615f2e18
mov dword [0x615f2e18], esi
mov dword [0x615f2e1c], edi
mov byte [0x615f2e20], 0x5b
call fcn.6152b7e0
movzx eax, byte [0x615f0118]
test al, al
je 0x61531da8
mov dword [esp], 0x615f2e58
mov dword [0x615f2e58], esi
mov dword [0x615f2e5c], edi
mov byte [0x615f2e60], 0x5b
call fcn.6152b7e0
mov dword [esp + 0x2c], 0x55401e0e
movzx eax, byte [0x615f0120]
test al, al
je 0x61531d60
mov dword [esp], 0x615f2e68
mov dword [0x615f2e68], esi
mov dword [0x615f2e6c], edi
mov byte [0x615f2e70], 0x5b
call sub.msvcrt.dll_getenv
test eax, eax
je 0x61531ce6
lea eax, [esp + 0x2c]
call eax
movzx eax, word [ebp]
shr ax, 0xc
cmp ax, 3
jne 0x61531d0b
mov eax, dword [esp + 0x18]
and ebx, 0xfff
mov edx, dword [esp + 0x58]
add ebx, eax
mov eax, dword [esp + 0x50]
add dword [eax + ebx], edx
movzx eax, byte [0x615f0128]
test al, al
jne 0x61531b40
mov dword [esp], 0x615f0128
call fcn.615dfad0
test eax, eax
je 0x61531b40
mov dword [esp], 0x615e10d0
mov dword [0x615f2e78], esi
mov dword [0x615f2e7c], edi
mov byte [0x615f2e80], 0x5b
call fcn.615013c0
mov dword [esp], 0x615f0128
call fcn.615dfba0
jmp 0x61531b40
mov dword [esp], 0x615f0120
call fcn.615dfad0
test eax, eax
je 0x61531cbd
mov dword [esp], 0x615e10c0
mov dword [0x615f2e68], esi
mov dword [0x615f2e6c], edi
mov byte [0x615f2e70], 0x5b
call fcn.615013c0
mov dword [esp], 0x615f0120
call fcn.615dfba0
jmp 0x61531cbd
mov dword [esp], 0x615f0118
call fcn.615dfad0
test eax, eax
je 0x61531c87
mov dword [esp], 0x615e10b0
mov dword [0x615f2e58], esi
mov dword [0x615f2e5c], edi
mov byte [0x615f2e60], 0x5b
call fcn.615013c0
mov dword [esp], 0x615f0118
call fcn.615dfba0
jmp 0x61531c87
mov dword [esp], 0x615f00f8
call fcn.615dfad0
test eax, eax
je 0x61531c59
mov dword [esp], 0x615e10a0
mov dword [0x615f2e18], esi
mov dword [0x615f2e1c], edi
mov byte [0x615f2e20], 0x5b
call fcn.615013c0
mov dword [esp], 0x615f00f8
call fcn.615dfba0
jmp 0x61531c59
mov dword [esp], 0x615f0150
call fcn.615dfad0
test eax, eax
je 0x61531c2b
mov dword [esp], 0x615e1090
mov dword [0x615f2ec8], esi
mov dword [0x615f2ecc], edi
mov byte [0x615f2ed0], 0x5b
call fcn.615013c0
mov dword [esp], 0x615f0150
call fcn.615dfba0
jmp 0x61531c2b
mov dword [esp], 0x615f0140
call fcn.615dfad0
test eax, eax
je 0x61531bd2
mov dword [esp], 0x615e1100
mov dword [0x615f2ea8], esi
mov dword [0x615f2eac], edi
mov byte [0x615f2eb0], 0x5b
call fcn.615013c0
mov dword [esp], 0x615f0140
call fcn.615dfba0
jmp 0x61531bd2
mov dword [esp], 0x615f0138
call fcn.615dfad0
test eax, eax
je 0x61531b9c
mov dword [esp], 0x615e10f0
mov dword [0x615f2e98], esi
mov dword [0x615f2e9c], edi
mov byte [0x615f2ea0], 0x5b
call fcn.615013c0
mov dword [esp], 0x615f0138
call fcn.615dfba0
jmp 0x61531b9c
mov dword [esp], 0x615f0130
call fcn.615dfad0
test eax, eax
je 0x61531b6e
mov dword [esp], 0x615e10e0
mov dword [0x615f2e88], esi
mov dword [0x615f2e8c], edi
mov byte [0x615f2e90], 0x5b
call fcn.615013c0
mov dword [esp], 0x615f0130
call fcn.615dfba0
jmp 0x61531b6e
mov eax, dword [esp + 0x1c]
add ebp, 2
cmp ebp, eax
jne 0x61531c0e
mov eax, dword [esp + 0x54]
mov ebx, dword [eax + 4]
add ebx, dword [esp + 0x54]
mov dword [esp + 0x54], ebx
movzx eax, byte [0x615f0148]
test al, al
je 0x61532117
mov dword [esp], 0x615f2eb8
mov dword [0x615f2eb8], esi
mov dword [0x615f2ebc], edi
mov byte [0x615f2ec0], 0x5b
call fcn.6152b7e0
movzx eax, byte [0x615f0100]
test al, al
je 0x615320d3
mov dword [esp], 0x615f2e28
mov dword [0x615f2e28], esi
mov dword [0x615f2e2c], edi
mov byte [0x615f2e30], 0x5b
call fcn.6152b7e0
movzx eax, byte [0x615f0108]
test al, al
je 0x6153208f
mov dword [esp], 0x615f2e38
mov dword [0x615f2e38], esi
mov dword [0x615f2e3c], edi
mov byte [0x615f2e40], 0x5b
call fcn.6152b7e0
mov dword [esp + 0x2c], 0x7d602e16
movzx eax, byte [0x615f0110]
test al, al
je 0x61532052
mov dword [esp], 0x615f2e48
mov dword [0x615f2e48], esi
mov dword [0x615f2e4c], edi
mov byte [0x615f2e50], 0x5b
call sub.msvcrt.dll_getenv
test eax, eax
je 0x6153215b
lea eax, [esp + 0x2c]
call eax
mov edx, dword [ebx]
test edx, edx
jne 0x61531b10
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], 0x615f0110
call fcn.615dfad0
test eax, eax
je 0x61532013
mov dword [esp], 0x615e1140
mov dword [0x615f2e48], esi
mov dword [0x615f2e4c], edi
mov byte [0x615f2e50], 0x5b
call fcn.615013c0
mov dword [esp], 0x615f0110
call fcn.615dfba0
jmp 0x61532013
mov dword [esp], 0x615f0108
call fcn.615dfad0
test eax, eax
je 0x61531fe1
mov dword [esp], 0x615e1130
mov dword [0x615f2e38], esi
mov dword [0x615f2e3c], edi
mov byte [0x615f2e40], 0x5b
call fcn.615013c0
mov dword [esp], 0x615f0108
call fcn.615dfba0
jmp 0x61531fe1
mov dword [esp], 0x615f0100
call fcn.615dfad0
test eax, eax
je 0x61531fb3
mov dword [esp], 0x615e1120
mov dword [0x615f2e28], esi
mov dword [0x615f2e2c], edi
mov byte [0x615f2e30], 0x5b
call fcn.615013c0
mov dword [esp], 0x615f0100
call fcn.615dfba0
jmp 0x61531fb3
mov dword [esp], 0x615f0148
call fcn.615dfad0
test eax, eax
je 0x61531f85
mov dword [esp], 0x615e1110
mov dword [0x615f2eb8], esi
mov dword [0x615f2ebc], edi
mov byte [0x615f2ec0], 0x5b
call fcn.615013c0
mov dword [esp], 0x615f0148
call fcn.615dfba0
jmp 0x61531f85
mov edx, dword [ebx]
test edx, edx
jne 0x61531b10
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret