Function at 0x42ab10
Capabilities:
Access peb ldr_data
Get process heap flags

Disassembly:
push 0xffffffffffffffff
push 0x4819bd
mov eax, dword fs:[0]
push eax
sub esp, 0x47c
mov eax, dword [0x49e128]
xor eax, esp
mov dword [esp + 0x478], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x49e128]
xor eax, esp
push eax
lea eax, [esp + 0x490]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [edi + 4]
mov ecx, dword [eax + 4]
push ecx
mov ecx, edi
call fcn.00427d50
mov eax, dword [edi + 4]
mov dword [eax + 4], eax
mov eax, dword [edi + 4]
xor ebx, ebx
mov dword [edi + 8], ebx
mov dword [eax], eax
mov eax, dword [edi + 4]
mov dword [eax + 8], eax
mov edx, dword [edi + 0x10]
mov eax, dword [edx + 4]
lea esi, [edi + 0xc]
push eax
mov ecx, esi
call fcn.00427d50
mov eax, dword [esi + 4]
mov dword [eax + 4], eax
mov eax, dword [esi + 4]
mov dword [esi + 8], ebx
mov dword [eax], eax
mov esi, dword [esi + 4]
mov dword [esi + 8], esi
mov ecx, dword [edi + 0x1c]
mov edx, dword [ecx + 4]
lea esi, [edi + 0x18]
push edx
mov ecx, esi
call fcn.00427d50
mov eax, dword [esi + 4]
mov dword [eax + 4], eax
mov eax, dword [esi + 4]
mov dword [esi + 8], ebx
mov dword [eax], eax
mov esi, dword [esi + 4]
mov dword [esi + 8], esi
mov eax, dword [edi + 0x28]
mov ecx, dword [eax + 4]
lea esi, [edi + 0x24]
push ecx
mov ecx, esi
call fcn.00427d50
mov eax, dword [esi + 4]
mov dword [eax + 4], eax
mov eax, dword [esi + 4]
mov dword [esi + 8], ebx
mov dword [eax], eax
mov esi, dword [esi + 4]
lea ebx, [edi + 0x30]
mov dword [esi + 8], esi
mov esi, dword [ebx + 8]
cmp dword [ebx + 4], esi
jbe 0x42abf0
call fcn.00460856
mov ebp, dword [ebx + 4]
cmp ebp, dword [ebx + 8]
jbe 0x42abfd
call fcn.00460856
push esi
push ebx
push ebp
push ebx
lea edx, [esp + 0x28]
push edx
mov ecx, ebx
call fcn.00428910
mov dword [edi + 0x40], 0xffffffff
mov eax, dword [0x49c024]
mov dword [esp + 0x24], eax
mov dword [esp + 0x498], 0
lea ecx, [esp + 0x14]
push ecx
call fcn.0043a710
add esp, 4
mov byte [esp + 0x498], 1
lea esi, [edi + 0x48]
push eax
mov ecx, esi
call fcn.00402640
mov byte [esp + 0x498], 0
mov eax, dword [esp + 0x14]
lea edx, [eax - 0xc]
cmp edx, dword [0x49c020]
je 0x42ac7d
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x42ac7d
mov eax, dword [esp + 0x14]
add eax, 0xfffffff4
push eax
call fcn.00460edd
add esp, 4
push esi
lea ecx, [esp + 0x28]
call fcn.00402640
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
push str.mdmlang.ini
push str.mdmlang.ini
call ebx
push eax
lea ecx, [esp + 0x2c]
call fcn.00404920
push str.languageMiniDM_
push str.languageMiniDM_
call ebx
push eax
mov ecx, esi
call fcn.00404920
xor ebp, ebp
mov word [esp + 0x480], 0x5c
mov dword [esp + 0x484], ebp
mov dword [esp + 0x488], ebp
mov byte [esp + 0x498], 2
push str..ini
push esi
lea eax, [esp + 0x1c]
push eax
call fcn.00405e10
mov byte [esp + 0x498], 3
mov ecx, dword [esp + 0x14]
push ecx
lea ecx, [esp + 0x2c]
call fcn.00426330
cmp eax, ebp
je 0x42ae3d
mov eax, dword [esp + 0x488]
cmp eax, ebp
je 0x42ad24
mov ecx, dword [esp + 0x28]
shr ecx, 4
and ecx, 1
cmp ecx, ebp
jne 0x42ae11
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x2c]
call fcn.00427930
mov byte [esp + 0x498], 4
mov esi, dword [eax]
cmp esi, ebp
mov eax, dword [0x49c024]
mov dword [esp + 0x20], eax
je 0x42ad93
mov ecx, esi
shr ecx, 0x10
jne 0x42ad5f
movzx eax, si
push eax
lea ecx, [esp + 0x24]
call fcn.0040d1b0
jmp 0x42ad93
push esi
call ebx
mov ebp, eax
test ebp, ebp
je 0x42ad93
push ebp
lea ecx, [esp + 0x24]
call fcn.00401570
test eax, eax
je 0x42ad93
mov edx, dword [esp + 0x20]
lea eax, [ebp + ebp]
push eax
push esi
add eax, 2
push eax
push edx
call fcn.004606b1
push eax
call fcn.00401030
add esp, 0x14
mov byte [esp + 0x498], 5
lea eax, [esp + 0x20]
push eax
mov ecx, edi
call fcn.0042a3e0
mov byte [esp + 0x498], 4
mov eax, dword [esp + 0x20]
lea ecx, [eax - 0xc]
cmp ecx, dword [0x49c020]
je 0x42add5
lea esi, [eax - 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x42add5
push esi
call fcn.00460edd
add esp, 4
mov byte [esp + 0x498], 3
mov eax, dword [esp + 0x18]
lea edx, [eax - 0xc]
cmp edx, dword [0x49c020]
je 0x42ae0a
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x42ae0a
mov eax, dword [esp + 0x18]
add eax, 0xfffffff4
push eax
call fcn.00460edd
add esp, 4
mov eax, dword [esp + 0x488]
mov ecx, dword [esp + 0x484]
xor ebp, ebp
cmp ecx, ebp
je 0x42ae3d
cmp eax, ebp
je 0x42ae3d
lea eax, [esp + 0x28]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
cmp eax, ebp
mov dword [esp + 0x488], eax
jne 0x42ad12
mov byte [esp + 0x498], 2
mov eax, dword [esp + 0x14]
lea ecx, [eax - 0xc]
cmp ecx, dword [0x49c020]
je 0x42ae72
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x42ae72
mov eax, dword [esp + 0x14]
add eax, 0xfffffff4
push eax
call fcn.00460edd
add esp, 4
mov byte [esp + 0x498], 0
mov eax, dword [esp + 0x484]
cmp eax, ebp
mov dword [esp + 0x488], ebp
je 0x42ae9f
cmp eax, 0xffffffff
je 0x42ae9f
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov dword [esp + 0x484], ebp
mov edx, dword [esp + 0x4a0]
mov eax, dword [edx]
cmp dword [eax - 8], ebp
je 0x42afc1
mov esi, dword [edi + 0x34]
cmp esi, dword [edi + 0x38]
lea ebx, [edi + 0x30]
mov dword [esp + 0x14], ebp
jbe 0x42aec5
call fcn.00460856
mov dword [esp + 0x18], ebx
lea esp, [esp]
mov ebp, dword [edi + 0x38]
cmp dword [edi + 0x34], ebp
lea ebx, [edi + 0x30]
jbe 0x42aee0
call fcn.00460856
mov eax, dword [esp + 0x18]
test eax, eax
je 0x42aeec
cmp eax, ebx
je 0x42aef1
call fcn.00460856
cmp esi, ebp
je 0x42afc1
cmp dword [esp + 0x18], 0
jne 0x42af05
call fcn.00460856
mov ecx, dword [esp + 0x18]
cmp esi, dword [ecx + 8]
jb 0x42af13
call fcn.00460856
mov edx, dword [esp + 0x4a0]
mov ecx, dword [edx]
mov eax, dword [esi + 8]
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42af46
test dx, dx
je 0x42af42
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42af46
add eax, 4
add ecx, 4
test dx, dx
jne 0x42af20
xor eax, eax
jmp 0x42af4b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x42af6a
mov eax, dword [esp + 0x18]
cmp esi, dword [eax + 8]
jb 0x42af5d
call fcn.00460856
add esi, 0x1c
add dword [esp + 0x14], 1
jmp 0x42aed0
mov eax, dword [esp + 0x14]
test eax, eax
jl 0x42afc1
push eax
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
call fcn.0042a240
mov byte [esp + 0x498], 0
mov eax, dword [esp + 0x18]
lea edx, [eax - 0xc]
cmp edx, dword [0x49c020]
je 0x42b086
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x42b086
mov eax, dword [esp + 0x18]
add eax, 0xfffffff4
push eax
call fcn.00460edd
add esp, 4
jmp 0x42b086
lea eax, [esp + 0x24]
push eax
mov ecx, edi
call fcn.00429800
mov esi, dword [edi + 0x34]
cmp esi, dword [edi + 0x38]
lea ebx, [edi + 0x30]
mov dword [esp + 0x14], 0
jbe 0x42afe5
call fcn.00460856
mov dword [esp + 0x18], ebx
lea esp, [esp]
mov ebp, dword [edi + 0x38]
cmp dword [edi + 0x34], ebp
lea ebx, [edi + 0x30]
jbe 0x42b000
call fcn.00460856
mov eax, dword [esp + 0x18]
test eax, eax
je 0x42b00c
cmp eax, ebx
je 0x42b011
call fcn.00460856
cmp esi, ebp
je 0x42b086
cmp dword [esp + 0x18], 0
jne 0x42b021
call fcn.00460856
mov ecx, dword [esp + 0x18]
cmp esi, dword [ecx + 8]
jb 0x42b02f
call fcn.00460856
mov ecx, dword [edi + 0x44]
mov eax, dword [esi + 8]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42b05b
test dx, dx
je 0x42b057
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42b05b
add eax, 4
add ecx, 4
test dx, dx
jne 0x42b035
xor eax, eax
jmp 0x42b060
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x42b07f
mov edx, dword [esp + 0x18]
cmp esi, dword [edx + 8]
jb 0x42b072
call fcn.00460856
add esi, 0x1c
add dword [esp + 0x14], 1
jmp 0x42aff0
mov eax, dword [esp + 0x14]
mov dword [edi + 0x40], eax
mov dword [esp + 0x498], 0xffffffff
mov eax, dword [esp + 0x24]
lea ecx, [eax - 0xc]
cmp ecx, dword [0x49c020]
je 0x42b0b7
lea esi, [eax - 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x42b0b7
push esi
call fcn.00460edd
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x490]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x478]
xor ecx, esp
call fcn.00460e4b
add esp, 0x488
ret 4