Function at 0x10005500
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
mov edi, ecx
push esi
mov esi, edx
push ebx
sub esp, 0x224
test edx, edx
setne cl
test edi, edi
setne dl
test cl, dl
je 0x10005744
test eax, eax
je 0x10005744
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x210], eax
test eax, eax
je 0x1000577e
movzx ebx, word [esi + 0xe]
mov eax, dword [esi + 4]
mov edx, ebx
imul edx, eax
shl eax, 4
add eax, 0x1f
and eax, 0xffe0
shr eax, 4
add edx, 0x1f
mov dword [ebp - 0x224], eax
and edx, 0xffe0
mov eax, dword [esi + 0x20]
shr edx, 3
mov dword [ebp - 0x218], edx
test eax, eax
je 0x10005761
mov edx, dword [esi]
mov dword [ebp - 0x21c], esi
lea ecx, [ebp - 0x20c]
mov word [ebp - 0x214], bx
mov ebx, ecx
add edx, esi
mov dword [ebp - 0x220], edi
lea eax, [edx + eax*4]
mov edi, eax
lea esi, [esi]
movzx eax, byte [edx + 2]
add edx, 4
add ebx, 2
imul ecx, eax, 0x1e
movzx eax, byte [edx - 3]
imul eax, eax, 0x3b
add eax, ecx
movzx ecx, byte [edx - 4]
lea esi, [ecx + ecx*4]
lea ecx, [ecx + esi*2]
add eax, ecx
sar eax, 2
mov word [ebx - 2], ax
cmp edi, edx
jne 0x100055a0
mov esi, dword [ebp - 0x21c]
movzx ebx, word [ebp - 0x214]
mov edi, dword [ebp - 0x220]
mov ecx, dword [esi + 8]
test ecx, ecx
jle 0x10005739
mov dword [ebp - 0x214], 0
mov eax, dword [ebp - 0x224]
add eax, eax
mov dword [ebp - 0x21c], eax
jmp 0x1000563d
cmp bx, 1
je 0x100056d0
inc dword [ebp - 0x214]
mov ebx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x214]
add dword [ebp - 0x210], ebx
add edi, dword [ebp - 0x218]
cmp dword [esi + 8], eax
jle 0x10005739
movzx ebx, word [esi + 0xe]
cmp bx, 4
je 0x10005680
cmp bx, 8
jne 0x10005608
mov edx, dword [esi + 4]
mov ecx, dword [ebp - 0x210]
xor eax, eax
test edx, edx
jle 0x10005612
lea esi, [esi]
nop
movzx edx, byte [edi + eax]
movzx edx, word [ebp + edx*2 - 0x20c]
mov word [ecx + eax*2], dx
inc eax
cmp dword [esi + 4], eax
jg 0x10005660
jmp 0x10005612
xor eax, eax
cmp dword [esi + 4], 1
mov ecx, dword [ebp - 0x210]
jle 0x10005612
nop
movzx edx, byte [edi + eax]
shr dl, 4
movzx edx, dl
movzx edx, word [ebp + edx*2 - 0x20c]
mov word [ecx + eax*4], dx
movzx edx, byte [edi + eax]
and edx, 0xf
movzx edx, word [ebp + edx*2 - 0x20c]
mov word [ecx + eax*4 + 2], dx
mov ebx, dword [esi + 4]
inc eax
mov edx, ebx
shr edx, 0x1f
add edx, ebx
sar edx, 1
cmp edx, eax
jg 0x10005690
jmp 0x10005612
cmp dword [esi + 4], 7
jle 0x10005612
xor eax, eax
mov dword [ebp - 0x220], edi
mov ebx, edi
mov edi, eax
lea esi, [esi]
lea esi, [esi]
mov edx, edi
mov ecx, 7
shl edx, 4
add edx, dword [ebp - 0x210]
movzx eax, byte [ebx]
add edx, 2
sar eax, cl
and eax, 1
movzx eax, word [ebp + eax*2 - 0x20c]
mov word [edx - 2], ax
dec ecx
jne 0x10005700
mov edx, dword [esi + 4]
inc edi
inc ebx
lea eax, [edx + 7]
test edx, edx
cmovns eax, edx
sar eax, 3
cmp eax, edi
jg 0x100056f0
mov edi, dword [ebp - 0x220]
jmp 0x10005612
add esp, 0x224
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 8], 0xc5
mov dword [esp + 4], str..._src_wine_dlls_msrle32_msrle32.c
mov dword [esp], str.pi___NULL__lpbiIn___NULL__lpIn___NULL
call dword [sym.imp.ucrtbase.dll__assert]
mov dword [esp + 8], 0xcc
mov dword [esp + 4], str..._src_wine_dlls_msrle32_msrle32.c
mov dword [esp], str.lpbiIn__biClrUsed___0
call dword [sym.imp.ucrtbase.dll__assert]
mov dword [esp + 8], 0xc6
mov dword [esp + 4], str..._src_wine_dlls_msrle32_msrle32.c
mov dword [esp], str.pi__pCurFrame___NULL
call dword [sym.imp.ucrtbase.dll__assert]
nop
nop
nop
nop
nop