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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
mov eax, dword [ebp + 0x2c]
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
movzx eax, ax
inc eax
mov dword [ebp - 0x24], 1
push eax
push dword [esi + 0x74]
mov dword [ebp - 8], ebx
call fcn.00430b00
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x46f1ec
pop esi
mov eax, 0xfffffc17
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0x10]
push edi
cmp eax, 6
jb 0x46f904
nop
mov edi, dword [ebp + 0xc]
add edi, ebx
mov ebx, 6
mov edx, dword [edi + 2]
movzx ecx, word [edi]
mov dword [ebp - 4], edx
cmp eax, edx
jb 0x46fa2a
lea eax, [ecx - 0xccc0]
cmp eax, 4
ja case.default.0x46f22a
jmp dword [eax*4 + 0x46fc08]
push 1
push dword [esi + 0x78]
call fcn.0042f7e0
add esp, 8
test eax, eax
je 0x46f265
push str.ProgressiveSync
push 0x5c6cc0
push str.C:BuildFreeRDP_stable_1.1BuildFreeRDPlibfreerdpcodecprogressive.c
push 0x62e
push 1
push 0
push dword [esi + 0x78]
call fcn.0042fce0
add esp, 0x1c
mov eax, dword [ebp - 4]
add eax, 0xfffffffa
cmp eax, 6
jne 0x46f924
cmp dword [edi + 6], 0xcaccacca
lea ebx, [eax + 6]
jne 0x46f918
mov eax, 0x100
cmp word [edi + 0xa], ax
je 0x46f8e0
pop edi
pop esi
mov eax, 0xfffffc12
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [edx - 6]
cmp eax, 6
jb 0x46f930
mov eax, dword [edi + 6]
mov ebx, 0xc
mov di, word [edi + 0xa]
push 1
push dword [esi + 0x78]
mov dword [ebp + 0x2c], eax
call fcn.0042f7e0
add esp, 8
test eax, eax
je 0x46f8e0
movzx eax, di
push eax
push dword [ebp + 0x2c]
push str.ProgressiveFrameBegin:_frameIndex:__I32u_regionCount:__hu
push 0x5c6cc0
push str.C:BuildFreeRDP_stable_1.1BuildFreeRDPlibfreerdpcodecprogressive.c
push 0x650
push 1
push 0
push dword [esi + 0x78]
call fcn.0042fce0
add esp, 0x24
jmp 0x46f8e0
push 1
push dword [esi + 0x78]
call fcn.0042f7e0
add esp, 8
test eax, eax
je 0x46f332
push str.ProgressiveFrameEnd
push 0x5c6cc0
push str.C:BuildFreeRDP_stable_1.1BuildFreeRDPlibfreerdpcodecprogressive.c
push 0x659
push 1
push 0
push dword [esi + 0x78]
call fcn.0042fce0
add esp, 0x1c
mov eax, dword [ebp - 4]
add eax, 0xfffffffa
je 0x46f8e0
pop edi
pop esi
mov eax, 0xfffffc10
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [edx - 6]
cmp eax, 4
jne 0x46f948
cmp word [edi + 7], 0x40
mov ebx, 0xa
mov al, byte [edi + 9]
mov byte [ebp + 0x2f], al
jne 0x46f93c
push 1
push dword [esi + 0x78]
call fcn.0042f7e0
add esp, 8
test eax, eax
je 0x46f3a5
movzx eax, byte [ebp + 0x2f]
push eax
push str.ProgressiveContext:_flags:_0x_02hhX
push 0x5c6cc0
push str.C:BuildFreeRDP_stable_1.1BuildFreeRDPlibfreerdpcodecprogressive.c
push 0x671
push 1
push 0
push dword [esi + 0x78]
call fcn.0042fce0
add esp, 0x20
test byte [ebp + 0x2f], 1
jne 0x46f8e0
push 3
push dword [esi + 0x78]
call fcn.0042f7e0
add esp, 8
test eax, eax
je 0x46f8e0
push str.RFX_SUBBAND_DIFFING_is_not_set
push 0x5c6cc0
push str.C:BuildFreeRDP_stable_1.1BuildFreeRDPlibfreerdpcodecprogressive.c
push 0x674
push 3
push 0
push dword [esi + 0x78]
call fcn.0042fce0
add esp, 0x1c
jmp 0x46f8e0
lea eax, [edx - 6]
mov word [esi + 0x2c], cx
mov dword [esi + 0x30], edx
cmp eax, 0xc
jb 0x46fa12
movzx eax, byte [edi + 6]
mov ebx, 0x12
mov byte [esi + 0x34], al
cmp byte [esi + 0x34], 0x40
movzx eax, word [edi + 7]
mov word [esi + 0x36], ax
movzx eax, byte [edi + 9]
mov byte [esi + 0x38], al
movzx eax, byte [edi + 0xa]
mov byte [esi + 0x39], al
movzx eax, byte [edi + 0xb]
mov byte [esi + 0x3a], al
movzx eax, word [edi + 0xc]
mov word [esi + 0x3c], ax
mov eax, dword [edi + 0xe]
mov dword [esi + 0x40], eax
mov dword [ebp + 0x2c], ebx
jne 0x46fa06
movzx eax, word [esi + 0x36]
cmp eax, 1
jb 0x46f9fa
cmp byte [esi + 0x38], 7
ja 0x46f9ee
mov ecx, eax
mov eax, dword [ebp - 4]
add eax, 0xffffffee
lea edx, [ecx*8]
cmp eax, edx
jb 0x46f9e2
cmp ecx, dword [esi + 8]
jbe 0x46f494
push edx
push dword [esi + 0xc]
call fcn.00580d5f
add esp, 8
test eax, eax
je 0x46f954
mov dword [esi + 0xc], eax
movzx eax, word [esi + 0x36]
mov dword [esi + 8], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x44], eax
test eax, eax
je 0x46f9d6
xor eax, eax
xor edx, edx
cmp ax, word [esi + 0x36]
jae 0x46f4e8
lea esp, [esp]
mov eax, dword [esi + 0x44]
movzx ecx, dx
inc edx
lea ecx, [eax + ecx*8]
movzx eax, word [edi + ebx]
mov word [ecx], ax
movzx eax, word [edi + ebx + 2]
mov word [ecx + 2], ax
movzx eax, word [edi + ebx + 4]
mov word [ecx + 4], ax
movzx eax, word [edi + ebx + 6]
add ebx, 8
mov word [ecx + 6], ax
cmp dx, word [esi + 0x36]
jb 0x46f4b0
mov dword [ebp + 0x2c], ebx
movzx edx, byte [esi + 0x38]
mov ecx, dword [ebp - 4]
sub ecx, ebx
lea eax, [edx + edx*4]
cmp ecx, eax
jb 0x46f9ca
cmp edx, dword [esi + 0x1c]
jbe 0x46f524
lea eax, [edx + edx*4]
add eax, eax
push eax
push dword [esi + 0x20]
call fcn.00580d5f
add esp, 8
test eax, eax
je 0x46f960
mov dword [esi + 0x20], eax
movzx eax, byte [esi + 0x38]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x20]
mov dword [esi + 0x48], eax
test eax, eax
je 0x46f9be
xor edi, edi
cmp byte [esi + 0x38], 0
jbe 0x46f598
lea ebx, [ebx]
movzx eax, di
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x48]
lea eax, [eax + ecx*2]
push eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 8]
add eax, dword [ebp + 0xc]
add eax, ebx
push eax
call fcn.0046eec0
push 6
push dword [ebp - 0x1c]
add ebx, 5
mov dword [ebp + 0x2c], ebx
call fcn.00471370
add esp, 0x10
test eax, eax
je 0x46f990
push 0xf
push dword [ebp - 0x1c]
call fcn.004713e0
add esp, 8
test eax, eax
je 0x46f990
movzx eax, byte [esi + 0x38]
inc edi
cmp di, ax
jb 0x46f540
movzx edx, byte [esi + 0x39]
mov ecx, dword [ebp - 4]
mov eax, edx
sub ecx, ebx
shl eax, 4
cmp ecx, eax
jb 0x46f9b2
cmp edx, dword [esi + 0x24]
jbe 0x46f5d8
mov eax, edx
shl eax, 5
sub eax, edx
push eax
push dword [esi + 0x28]
call fcn.00580d5f
add esp, 8
test eax, eax
je 0x46f96c
mov dword [esi + 0x28], eax
movzx eax, byte [esi + 0x39]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x28]
mov dword [esi + 0x4c], eax
test eax, eax
je 0x46f9a6
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
cmp byte [esi + 0x39], cl
jbe 0x46f65e
movzx eax, cx
mov ecx, dword [ebp - 8]
mov edi, eax
add ecx, dword [ebp + 0xc]
shl edi, 5
sub edi, eax
add edi, dword [esi + 0x4c]
mov al, byte [ecx + ebx]
mov byte [edi], al
lea eax, [edi + 1]
push eax
lea eax, [ecx + 1]
add eax, ebx
push eax
call fcn.0046eec0
mov ecx, dword [ebp - 8]
lea eax, [edi + 0xb]
push eax
mov eax, dword [ebp + 0xc]
add ecx, 6
add eax, ecx
add eax, ebx
push eax
call fcn.0046eec0
mov ecx, dword [ebp - 8]
lea eax, [edi + 0x15]
push eax
mov eax, dword [ebp + 0xc]
add ecx, 0xb
add eax, ecx
add eax, ebx
push eax
call fcn.0046eec0
mov ecx, dword [ebp - 0x1c]
add esp, 0x18
movzx eax, byte [esi + 0x39]
inc ecx
add ebx, 0x10
mov dword [ebp - 0x1c], ecx
cmp cx, ax
jb 0x46f5f0
mov dword [ebp + 0x2c], ebx
mov eax, dword [ebp - 4]
sub eax, ebx
cmp eax, dword [esi + 0x40]
jb 0x46f99a
mov edi, dword [ebp - 0xc]
mov eax, dword [edi + 0x14]
cmp dword [esi + 0x14], eax
jae 0x46f697
shl eax, 2
push eax
push dword [esi + 0x18]
call fcn.00580d5f
add esp, 8
test eax, eax
je 0x46f978
mov dword [esi + 0x18], eax
mov eax, dword [edi + 0x14]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x50], eax
test eax, eax
je 0x46f990
push 1
push dword [esi + 0x78]
call fcn.0042f7e0
add esp, 8
test eax, eax
je 0x46f6f5
movzx eax, byte [esi + 0x39]
push eax
movzx eax, byte [esi + 0x38]
push eax
movzx eax, byte [esi + 0x3a]
push eax
push dword [esi + 0x40]
movzx eax, word [esi + 0x3c]
push eax
movzx eax, word [esi + 0x36]
push eax
push str.ProgressiveRegion:_numRects:__hu_numTiles:__hu_tileDataSize:__I32u_flags:_0x_02hhX_numQuant:__hhu_numProgQuant:__hhu
push 0x5c6cc0
push str.C:BuildFreeRDP_stable_1.1BuildFreeRDPlibfreerdpcodecprogressive.c
push 0x707
push 1
push 0
push dword [esi + 0x78]
call fcn.0042fce0
add esp, 0x34
test byte [esi + 0x3a], 1
jne 0x46f72f
push 3
push dword [esi + 0x78]
call fcn.0042f7e0
add esp, 8
test eax, eax
je 0x46f72f
push str.RFX_DWT_REDUCE_EXTRAPOLATE_is_not_set
push 0x5c6cc0
push str.C:BuildFreeRDP_stable_1.1BuildFreeRDPlibfreerdpcodecprogressive.c
push 0x70a
push 3
push 0
push dword [esi + 0x78]
call fcn.0042fce0
add esp, 0x1c
movzx eax, word [edi + 0xc]
mov dword [ebp - 0x14], eax
movzx eax, word [edi + 0x10]
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x20], 0
cmp ax, word [esi + 0x36]
jae 0x46f859
mov ebx, dword [ebp - 0x20]
mov eax, dword [esi + 0x44]
movzx ecx, bx
movzx edi, word [eax + ecx*8 + 2]
lea edx, [eax + ecx*8]
mov dword [ebp - 0x34], ecx
movzx ecx, word [edx]
mov ax, cx
mov dword [ebp - 0x20], edx
shr ax, 6
add ecx, 0x3f
movzx eax, ax
mov dword [ebp - 0x28], eax
mov ax, di
shr ax, 6
movzx eax, ax
mov dword [ebp - 0x2c], eax
movzx eax, word [edx + 4]
add eax, ecx
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
movzx eax, ax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x20]
movzx eax, word [eax + 6]
add eax, 0x3f
lea eax, [eax + edi]
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
movzx ecx, ax
mov eax, dword [ebp - 0x28]
cmp ax, word [ebp - 0x14]
jae 0x46f7d2
movzx eax, ax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x2c]
cmp ax, word [ebp - 0x1c]
jae 0x46f7e1
movzx eax, ax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x30]
cmp ax, word [ebp - 0x18]
jbe 0x46f7f0
movzx eax, ax
mov dword [ebp - 0x18], eax
cmp cx, word [ebp - 0x10]
jbe 0x46f7fb
mov edi, ecx
mov dword [ebp - 0x10], edi
push 1
push dword [esi + 0x78]
call fcn.0042f7e0
add esp, 8
test eax, eax
je 0x46f848
mov ecx, dword [ebp - 0x20]
movzx eax, word [ecx + 6]
push eax
movzx eax, word [ecx + 4]
push eax
movzx eax, word [ecx + 2]
push eax
movzx eax, word [ecx]
push eax
push dword [ebp - 0x34]
push str.rect__hu_:_x:__hu_y:__hu_w:__hu_h:__hu
push 0x5c6cc0
push str.C:BuildFreeRDP_stable_1.1BuildFreeRDPlibfreerdpcodecprogressive.c
push 0x727
push 1
push 0
push dword [esi + 0x78]
call fcn.0042fce0
add esp, 0x30
inc ebx
cmp bx, word [esi + 0x36]
jb 0x46f761
mov ebx, dword [ebp + 0x2c]
mov edi, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
add eax, dword [ebp + 0xc]
push edi
push dword [esi + 0x40]
add eax, ebx
push eax
push esi
call fcn.004705e0
add esp, 0x10
mov dword [ebp - 0x34], eax
test eax, eax
js 0x46fc00
xor ecx, ecx
xor edi, edi
mov word [esi + 0x3c], cx
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x14], edi
jbe 0x46f8de
mov ebx, dword [ebp - 0x10]
xor eax, eax
nop
imul edx, eax, 0xd4
add edx, dword [ecx + 0x18]
cmp dword [edx + 0x68], 0
je 0x46f8cf
movzx eax, word [edx + 0xc]
cmp ax, word [ebp - 0x14]
jb 0x46f8cf
cmp ax, word [ebp - 0x18]
ja 0x46f8cf
movzx eax, word [edx + 0xe]
cmp ax, word [ebp - 0x1c]
jb 0x46f8cf
cmp ax, bx
ja 0x46f8cf
movzx ecx, word [esi + 0x3c]
mov eax, dword [esi + 0x50]
mov dword [eax + ecx*4], edx
inc word [esi + 0x3c]
mov ecx, dword [ebp - 0xc]
inc edi
movzx eax, di
cmp eax, dword [ecx + 0x14]
jb 0x46f890
mov ebx, dword [ebp + 0x2c]
mov eax, dword [ebp - 0x34]
add ebx, eax
mov eax, dword [ebp - 4]
cmp ebx, eax
jne 0x46f984
mov ebx, dword [ebp - 8]
add ebx, eax
mov eax, dword [ebp + 0x10]
sub eax, ebx
mov dword [ebp - 8], ebx
cmp eax, 6
jae 0x46f200
mov eax, dword [ebp + 0x10]
cmp ebx, eax
je 0x46fa36
pop edi
pop esi
mov eax, 0xfffffbef
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffc13
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffc14
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffc11
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffc0e
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffc0f
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffc08
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffc05
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffc02
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffbff
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffbf0
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffc00
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffc01
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffc03
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffc04
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffc06
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffc07
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffc09
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffc0a
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffc0b
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffc0c
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffc0d
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffbf1
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffc15
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x44]
push eax
call sym.wfreerdp.exe_region16_init
xor eax, eax
add esp, 4
xor ebx, ebx
cmp ax, word [esi + 0x36]
jae 0x46fa9f
lea esp, [esp]
mov eax, dword [esi + 0x44]
movzx ecx, bx
mov dx, word [eax + ecx*8]
lea edi, [eax + ecx*8]
add dx, word [ebp + 0x20]
mov word [ebp - 0x38], dx
mov cx, word [edi + 2]
add cx, word [ebp + 0x24]
mov word [ebp - 0x36], cx
movzx eax, word [edi + 4]
add ax, dx
mov word [ebp - 0x34], ax
movzx eax, word [edi + 6]
add ax, cx
mov word [ebp - 0x32], ax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x44]
push eax
push eax
call sym.wfreerdp.exe_region16_union_rect
inc ebx
add esp, 0xc
cmp bx, word [esi + 0x36]
jb 0x46fa50
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x10], ecx
cmp ax, word [esi + 0x3c]
jae 0x46fbf1
mov ebx, dword [ebp + 0x20]
mov eax, dword [esi + 0x50]
movzx ecx, cx
mov ecx, dword [eax + ecx*4]
mov dword [ebp + 0x2c], ecx
movzx eax, word [ecx + 0x50]
add ax, bx
mov word [ebp - 0x38], ax
movzx eax, word [ecx + 0x54]
add ax, word [ebp + 0x24]
mov word [ebp - 0x36], ax
mov eax, dword [ebp - 0x38]
add eax, 0x40
mov word [ebp - 0x34], ax
mov eax, dword [ebp - 0x36]
add eax, 0x40
mov word [ebp - 0x32], ax
lea eax, [ebp - 0x50]
push eax
call sym.wfreerdp.exe_region16_init
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x50]
push eax
call sym.wfreerdp.exe_region16_intersect_rect
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x50]
push eax
call sym.wfreerdp.exe_region16_rects
add esp, 0x18
mov dword [ebp - 0x20], 0
cmp dword [ebp - 0x14], 0
mov ecx, eax
mov dword [ebp - 0x1c], ecx
jbe 0x46fbd4
xor eax, eax
mov dword [ebp - 0x18], eax
nop
mov esi, dword [ebp + 0x2c]
lea edx, [ecx + eax*8]
movzx ecx, word [edx]
mov eax, dword [ebp + 0x2c]
mov edi, ecx
push 0
push 0
sub edi, ebx
movzx ebx, word [edx + 2]
sub edi, dword [eax + 0x50]
mov eax, ebx
sub eax, dword [ebp + 0x24]
sub eax, dword [esi + 0x54]
movzx edx, word [edx + 4]
mov esi, dword [ebp - 0x18]
sub edx, ecx
mov ecx, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp + 0x2c]
push edi
movzx ecx, word [ecx + esi*8 + 6]
sub ecx, ebx
push dword [eax + 0x64]
push dword [eax + 0x60]
push dword [eax + 0x68]
push ecx
mov ecx, dword [ebp - 0x1c]
movzx eax, word [ecx + esi*8]
push edx
push ebx
lea ebx, [ecx + esi*8]
push eax
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call sym.wfreerdp.exe_freerdp_image_copy
mov esi, dword [ebp + 8]
add esp, 0x38
test eax, eax
je 0x46fbca
mov edi, dword [ebp + 0x28]
test edi, edi
je 0x46fbac
push ebx
push edi
push edi
call sym.wfreerdp.exe_region16_union_rect
add esp, 0xc
mov eax, dword [ebp - 0x20]
mov ebx, dword [ebp + 0x20]
inc eax
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
movzx eax, ax
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x14]
jb 0x46fb30
jmp 0x46fbd1
mov dword [ebp - 0x24], 0xffffffd6
mov ebx, dword [ebp + 0x20]
lea eax, [ebp - 0x50]
push eax
call sym.wfreerdp.exe_region16_uninit
mov ecx, dword [ebp - 0x10]
add esp, 4
inc ecx
mov dword [ebp - 0x10], ecx
cmp cx, word [esi + 0x3c]
jb 0x46fab3
lea eax, [ebp - 0x44]
push eax
call sym.wfreerdp.exe_region16_uninit
mov eax, dword [ebp - 0x24]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret