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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x6c
mov esi, dword [edx]
mov dword [esp + 0x18], eax
mov dword [esp + 0x30], ecx
call fcn.004fe8b0
test esi, esi
mov dword [esp + 0x3c], eax
je 0x511be7
mov ebx, dword [esp + 0x30]
mov eax, 0xffffffff
xor edi, edi
mov ebp, dword [esp + 0x3c]
jmp 0x51126d
add edi, 1
add ebx, 0x7c
cmp esi, edi
je 0x51128b
mov edx, dword [ebx]
test edx, edx
je 0x511263
mov dword [esp + 4], edi
mov dword [esp], ebp
add ebx, 0x7c
call fcn.004ff5f0
mov eax, edi
add edi, 1
cmp esi, edi
jne 0x51126d
cmp eax, 0xffffffff
mov dword [esp + 0x38], edi
mov dword [esp + 0x20], eax
je 0x511be7
call fcn.004fe8b0
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x5c]
mov dword [esp + 4], 1
mov dword [esp + 0x5c], 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call fcn.004f7020
mov eax, dword [esp + 0x5c]
cmp eax, 3
je 0x511cd1
cmp eax, 1
jne 0x511532
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x511445
lea eax, [esp + 0x5c]
mov dword [esp + 4], 0xc
mov dword [esp + 0x5c], 1
xor ebx, ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call fcn.004f7020
cmp dword [esp + 0x5c], 3
mov dword [esp + 0x44], 0
je 0x511bfb
lea eax, [esp + 0x5c]
mov dword [esp + 4], 2
mov dword [esp + 0x5c], 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call fcn.004f7020
mov eax, dword [esp + 0x5c]
cmp eax, 3
je 0x511cac
cmp eax, 1
je 0x511b7f
test bl, bl
jne 0x511fd4
imul eax, dword [esp + 0x38], 0x7c
mov ecx, dword [esp + 0x30]
xor edx, edx
lea ebx, [ecx + 0x28]
lea esi, [ecx + eax + 0x28]
nop
lea esi, [esi]
mov ecx, dword [ebx]
test ecx, ecx
je 0x5113a1
mov edi, dword [ebx + 4]
lea ecx, [ecx + ecx*4]
lea eax, [edi + 4]
lea edi, [edi + ecx*8 + 4]
mov ecx, dword [eax]
cmp edx, ecx
cmovb edx, ecx
add eax, 0x28
cmp edi, eax
jne 0x511393
add ebx, 0x7c
cmp esi, ebx
jne 0x511380
test edx, edx
mov dword [esp + 0x20], edx
je 0x511a98
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], 0
sub eax, 1
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x10], 2
je 0x511d0f
cmp dword [esp + 0x2c], 4
ja 0x51141e
mov eax, dword [esp + 0x20]
add eax, 3
mov dword [esp + 0x24], eax
lea eax, [esp + 0x5c]
mov dword [esp + 0x5c], 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call fcn.004f7020
mov eax, dword [esp + 0x5c]
cmp eax, 3
je 0x511a45
cmp eax, 1
jne 0x511740
add dword [esp + 0x10], 1
mov eax, dword [esp + 0x10]
cmp eax, 3
jne 0x5113c7
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x511a98
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x20], eax
jmp 0x5113b4
mov dword [esp], str.HWLOC_X86_TOPOEXT_NUMANODES
call sub.msvcrt.dll_iswctype
test eax, eax
mov dword [esp + 0x44], 0
je 0x511625
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.004fea30
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.00500420
cmp eax, 0xffffffff
mov ebx, eax
je 0x511625
imul esi, ebx, 0x7c
mov eax, dword [esp + 0x30]
add eax, esi
mov ebp, dword [eax + 0x10]
cmp ebp, 0xffffffff
je 0x511c6c
mov edi, dword [eax + 8]
call fcn.004fe8b0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
cmp eax, ebx
jbe 0x5114e7
mov ecx, dword [esp + 0x30]
mov edx, ebp
mov ebp, edi
mov edi, eax
lea esi, [ecx + esi + 8]
mov eax, dword [esi + 8]
cmp eax, 0xffffffff
je 0x511c32
cmp dword [esi], ebp
jne 0x5114db
cmp edx, eax
je 0x511c96
add ebx, 1
add esi, 0x7c
cmp edi, ebx
jne 0x5114c3
mov ebp, edx
mov esi, dword [esp + 0x18]
mov dword [esp + 8], ebp
mov dword [esp + 4], 0xd
mov dword [esp], esi
call fcn.004f4da0
mov ebx, eax
mov eax, dword [esp + 0x10]
mov dword [ebx + 0x68], eax
call fcn.004fe8b0
mov dword [ebx + 0x70], eax
mov dword [esp + 4], ebp
mov dword [esp], eax
call fcn.004ff5f0
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.004f5970
add dword [esp + 0x44], 1
jmp 0x511475
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x1c]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.004fea30
lea esi, [esi]
lea edi, [edi]
mov dword [esp], edi
call fcn.00500420
cmp eax, 0xffffffff
mov ebx, eax
je 0x5112df
imul edx, ebx, 0x7c
mov eax, dword [esp + 0x30]
lea ebp, [eax + edx]
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x511ace
call fcn.004fe8b0
mov dword [esp + 4], ebx
mov dword [esp], eax
mov esi, eax
call fcn.004ff5f0
mov eax, dword [esp + 0x18]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.004f8ec0
cmp eax, 0xfffffffe
jae 0x5115ee
mov dword [esp + 4], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 8], 0
mov dword [esp], eax
call fcn.004f8f50
test eax, eax
mov ebx, eax
je 0x5115ee
lea esi, [esi]
lea edi, [edi]
mov eax, dword [ebx + 0x68]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.004ffc40
test eax, eax
jne 0x511a6a
mov ebx, dword [ebx + 0x24]
test ebx, ebx
jne 0x5115d0
mov dword [esp], esi
mov edi, ebp
call fcn.004fe930
mov eax, dword [esp + 0x18]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.004f8f50
mov ecx, 1
mov edx, edi
call fcn.0050ff10
jmp 0x5112ee
lea eax, [esp + 0x5c]
mov dword [esp + 4], 0xc
mov dword [esp + 0x5c], 1
mov ebx, 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call fcn.004f7020
mov eax, dword [esp + 0x5c]
cmp eax, 3
je 0x511bfb
cmp eax, 1
setne al
and al, bl
mov byte [esp + 0x28], al
je 0x511327
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.004fea30
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.00500420
cmp eax, 0xffffffff
mov ebx, eax
je 0x511d2a
imul esi, ebx, 0x7c
mov eax, dword [esp + 0x30]
add eax, esi
mov ebp, dword [eax + 0x14]
cmp ebp, 0xffffffff
je 0x511c81
mov edi, dword [eax + 8]
call fcn.004fe8b0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
cmp eax, ebx
jbe 0x5116f4
mov edx, dword [esp + 0x30]
lea esi, [edx + esi + 8]
mov edx, ebp
mov ebp, edi
mov edi, eax
nop
mov eax, dword [esi + 0xc]
cmp eax, 0xffffffff
je 0x511c4f
cmp dword [esi], ebp
jne 0x5116e8
cmp edx, eax
je 0x511cf6
add ebx, 1
add esi, 0x7c
cmp edi, ebx
jne 0x5116d0
mov ebp, edx
mov edi, dword [esp + 0x18]
mov dword [esp + 8], ebp
mov dword [esp + 4], 0xc
mov dword [esp], edi
call fcn.004f4da0
mov ebx, eax
mov eax, dword [esp + 0x10]
mov dword [ebx + 0x68], eax
mov dword [esp], str.ComputeUnit
call dword [sym.imp.msvcrt.dll__umask]
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0x18]
mov dword [eax + 4], 0x78
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.004f5970
jmp 0x511681
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.004fea30
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.00500420
cmp eax, 0xffffffff
mov edi, eax
je 0x51141e
imul eax, eax, 0x7c
mov esi, eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x30]
add eax, esi
mov edx, dword [eax + 0x28]
mov dword [esp + 0x28], eax
test edx, edx
je 0x5119f0
mov eax, dword [esp + 0x28]
xor ebp, ebp
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov eax, dword [eax + 0x2c]
jmp 0x5117ae
add ebp, 1
add eax, 0x28
cmp ebp, edx
je 0x5119f0
cmp dword [eax + 4], ecx
jne 0x5117a0
cmp dword [eax], ebx
jne 0x5117a0
call fcn.004fe8b0
mov dword [esp + 4], edi
mov dword [esp], eax
mov esi, eax
call fcn.004ff5f0
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call fcn.004f8ec0
cmp eax, 0xfffffffe
jae 0x51181f
mov dword [esp + 4], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 8], 0
mov dword [esp], eax
call fcn.004f8f50
test eax, eax
mov ebx, eax
je 0x51181f
mov eax, dword [ebx + 0x68]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.004ffc40
test eax, eax
jne 0x511950
mov ebx, dword [ebx + 0x24]
test ebx, ebx
jne 0x511801
mov dword [esp], esi
call fcn.004fe930
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 8]
mov dword [esp + 0x34], eax
lea eax, [ebp + ebp*4]
lea edx, [eax*8]
mov eax, dword [ecx + 0x2c]
mov dword [esp + 0x4c], edx
mov ebp, dword [eax + edx + 0xc]
call fcn.004fe8b0
cmp dword [esp + 0x38], edi
mov dword [esp + 0x48], eax
jbe 0x5118bf
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x40], ebp
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x10]
lea ebx, [eax + edx + 8]
nop
mov ecx, dword [ebx + 0x20]
test ecx, ecx
je 0x511a30
mov eax, dword [ebx + 0x24]
xor edx, edx
mov dword [esp + 0x14], eax
jmp 0x51189e
add edx, 1
add eax, 0x28
cmp edx, ecx
je 0x511a30
cmp dword [eax + 4], esi
jne 0x511890
cmp dword [eax], ebp
jne 0x511890
mov eax, dword [esp + 0x34]
cmp eax, dword [ebx]
je 0x511a05
add edi, 1
add ebx, 0x7c
cmp dword [esp + 0x38], edi
jne 0x511870
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.004f4da0
mov ecx, dword [esp + 0x28]
mov edx, dword [eax + 0x18]
mov ebx, eax
mov eax, dword [esp + 0x20]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x4c]
add eax, dword [ecx + 0x2c]
mov ecx, dword [eax + 0x24]
mov dword [edx + 4], 0
mov dword [edx], ecx
mov ecx, dword [eax + 0x10]
mov dword [edx + 0xc], ecx
mov ecx, dword [eax + 0x1c]
mov dword [edx + 0x10], ecx
mov ecx, dword [eax]
mov dword [edx + 0x14], ecx
mov ecx, dword [eax + 0x18]
mov eax, 0x75acda
mov edx, dword [esp + 0x48]
test ecx, ecx
mov dword [ebx + 0x68], edx
mov edx, 0x75acdc
mov dword [esp + 4], str.Inclusive
cmove eax, edx
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.004f4430
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.004f5970
jmp 0x511754
mov dword [esp], esi
call fcn.004fe930
mov eax, dword [ebx + 0x7c]
xor edx, edx
mov edi, eax
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x78]
test edi, edi
je 0x5119b7
mov dword [esp + 0x34], ebx
jmp 0x51197c
add edx, 1
add eax, 8
cmp dword [esp + 0x14], edx
je 0x5119b3
mov esi, dword [eax]
mov ecx, 0xa
mov edi, str.Inclusive
repe cmpsb byte [esi], byte es:[edi]
jne 0x511970
mov edi, dword [eax + 4]
mov ebx, dword [esp + 0x34]
test edi, edi
je 0x5119b7
mov eax, dword [ebx + 0x68]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
mov dword [esp], eax
call fcn.005000e0
jmp 0x511754
mov ebx, dword [esp + 0x34]
mov edx, dword [esp + 0x28]
lea eax, [ebp + ebp*4]
shl eax, 3
add eax, dword [edx + 0x2c]
mov edx, 0x75acdc
mov esi, dword [eax + 0x18]
mov eax, 0x75acda
mov dword [esp + 4], str.Inclusive
mov dword [esp], ebx
test esi, esi
cmove eax, edx
mov dword [esp + 8], eax
call fcn.004f4430
jmp 0x511997
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.004ff8f0
jmp 0x511754
mov ecx, dword [esp + 0x14]
lea eax, [edx + edx*4]
mov edx, dword [esp + 0x40]
cmp edx, dword [ecx + eax*8 + 0xc]
jne 0x5118b3
mov eax, dword [esp + 0x48]
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.004ff5f0
lea esi, [esi]
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.004ff8f0
jmp 0x5118b3
mov dword [esp + 8], 0x1a8
mov dword [esp + 4], str.C:_msys32_home_Administrator_hwloc_2.0.4_include_hwloc_plugins.h
mov dword [esp], str.filter___HWLOC_TYPE_FILTER_KEEP_IMPORTANT
call fcn.0053e6a0
mov eax, dword [esp + 0x5c]
jmp 0x511415
mov dword [esp], esi
call fcn.004fe930
mov eax, ebx
mov ecx, 1
mov edx, ebp
call fcn.0050ff10
mov eax, dword [ebx + 0x68]
mov dword [esp + 4], edi
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.005000e0
jmp 0x511550
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.004fe930
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.004fe930
mov eax, dword [esp + 0x44]
test eax, eax
je 0x511ac6
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x188]
mov byte [eax + 1], 1
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x14], edx
mov esi, dword [ebp + 8]
call fcn.004fe8b0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
cmp eax, ebx
jbe 0x511b42
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x24], ebp
mov ebp, eax
lea edx, [ecx + edx + 8]
mov ecx, esi
mov esi, edx
jmp 0x511b0a
add ebx, 1
add esi, 0x7c
cmp ebp, ebx
je 0x511b3c
cmp ecx, dword [esi]
jne 0x511b00
mov eax, dword [esp + 0x10]
mov dword [esp + 4], ebx
add esi, 0x7c
mov dword [esp + 0x14], ecx
mov dword [esp], eax
call fcn.004ff5f0
mov dword [esp + 4], ebx
mov dword [esp], edi
add ebx, 1
call fcn.004ff8f0
cmp ebp, ebx
mov ecx, dword [esp + 0x14]
jne 0x511b0a
mov ebp, dword [esp + 0x24]
mov esi, ecx
mov dword [esp + 8], esi
mov esi, dword [esp + 0x18]
mov dword [esp + 4], 1
mov dword [esp], esi
call fcn.004f4da0
mov ebx, eax
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov edx, ebp
mov dword [ebx + 0x68], eax
mov eax, ebx
call fcn.0050ff10
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.004f5970
jmp 0x511550
test bl, bl
je 0x511369
mov edi, dword [esp + 0x30]
xor ebx, ebx
mov esi, dword [esp + 0x38]
jmp 0x511ba1
add ebx, 1
add edi, 0x7c
cmp esi, ebx
je 0x511369
mov ebp, dword [edi]
test ebp, ebp
je 0x511b93
mov eax, dword [esp + 0x18]
mov dword [esp + 8], ebx
mov dword [esp + 4], 3
mov dword [esp], eax
call fcn.004f4da0
mov ebp, eax
call fcn.004fe8b0
mov dword [ebp + 0x68], eax
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.004ff510
mov eax, dword [esp + 0x18]
mov dword [esp + 4], ebp
mov dword [esp], eax
call fcn.004f5970
jmp 0x511b93
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.004fe930
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 8], 0x1a8
mov dword [esp + 4], str.C:_msys32_home_Administrator_hwloc_2.0.4_include_hwloc_plugins.h
mov dword [esp], str.filter___HWLOC_TYPE_FILTER_KEEP_IMPORTANT
call fcn.0053e6a0
mov eax, dword [esp + 0x5c]
cmp eax, 1
setne al
and al, bl
mov byte [esp + 0x28], al
je 0x511327
jmp 0x51166d
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.004ff8f0
mov edx, dword [esp + 0x14]
jmp 0x5114db
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.004ff8f0
mov edx, dword [esp + 0x14]
jmp 0x5116e8
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.004ff8f0
jmp 0x511475
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.004ff8f0
jmp 0x511681
mov eax, dword [esp + 0x10]
mov dword [esp + 4], ebx
mov dword [esp + 0x14], edx
mov dword [esp], eax
call fcn.004ff5f0
jmp 0x511c36
mov dword [esp + 8], 0x1a8
mov dword [esp + 4], str.C:_msys32_home_Administrator_hwloc_2.0.4_include_hwloc_plugins.h
mov dword [esp], str.filter___HWLOC_TYPE_FILTER_KEEP_IMPORTANT
call fcn.0053e6a0
mov eax, dword [esp + 0x5c]
jmp 0x511358
mov dword [esp + 8], 0x1a8
mov dword [esp + 4], str.C:_msys32_home_Administrator_hwloc_2.0.4_include_hwloc_plugins.h
mov dword [esp], str.filter___HWLOC_TYPE_FILTER_KEEP_IMPORTANT
call fcn.0053e6a0
mov eax, dword [esp + 0x5c]
jmp 0x5112d6
mov eax, dword [esp + 0x10]
mov dword [esp + 4], ebx
mov dword [esp + 0x14], edx
mov dword [esp], eax
call fcn.004ff5f0
jmp 0x511c53
cmp dword [esp + 0x2c], 2
ja 0x511438
mov eax, dword [esp + 0x20]
add eax, 8
mov dword [esp + 0x24], eax
jmp 0x5113e4
mov dword [esp], str.HWLOC_DONT_MERGE_DIE_GROUPS
call sub.msvcrt.dll_iswctype
test eax, eax
mov dword [esp + 0x14], 0
je 0x511d56
mov dword [esp], eax
call sub.msvcrt.dll_ferror
test eax, eax
setne al
movzx eax, al
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.004fea30
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.00500420
cmp eax, 0xffffffff
mov ebx, eax
je 0x511e79
imul esi, ebx, 0x7c
mov eax, dword [esp + 0x30]
add eax, esi
mov ebp, dword [eax + 0xc]
cmp ebp, 0xffffffff
je 0x511e4e
mov edi, dword [eax + 8]
call fcn.004fe8b0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
cmp eax, ebx
jbe 0x511de0
mov ecx, dword [esp + 0x30]
mov edx, ebp
mov ebp, edi
mov edi, eax
lea esi, [ecx + esi + 8]
nop
lea esi, [esi]
mov eax, dword [esi + 4]
cmp eax, 0xffffffff
je 0x511e34
cmp dword [esi], ebp
jne 0x511dd4
cmp edx, eax
je 0x511e63
add ebx, 1
add esi, 0x7c
cmp edi, ebx
jne 0x511dc0
mov ebp, edx
mov esi, dword [esp + 0x18]
mov dword [esp + 8], ebp
mov dword [esp + 4], 0xc
mov dword [esp], esi
call fcn.004f4da0
mov ebx, eax
mov eax, dword [esp + 0x10]
mov dword [ebx + 0x68], eax
mov dword [esp], 0x75ad93
call dword [sym.imp.msvcrt.dll__umask]
movzx edx, byte [esp + 0x14]
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0x18]
mov byte [eax + 0xc], dl
mov dword [eax + 4], 0x68
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.004f5970
jmp 0x511d6a
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.004ff8f0
mov edx, dword [esp + 0x24]
jmp 0x511dd4
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.004ff8f0
jmp 0x511d6a
mov eax, dword [esp + 0x10]
mov dword [esp + 4], ebx
mov dword [esp + 0x24], edx
mov dword [esp], eax
call fcn.004ff5f0
jmp 0x511e38
imul eax, dword [esp + 0x20], 0x7c
movzx ebx, byte [esp + 0x28]
add eax, dword [esp + 0x30]
mov edx, eax
mov dword [esp + 0x24], eax
mov eax, dword [eax + 0x20]
test eax, eax
je 0x511327
mov edx, dword [edx + 0x24]
mov edi, dword [esp + 0x38]
lea ecx, [edx - 1]
lea esi, [edx*4 - 4]
mov dword [esp + 0x14], ecx
jmp 0x511ecd
sub dword [esp + 0x14], 1
lea eax, [edx - 1]
sub esi, 4
mov ecx, dword [esp + 0x14]
cmp ecx, eax
ja 0x5120d9
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x20]
cmp dword [eax + esi], 0xffffffff
je 0x511eaf
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.004fea30
mov esi, esi
lea edi, [edi]
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.00500420
cmp eax, 0xffffffff
mov ebx, eax
je 0x511fc8
imul edx, ebx, 0x7c
mov eax, dword [esp + 0x30]
mov eax, dword [eax + edx + 0x20]
mov dword [esp + 0x20], edx
mov ebp, dword [eax + esi]
call fcn.004fe8b0
cmp edi, ebx
mov dword [esp + 0x10], eax
jbe 0x511f87
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
lea edx, [eax + edx + 0x20]
mov eax, edx
mov edx, ebp
mov ebp, esi
mov esi, eax
jmp 0x511f4a
add ebx, 1
add esi, 0x7c
cmp edi, ebx
je 0x511f83
mov eax, dword [esi]
cmp edx, dword [eax + ebp]
jne 0x511f40
mov eax, dword [esp + 0x10]
mov dword [esp + 4], ebx
add esi, 0x7c
mov dword [esp + 0x20], edx
mov dword [esp], eax
call fcn.004ff5f0
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], ebx
add ebx, 1
mov dword [esp], eax
call fcn.004ff8f0
cmp edi, ebx
mov edx, dword [esp + 0x20]
jne 0x511f4a
mov esi, ebp
mov ebp, edx
mov ebx, dword [esp + 0x18]
mov dword [esp + 8], ebp
mov dword [esp + 4], 0xc
mov dword [esp], ebx
call fcn.004f4da0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [eax + 0x68], edx
mov edx, dword [eax + 0x18]
mov dword [edx + 4], 0x65
mov dword [edx + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004f5970
jmp 0x511ef0
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0x24]
jmp 0x511eaf
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.004fea30
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.00500420
cmp eax, 0xffffffff
mov esi, eax
je 0x511b87
imul ebx, esi, 0x7c
mov eax, dword [esp + 0x30]
add eax, ebx
mov edi, dword [eax + 0x1c]
cmp edi, 0xffffffff
je 0x5120c4
mov ebp, dword [eax + 8]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x10], eax
call fcn.004fe8b0
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x38]
cmp eax, esi
jbe 0x512094
mov edx, dword [esp + 0x30]
mov dword [esp + 0x20], edi
mov edi, ebp
mov ebp, eax
lea ebx, [edx + ebx + 8]
jmp 0x51204b
add esi, 1
add ebx, 0x7c
cmp ebp, esi
je 0x512090
mov eax, dword [ebx + 0x14]
cmp eax, 0xffffffff
je 0x512076
cmp edi, dword [ebx]
jne 0x512041
mov edx, dword [esp + 0x10]
cmp dword [ebx + 8], edx
jne 0x512041
cmp dword [esp + 0x20], eax
jne 0x512041
mov eax, dword [esp + 0x14]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.004ff5f0
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], esi
add esi, 1
add ebx, 0x7c
mov dword [esp], eax
call fcn.004ff8f0
cmp ebp, esi
jne 0x51204b
mov edi, dword [esp + 0x20]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x18]
mov dword [esp + 4], 2
mov dword [esp], edi
call fcn.004f4da0
mov edx, dword [esp + 0x14]
mov dword [eax + 0x68], edx
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.004f5970
jmp 0x511fe8
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.004ff8f0
jmp 0x511fe8
movzx ebx, byte [esp + 0x28]
jmp 0x511327