Function at 0x25508b43
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
push esi
mov esi, dword [ebp + 8]
test esi, esi
push edi
mov edi, ecx
mov dword [ebp - 0x1c], edi
jne 0x25508b7a
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x25508b73
push dword [edi + 0x5c]
push 0xbce
push str.xg_
call fcn.2561066f
add esp, 0xc
xor eax, eax
jmp 0x255092d9
push ebx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 4], ebx
and dword [ebp - 4], 8
mov dword [ebp - 8], 1
je 0x25508bad
mov eax, dword [esi]
push esi
call dword [eax + 0x44]
push eax
lea eax, [edi + 0x1a]
push eax
xor eax, eax
call fcn.2560b887
test eax, eax
pop ecx
pop ecx
je 0x25508bad
xor eax, eax
jmp 0x255092d8
cmp dword [ebp - 4], 8
jne 0x25508bc1
mov eax, dword [edi + 0x84]
cmp eax, dword [esi + 0x84]
jne 0x25508ba6
mov dword [ebp - 0x14], ebx
and dword [ebp - 0x14], 4
jne 0x25508d35
mov eax, dword [edi + 0x7c]
cmp eax, dword [esi + 0x7c]
je 0x25508bf0
and dword [ebp - 8], 0
cmp dword [ebp + 0x10], 0
je 0x25508ba6
mov esi, dword [ebp + 0x10]
mov ebx, str.Lemplacement_de_la_rubrique_dans_lenregistrement_est_different_de_lemplacement_d
call fcn.25610907
mov esi, dword [ebp + 8]
mov eax, dword [edi + 0x88]
mov ecx, dword [esi + 0x88]
cmp eax, ecx
je 0x25508c27
and dword [ebp - 8], 0
cmp dword [ebp + 0x10], 0
je 0x25508ba6
push ecx
mov ecx, dword [ebp + 0x10]
push eax
push dword [edi + 0x5c]
mov ebx, str.xg_
push 0xbb8
push ebx
call fcn.2561066f
add esp, 0x14
jmp 0x25508c2c
mov ebx, str.xg_
mov eax, dword [edi + 0xac]
cmp eax, dword [esi + 0xac]
je 0x25508c5d
and dword [ebp - 8], 0
cmp dword [ebp + 0x10], 0
je 0x25508ba6
mov esi, dword [ebp + 0x10]
mov ebx, str.Le_rang_de_la_cl
call fcn.25610907
mov esi, dword [ebp + 8]
mov ebx, str.xg_
mov eax, dword [edi + 0x10]
cmp eax, dword [esi + 0x10]
je 0x25508c87
and dword [ebp - 8], 0
cmp dword [ebp + 0x10], 0
je 0x25508ba6
push dword [edi + 0x5c]
mov ecx, dword [ebp + 0x10]
push 0xbbc
push ebx
call fcn.2561066f
add esp, 0xc
xor edx, edx
lea eax, [edi + 0xa4]
mov dx, word [eax]
xor ecx, ecx
mov cx, word [esi + 0xa4]
cmp dx, cx
mov dword [ebp - 0x18], edx
je 0x25508d3a
test byte [ebp + 0xc], 2
jne 0x25508d3a
movzx eax, dx
mov dword [ebp - 0x10], eax
test ah, ah
mov dword [ebp - 0xc], ecx
mov eax, 0x4000
jns 0x25508ccc
test ax, cx
je 0x25508ccc
or byte [ebp - 0xb], 0x80
mov edx, dword [ebp - 0x18]
and edx, eax
cmp dx, ax
mov dword [ebp - 0x20], edx
jne 0x25508ce0
test ch, ch
jns 0x25508cee
or dword [ebp - 0xc], eax
test ch, ch
jns 0x25508cee
cmp word [ebp - 0x20], ax
jne 0x25508cee
or byte [ebp - 0xf], 0x80
test ax, cx
je 0x25508cfc
test byte [ebp - 0x17], 0x80
je 0x25508cfc
or dword [ebp - 0x10], eax
mov ax, word [ebp - 0xc]
cmp word [ebp - 0x10], ax
je 0x25508d3a
test ch, 0xf0
jne 0x25508d11
test byte [ebp - 0x17], 0xf0
je 0x25508d3a
and dword [ebp - 8], 0
cmp dword [ebp + 0x10], 0
je 0x25508ba6
push dword [edi + 0x5c]
mov ecx, dword [ebp + 0x10]
push 0xbc0
push ebx
call fcn.2561066f
add esp, 0xc
jmp 0x25508d3a
mov ebx, str.xg_
mov eax, dword [edi + 0x14]
cmp eax, dword [esi + 0x14]
je 0x25508d64
and dword [ebp - 8], 0
cmp dword [ebp + 0x10], 0
je 0x25508ba6
push dword [edi + 0x5c]
mov edx, dword [ebp + 0x10]
push 0xbbc
push ebx
call fcn.256108cf
add esp, 0xc
push dword [esi + 0x5c]
push dword [edi + 0x5c]
call dword [sym.imp.MSVCRT.dll__wcsicmp]
test eax, eax
pop ecx
pop ecx
je 0x25508d9b
and dword [ebp - 8], 0
cmp dword [ebp + 0x10], 0
je 0x25508ba6
push dword [esi + 0x5c]
mov ecx, dword [ebp + 0x10]
push dword [edi + 0x5c]
push 0xbbd
push ebx
call fcn.2561066f
add esp, 0x10
mov eax, dword [edi + 0x70]
mov ecx, dword [esi + 0x70]
cmp eax, ecx
je 0x25508dc9
and dword [ebp - 8], 0
cmp dword [ebp + 0x10], 0
je 0x25508ba6
push ecx
mov ecx, dword [ebp + 0x10]
push eax
push dword [edi + 0x5c]
push 0xbbe
push ebx
call fcn.2561066f
add esp, 0x14
mov eax, dword [edi + 0x74]
mov ecx, dword [esi + 0x74]
cmp eax, ecx
je 0x25508e00
test byte [edi + 0xa5], 0x10
jne 0x25508e00
and dword [ebp - 8], 0
cmp dword [ebp + 0x10], 0
je 0x25508ba6
push ecx
mov ecx, dword [ebp + 0x10]
push eax
push dword [edi + 0x5c]
push 0xbbf
push ebx
call fcn.2561066f
add esp, 0x14
test byte [edi + 0xa5], 0xf0
je 0x25508e55
cmp dword [ebp - 4], 8
jne 0x25508e55
mov eax, dword [edi + 0x14]
cmp eax, 0xc
je 0x25508e1c
cmp eax, 0x15
jne 0x25508e55
mov eax, dword [esi]
push esi
call dword [eax + 0x148]
mov esi, eax
mov eax, dword [edi]
push edi
call dword [eax + 0x148]
cmp eax, esi
je 0x25508e52
cmp dword [ebp + 0x10], 0
je 0x25508ba6
push dword [edi + 0x5c]
mov ecx, dword [ebp + 0x10]
push 0xbc0
push ebx
call fcn.2561066f
add esp, 0xc
mov esi, dword [ebp + 8]
mov cx, word [edi + 0xa6]
mov ax, word [esi + 0xa6]
cmp cx, ax
je 0x25508f19
cmp dword [ebp + 0x10], 0
je 0x25509137
and dword [ebp - 0x18], 0
cmp dword [ebp - 4], 8
jne 0x25509025
cmp dword [ebp - 0x14], 4
je 0x25508eaf
xor eax, ecx
test ah, ah
jns 0x25508eaf
push dword [edi + 0x5c]
mov ecx, dword [ebp + 0x10]
push 0xc2e
push ebx
call fcn.2561066f
add esp, 0xc
and dword [ebp - 8], 0
mov dword [ebp - 0x18], 1
cmp dword [ebp - 4], 8
jne 0x25509025
mov ax, word [edi + 0xa6]
xor ax, word [esi + 0xa6]
test ah, 0x40
je 0x25508eeb
push dword [edi + 0x5c]
mov ecx, dword [ebp + 0x10]
push 0xc2f
push ebx
call fcn.2561066f
add esp, 0xc
and dword [ebp - 8], 0
mov dword [ebp - 0x18], 1
cmp dword [ebp - 4], 8
jne 0x25509025
cmp dword [ebp - 0x18], 0
jne 0x25508f19
cmp dword [ebp - 0x14], 4
je 0x25508f19
push dword [edi + 0x5c]
mov ecx, dword [ebp + 0x10]
push 0xbc2
push ebx
call fcn.2561066f
add esp, 0xc
and dword [ebp - 8], 0
cmp dword [ebp - 4], 8
jne 0x25509025
mov eax, dword [ebp + 8]
mov esi, dword [edi + 0xa8]
mov eax, dword [eax + 0xa8]
cmp esi, eax
je 0x25508fa6
mov ecx, dword [ebp - 0x14]
cmp ecx, 4
je 0x25508fa6
mov edx, eax
xor edx, esi
test edx, edx
js 0x25508ba6
cmp ecx, 4
je 0x25508fa6
mov edx, eax
xor edx, esi
test edx, 0x40000000
jne 0x25508ba6
cmp ecx, 4
je 0x25508fa6
mov edx, eax
xor edx, esi
test edx, 0x20000000
jne 0x25508ba6
cmp ecx, 4
je 0x25508fa6
test byte [ebp + 0xc], 0x20
je 0x25508fa6
xor eax, esi
test eax, 0x10000000
je 0x25508fa6
mov eax, edi
call fcn.255731d4
test eax, eax
jne 0x25508fa6
test byte [edi + 0xa5], 0x10
jne 0x25508fa6
cmp dword [edi + 0x70], 1
jbe 0x25508ba6
cmp dword [ebp - 4], 8
jne 0x25509025
mov eax, dword [edi + 0xf0]
mov ecx, dword [ebp + 8]
cmp eax, dword [ecx + 0xf0]
jne 0x25508ba6
cmp dword [ebp - 4], 8
jne 0x25509025
and dword [ebp - 0xc], 0
test eax, eax
jbe 0x25509025
xor ebx, ebx
mov esi, dword [edi + 0xec]
mov eax, dword [ebp + 8]
add esi, ebx
lea edi, [ebp - 0x38]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [eax + 0xec]
add esi, ebx
lea edi, [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
push 0xc
lea eax, [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
push eax
lea eax, [ebp - 0x38]
push eax
movsd dword es:[edi], dword [esi]
call sub.MSVCRT.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x25508ba6
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
add ebx, 0xc
cmp ecx, dword [eax + 0xf0]
mov edi, eax
jb 0x25508fd1
mov ebx, str.xg_
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x110]
mov ecx, dword [edi + 0x110]
cmp ecx, eax
je 0x2550905c
and dword [ebp - 8], 0
cmp dword [ebp + 0x10], 0
je 0x25508ba6
push eax
push ecx
push dword [edi + 0x5c]
mov ecx, dword [ebp + 0x10]
push 0xbc3
push ebx
call fcn.2561066f
add esp, 0x14
test byte [edi + 0xa5], 0x10
je 0x25509159
xor esi, esi
cmp dword [edi + 0x110], esi
mov dword [ebp - 0xc], esi
jbe 0x25509159
mov ecx, dword [ebp + 8]
xor eax, eax
cmp esi, dword [ecx + 0x110]
jae 0x2550908e
mov eax, esi
call fcn.2549e7ea
push 0
push dword [ebp + 0xc]
mov ecx, edi
push eax
mov eax, esi
call fcn.2549e7ea
mov ecx, eax
call fcn.25508b43
test eax, eax
jne 0x255090d4
and dword [ebp - 8], eax
cmp dword [ebp + 0x10], eax
je 0x25508ba6
push dword [edi + 0x5c]
mov eax, esi
mov ecx, edi
call fcn.2549e7ea
push dword [eax + 0x5c]
mov ecx, dword [ebp + 0x10]
push 0xbca
push ebx
call fcn.2561066f
add esp, 0x10
mov eax, dword [ebp + 8]
cmp esi, dword [eax + 0x110]
jae 0x25509149
add eax, 8
lea ecx, [edi + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ecx]
push esi
call dword [eax + 0x28]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
push esi
mov word [ebp - 2], ax
call dword [edx + 0x28]
mov cx, word [ebp - 2]
cmp cx, ax
je 0x25509146
and dword [ebp - 8], 0
cmp dword [ebp + 0x10], 0
je 0x25508ba6
mov esi, dword [ebp - 0xc]
push dword [edi + 0x5c]
mov eax, esi
mov ecx, edi
call fcn.2549e7ea
push dword [eax + 0x5c]
mov ecx, dword [ebp + 0x10]
push 0xbcd
push ebx
call fcn.2561066f
add esp, 0x10
jmp 0x25509149
cmp dword [ebp - 4], 8
jne 0x25509025
jmp 0x25508ba6
mov esi, dword [ebp - 0xc]
inc esi
cmp esi, dword [edi + 0x110]
mov dword [ebp - 0xc], esi
jb 0x2550907a
cmp dword [edi + 0x14], 0x16
jne 0x2550920d
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10c]
mov esi, eax
mov eax, dword [edi]
push edi
call dword [eax + 0x10c]
cmp eax, esi
je 0x255091b9
and dword [ebp - 8], 0
cmp dword [ebp + 0x10], 0
je 0x25508ba6
mov esi, dword [ebp + 8]
mov eax, dword [esi]
push esi
call dword [eax + 0x10c]
push eax
mov eax, dword [edi]
push edi
call dword [eax + 0x10c]
mov ecx, dword [ebp + 0x10]
push eax
push dword [edi + 0x5c]
push 0xbc4
push ebx
call fcn.2561066f
add esp, 0x14
jmp 0x255091bc
mov esi, dword [ebp + 8]
mov eax, dword [esi]
push esi
call dword [eax + pe_nt_image_headers32]
mov esi, eax
mov eax, dword [edi]
push edi
call dword [eax + pe_nt_image_headers32]
cmp eax, esi
je 0x2550920d
and dword [ebp - 8], 0
cmp dword [ebp + 0x10], 0
je 0x25508ba6
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push eax
call dword [ecx + pe_nt_image_headers32]
push eax
mov eax, dword [edi]
push edi
call dword [eax + pe_nt_image_headers32]
mov ecx, dword [ebp + 0x10]
push eax
push dword [edi + 0x5c]
push 0xbc5
push ebx
call fcn.2561066f
add esp, 0x14
cmp dword [edi + 0x14], 0x14
mov esi, dword [ebp + 8]
jne 0x255092d5
cmp dword [esi + 0x14], 0x14
jne 0x255092d5
and dword [ebp + 8], 0
test byte [ebp + 0xc], 0x10
jne 0x25509257
mov eax, dword [esi + 0x148]
test eax, eax
je 0x25509253
push 0x2567d328
push eax
call dword [sym.imp.MSVCRT.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
jne 0x25509253
mov dword [ebp + 8], 1
jmp 0x25509257
and dword [ebp + 8], 0
mov ecx, dword [edi + 0x148]
test ecx, ecx
je 0x25509267
cmp word [ecx], 0
jne 0x25509277
mov eax, dword [esi + 0x148]
test eax, eax
je 0x2550927b
cmp word [eax], 0
je 0x2550927b
xor eax, eax
jmp 0x2550927e
xor eax, eax
inc eax
or dword [ebp + 8], eax
test ecx, ecx
je 0x255092a0
mov eax, dword [esi + 0x148]
test eax, eax
je 0x255092a0
push eax
push ecx
call dword [sym.imp.MSVCRT.dll__wcsicmp]
test eax, eax
pop ecx
pop ecx
jne 0x255092a0
inc eax
jmp 0x255092a2
xor eax, eax
or eax, dword [ebp + 8]
jne 0x255092d5
and dword [ebp - 8], 0
cmp dword [ebp + 0x10], 0
je 0x25508ba6
push dword [esi + 0x148]
mov ecx, dword [ebp + 0x10]
push dword [edi + 0x148]
push dword [edi + 0x5c]
push 0x1500
push ebx
call fcn.2561066f
add esp, 0x14
mov eax, dword [ebp - 8]
pop ebx
pop edi
pop esi
leave
ret 0xc