Function at 0x631c66b0
Capabilities:
Enumerate pe sections
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x7c
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov dword [eax], 0
mov dword [esp + 4], 0x23c
mov dword [esp], 1
call dword [sym.imp.ucrtbase.dll_calloc]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x631c73a7
mov edi, eax
mov dword [esp], ebx
call dword [sym.imp.ucrtbase.dll__wcsdup]
mov dword [edi], eax
test eax, eax
je 0x631c6c50
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], pe_nt_image_headers32
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 0x80000000
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_CreateFileW]
mov dword [edi + 4], eax
sub esp, 0x1c
cmp eax, 0xffffffff
je 0x631c6bd8
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 2
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_CreateFileMappingW]
mov edx, dword [ebp - 0x44]
sub esp, 0x18
mov dword [edx + 8], eax
test eax, eax
je 0x631c6bd8
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 4
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_MapViewOfFile]
mov edx, dword [ebp - 0x44]
sub esp, 0x14
mov dword [edx + 0xc], eax
test eax, eax
je 0x631c6bd8
mov dword [esp], eax
call sym._ImageNtHeader_4
mov edx, dword [ebp - 0x44]
sub esp, 4
mov dword [edx + 0x10], eax
test eax, eax
je 0x631c737d
cmp word [eax + 0x18], 0x20b
lea edx, [eax + 0x78]
je 0x631c6c57
mov ecx, dword [edx + 0x70]
test ecx, ecx
je 0x631c737d
mov esi, dword [edx + 0x74]
test esi, esi
je 0x631c737d
mov edi, dword [ebp - 0x44]
mov dword [esp + 0xc], 0
mov dword [esp + 8], ecx
mov edx, dword [edi + 0xc]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._ImageRvaToVa_16
mov dword [edi + 0x14], eax
sub esp, 0x10
test eax, eax
je 0x631c737d
mov dword [esp + 0xc], 0
mov eax, dword [eax + 8]
mov esi, edi
mov dword [esp + 8], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x10]
mov dword [esp], eax
call sym._ImageRvaToVa_16
sub esp, 0x10
mov ebx, eax
test eax, eax
je 0x631c737d
mov dword [esp], 0x17
call dword [sym.imp.ucrtbase.dll_malloc]
mov dword [edi + 0x18], eax
mov edx, eax
test eax, eax
je 0x631c6c50
mov eax, dword [ebx]
mov dword [edx], eax
mov eax, dword [ebx + 4]
mov dword [edx + 4], eax
mov eax, dword [ebx + 8]
mov dword [edx + 8], eax
mov eax, dword [ebx + 0xc]
mov dword [edx + 0xc], eax
lea eax, [ebx + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [ebx + 0xc]
lea eax, [ebx + eax + 0x11]
movzx ecx, word [eax]
mov word [edx + 0x14], cx
movzx eax, byte [eax + 2]
mov byte [edx + 0x16], al
mov eax, dword [edi + 0x14]
mov edx, dword [eax + 8]
mov dword [esp + 0xc], 0
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x58], edx
lea eax, [edx + eax + 0x14]
mov dword [esp + 8], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x10]
mov dword [esp], eax
call sym._ImageRvaToVa_16
sub esp, 0x10
mov edi, eax
test eax, eax
je 0x631c737d
mov eax, dword [esi + 0x18]
cmp word [eax + 0x15], 0
je 0x631c70f7
lea eax, [esi + 0x28]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x5c], eax
lea esi, [esi]
mov eax, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x58]
add ebx, dword [edi]
mov edx, dword [eax + 0x10]
movzx eax, word [edx + 0x14]
lea eax, [edx + eax + 0x18]
cmp ebx, dword [eax + 0x14]
jb 0x631c6956
movzx edx, word [edx + 6]
test dx, dx
je 0x631c6954
dec edx
movzx edx, dx
lea edx, [edx + edx*4]
lea esi, [eax + edx*8]
jmp 0x631c6932
mov eax, edx
mov edx, dword [eax + 0x10]
test edx, edx
jne 0x631c693c
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
cmp ebx, ecx
jb 0x631c694d
add edx, ecx
cmp ebx, edx
jb 0x631c731f
lea edx, [eax + 0x28]
cmp eax, esi
jne 0x631c6930
xor ebx, ebx
lea eax, [edi + 8]
mov dword [esp + 4], 0x631cc720
mov dword [ebp - 0x4c], eax
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_lstrcmpA]
sub esp, 8
test eax, eax
jne 0x631c70a0
mov ecx, dword [ebp - 0x44]
mov edx, dword [ecx + 0xc]
lea esi, [edx + ebx]
mov dword [ebp - 0x1c], esi
mov dword [ecx + 0x1c], esi
test esi, esi
je 0x631c737d
movzx eax, byte [esi + 6]
lea edi, [ebx + 0x18]
mov dword [ebp - 0x38], edi
and eax, 1
cmp al, 1
sbb eax, eax
and eax, 0xfffffffe
add eax, 4
mov dword [ecx + 0x228], eax
mov dword [ebp - 0x2c], eax
movzx eax, byte [esi + 6]
and eax, 2
cmp al, 1
sbb eax, eax
and eax, 0xfffffffe
add eax, 4
mov dword [ebp - 0x34], eax
mov dword [ecx + 0x22c], eax
movzx eax, byte [esi + 6]
mov byte [ebp - 0x20], al
and eax, 4
cmp al, 1
sbb eax, eax
and eax, 0xfffffffe
add eax, 4
mov dword [ebp - 0x24], eax
mov dword [ecx + 0x230], eax
mov eax, edx
mov edx, ecx
add eax, edi
mov dword [ebp - 0x30], eax
mov dword [ecx + 0x24], eax
je 0x631c737d
mov edi, dword [ebp - 0x5c]
mov eax, 0xffffffff
mov ecx, pe_nt_image_headers32
rep stosd dword es:[edi], eax
xor edi, edi
lea eax, [edx + 0x228]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x20], edi
xor edx, edx
mov dword [ebp - 0x28], eax
mov eax, 1
nop
mov edi, dword [ebp - 0x1c]
mov ebx, dword [edi + 0xc]
mov esi, dword [edi + 8]
and ebx, edx
and esi, eax
mov edi, ebx
or edi, esi
je 0x631c6a44
mov edi, dword [ebp - 0x20]
mov esi, dword [ebp - 0x30]
mov esi, dword [esi + edi*4]
mov dword [ecx], esi
lea esi, [edi + 1]
mov dword [ebp - 0x20], esi
shld edx, eax, 1
add ecx, 8
add eax, eax
cmp dword [ebp - 0x28], ecx
jne 0x631c6a20
mov edi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x24]
lea ebx, [edx + edi*4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x20], edi
lea eax, [edx + 6]
lea edi, [edx + edx + 0xa]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x50], eax
add eax, ecx
lea esi, [eax + eax]
mov eax, edx
lea edx, [edx + edx + 2]
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x60], edx
lea edx, [eax + 8]
lea edi, [ecx + edi + 6]
mov dword [ebp - 0x64], edx
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x3c], esi
mov esi, 1
lea edx, [eax + edx*2 + 4]
add eax, 2
mov dword [ebp - 0x38], edi
xor edi, edi
mov dword [ebp - 0x30], eax
add eax, ecx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x34], edx
xor edx, edx
mov dword [ebp - 0x20], eax
jmp 0x631c6b4b
cmp ebx, 0xb000000
je 0x631c7300
jbe 0x631c6c80
cmp ebx, 0x10000000
je 0x631c7110
jbe 0x631c6cf0
cmp ebx, 0x12000000
je 0x631c72d0
cmp ebx, 0x14000000
jne 0x631c6c68
mov eax, dword [ebp - 0x20]
mov ebx, dword [eax + 0x38]
cmp dword [eax + 0x30], ebx
cmovge ebx, dword [eax + 0x30]
cmp dword [eax + 0x100], ebx
cmovge ebx, dword [eax + 0x100]
mov eax, dword [ebp - 0x2c]
add eax, 4
cmp ebx, 0x4000
cmovge eax, dword [ebp - 0x50]
lea esi, [esi]
lea esi, [esi]
mov ecx, dword [ebp - 0x20]
imul eax, dword [ecx + edx*8 + 0x28]
add dword [ebp - 0x28], eax
inc edx
shld edi, esi, 1
add esi, esi
cmp edx, 0x40
je 0x631c70cb
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
and ecx, edi
and eax, esi
mov ebx, ecx
or ebx, eax
je 0x631c6b3b
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x20]
mov ebx, edx
shl ebx, 0x18
mov dword [ecx + edx*8 + 0x2c], eax
cmp ebx, 0x15000000
je 0x631c7248
jbe 0x631c6ac0
cmp ebx, 0x20000001
jbe 0x631c6ee8
cmp ebx, 0x26000000
je 0x631c72a0
jbe 0x631c6db0
cmp ebx, 0x28000000
je 0x631c7190
cmp ebx, 0x29000000
jne 0x631c6d30
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x38], 0xffff
setg al
movzx eax, al
lea eax, [eax*4 + 4]
jmp 0x631c6b30
mov eax, dword fs:[0x18]
mov ebx, dword [eax + 0x34]
movzx eax, bx
or eax, 0x80070000
test ebx, ebx
cmovg ebx, eax
mov edi, dword [ebp - 0x44]
mov esi, dword [sym.imp.ucrtbase.dll_free]
mov eax, dword [edi + 0x18]
mov dword [esp], eax
call esi
mov eax, dword [edi]
mov dword [esp], eax
call esi
mov eax, dword [edi + 0xc]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_UnmapViewOfFile]
mov eax, dword [edi + 8]
mov dword [ebp - 0x44], edi
sub esp, 4
mov edi, dword [sym.imp.kernel32.dll_CloseHandle]
mov dword [esp], eax
call edi
mov eax, dword [ebp - 0x44]
sub esp, 4
mov eax, dword [eax + 4]
mov dword [esp], eax
call edi
mov eax, dword [ebp - 0x44]
sub esp, 4
mov dword [esp], eax
call esi
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, 0x8007000e
jmp 0x631c6bee
lea edx, [eax + 0x88]
jmp 0x631c67e6
cmp ebx, 0x11000000
mov eax, 0
cmove eax, dword [ebp - 0x24]
jmp 0x631c6b30
cmp ebx, 0x6000000
je 0x631c7168
jbe 0x631c6d80
cmp ebx, 0x9000000
je 0x631c7270
cmp ebx, 0xa000000
jne 0x631c6d60
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x24]
mov ebx, dword [ecx + 0x30]
cmp dword [ecx + 0xf8], ebx
cmovge ebx, dword [ecx + 0xf8]
cmp dword [ecx + 0x58], ebx
cmovge ebx, dword [ecx + 0x58]
cmp dword [ecx + 0x100], ebx
cmovge ebx, dword [ecx + 0x100]
cmp dword [ecx + 0x38], ebx
cmovge ebx, dword [ecx + 0x38]
lea ecx, [eax + 2]
cmp ebx, 0x1fff
cmovg eax, ecx
jmp 0x631c6b30
cmp ebx, 0xe000000
je 0x631c71c0
jbe 0x631c6df0
cmp ebx, 0xf000000
jne 0x631c7090
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x38], 0xffff
setg al
movzx eax, al
lea eax, [eax + eax + 8]
jmp 0x631c6b30
cmp ebx, 0x27000000
jne 0x631c7090
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x54]
mov ebx, dword [eax + 0x158]
cmp dword [eax + 0x58], ebx
cmovge ebx, dword [eax + 0x58]
lea eax, [ecx + 2]
cmp ebx, 0x3fff
cmovle eax, ecx
jmp 0x631c6b30
cmp ebx, 0x8000000
jne 0x631c7090
mov eax, dword [ebp - 0x2c]
add eax, 4
jmp 0x631c6b30
cmp ebx, 0x2000000
je 0x631c71f8
jbe 0x631c6f3f
cmp ebx, 0x4000000
mov eax, 0
cmove eax, dword [ebp - 0x40]
jmp 0x631c6b30
cmp ebx, 0x24000000
je 0x631c72b0
jbe 0x631c6f1a
cmp ebx, 0x25000000
jne 0x631c7090
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x140], 0xffff
setg al
movzx eax, al
lea eax, [eax + eax + 0xe]
jmp 0x631c6b30
cmp ebx, 0xc000000
jne 0x631c6f98
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + 0x58]
cmp dword [ecx + 0x48], eax
mov ebx, eax
cmovge ebx, dword [ecx + 0x48]
cmp dword [ecx + 0x30], ebx
cmovge ebx, dword [ecx + 0x30]
cmp dword [ecx + 0x38], ebx
cmovge ebx, dword [ecx + 0x38]
cmp dword [ecx + 0x68], ebx
cmovge ebx, dword [ecx + 0x68]
cmp dword [ecx + 0x70], ebx
cmovge ebx, dword [ecx + 0x70]
cmp ebx, dword [ecx + 0x78]
cmovl ebx, dword [ecx + 0x78]
cmp dword [ecx + 0x98], ebx
cmovge ebx, dword [ecx + 0x98]
cmp dword [ecx + 0xe0], ebx
cmovge ebx, dword [ecx + 0xe0]
cmp dword [ecx + 0xc8], ebx
cmovge ebx, dword [ecx + 0xc8]
cmp dword [ecx + 0xb0], ebx
cmovge ebx, dword [ecx + 0xb0]
cmp dword [ecx + 0xf8], ebx
cmovge ebx, dword [ecx + 0xf8]
cmp dword [ecx + 0x100], ebx
cmovge ebx, dword [ecx + 0x100]
cmp dword [ecx + 0x128], ebx
cmovge ebx, dword [ecx + 0x128]
cmp dword [ecx + 0x158], ebx
cmovge ebx, dword [ecx + 0x158]
cmp dword [ecx + 0x160], ebx
cmovge ebx, dword [ecx + 0x160]
cmp dword [ecx + 0x168], ebx
cmovge ebx, dword [ecx + 0x168]
mov ecx, dword [ebp - 0x24]
lea eax, [ecx + 6]
add ecx, 4
cmp ebx, 0x800
mov ebx, dword [ebp - 0x20]
cmovl eax, ecx
mov ecx, dword [ebx + 0x78]
cmp dword [ebx + 0x58], ecx
mov ecx, ebx
mov ebx, dword [ebx + 0x78]
cmovge ebx, dword [ecx + 0x58]
lea ecx, [eax + 2]
cmp ebx, 0x1fff
cmovg eax, ecx
jmp 0x631c6b30
cmp ebx, 0x1b000000
je 0x631c7080
jbe 0x631c7010
cmp ebx, 0x1d000000
je 0x631c7110
cmp ebx, 0x20000000
jne 0x631c6fd0
mov eax, dword [ebp - 0x38]
jmp 0x631c6b30
mov eax, 0xc
cmp ebx, 0x22000000
je 0x631c6b30
cmp ebx, 0x23000000
mov eax, 0
cmove eax, dword [ebp - 0x3c]
jmp 0x631c6b30
mov eax, dword [ebp - 0x34]
test ebx, ebx
je 0x631c6b30
cmp ebx, 0x1000000
jne 0x631c7090
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x60]
mov ebx, dword [eax + 0x28]
cmp dword [eax + 0xf8], ebx
cmovge ebx, dword [eax + 0xf8]
cmp dword [eax + 0x140], ebx
cmovge ebx, dword [eax + 0x140]
cmp dword [eax + 0x30], ebx
cmovge ebx, dword [eax + 0x30]
lea eax, [ecx + 2]
cmp ebx, 0x3fff
cmovle eax, ecx
jmp 0x631c6b30
cmp ebx, 0xd000000
jne 0x631c7090
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov ebx, dword [eax + 0x48]
cmp dword [eax + 0x68], ebx
cmovge ebx, dword [eax + 0x68]
lea eax, [ecx + 4]
add ecx, 2
cmp ebx, 0x8000
cmovl eax, ecx
jmp 0x631c6b30
cmp ebx, 0x1c000000
jne 0x631c7090
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + 0x48]
cmp dword [ecx + 0x58], eax
cmovge eax, dword [ecx + 0x58]
cmp eax, 0x7fff
mov eax, dword [ebp - 0x50]
cmovg eax, dword [ebp - 0x64]
cmp dword [ecx + 0xf8], 0xffff
jle 0x631c6b30
lea esi, [esi]
add eax, 2
jmp 0x631c6b30
cmp ebx, 0x19000000
je 0x631c7130
jbe 0x631c7032
cmp ebx, 0x1a000000
mov eax, 0
cmove eax, dword [ebp - 0x2c]
jmp 0x631c6b30
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x24]
cmp ebx, 0x17000000
je 0x631c6b30
cmp ebx, 0x18000000
jne 0x631c7090
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + 0xc8]
cmp dword [ecx + 0xe0], eax
cmovge eax, dword [ecx + 0xe0]
cmp eax, 0x7fff
setg al
cmp dword [ecx + 0x58], 0xffff
movzx eax, al
lea eax, [eax + eax + 6]
jle 0x631c6b30
jmp 0x631c7008
mov eax, dword [ebp - 0x24]
jmp 0x631c6b30
xor eax, eax
jmp 0x631c6b30
mov eax, dword [ebp - 0x4c]
mov dword [esp + 4], 0x631cc723
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_lstrcmpA]
sub esp, 8
test eax, eax
jne 0x631c7332
mov eax, dword [ebp - 0x44]
add ebx, dword [eax + 0xc]
mov dword [eax + 0x234], ebx
mov esi, dword [ebp - 0x4c]
mov dword [esp], esi
call dword [sym.imp.ucrtbase.dll_strlen]
inc dword [ebp - 0x48]
mov edx, dword [ebp - 0x48]
lea edi, [eax + 4]
mov eax, dword [ebp - 0x44]
and edi, 0xfffffffc
mov eax, dword [eax + 0x18]
add edi, esi
movzx eax, word [eax + 0x15]
cmp edx, eax
jb 0x631c6900
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x44]
xor ebx, ebx
mov dword [eax], edx
jmp 0x631c6c3f
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x48], 0xffff
setg al
movzx eax, al
lea eax, [eax + eax + 6]
jmp 0x631c6b30
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + 0x58]
cmp dword [ecx + 0x78], eax
cmovge eax, dword [ecx + 0x78]
cmp eax, 0x7fff
setg al
cmp dword [ecx + 0x38], 0xffff
movzx eax, al
lea eax, [eax*4 + 6]
jle 0x631c6b30
jmp 0x631c7008
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
lea eax, [eax + ecx + 0xa]
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 0x68], 0xffff
jle 0x631c6b30
jmp 0x631c7008
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
mov ebx, dword [eax + 0x158]
cmp dword [eax + 0x140], ebx
cmovge ebx, dword [eax + 0x140]
lea eax, [ecx + 0xc]
add ecx, 0xa
cmp ebx, 0x4000
cmovl eax, ecx
jmp 0x631c6b30
mov eax, dword [ebp - 0x20]
mov ebx, dword [eax + 0x38]
cmp dword [eax + 0x58], ebx
cmovge ebx, dword [eax + 0x58]
cmp dword [eax + 0x128], ebx
cmovge ebx, dword [eax + 0x128]
mov ecx, dword [ebp - 0x24]
lea eax, [ecx + 6]
add ecx, 4
cmp ebx, 0x4000
cmovl eax, ecx
jmp 0x631c6b30
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x54]
mov ebx, dword [eax + 0x38]
cmp dword [eax + 0x30], ebx
cmovge ebx, dword [eax + 0x30]
cmp dword [eax + 0x100], ebx
cmovge ebx, dword [eax + 0x100]
lea eax, [ecx + 2]
cmp ebx, 0x3fff
cmovle eax, ecx
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 0x48], 0xffff
jle 0x631c7230
add eax, 2
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 0x58], 0xffff
jle 0x631c6b30
jmp 0x631c7008
mov ecx, dword [ebp - 0x20]
xor eax, eax
cmp dword [ecx + 0x38], 0xffff
setg al
cmp dword [ecx + 0xe0], 0xffff
lea eax, [eax + eax + 4]
jle 0x631c6b30
jmp 0x631c7008
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + 0x38]
cmp dword [ecx + 0x30], eax
cmovge eax, dword [ecx + 0x30]
cmp dword [ecx + 0x100], eax
cmovge eax, dword [ecx + 0x100]
cmp eax, 0x3fff
setg al
movzx eax, al
lea eax, [eax + eax + 4]
jmp 0x631c6b30
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x24]
lea eax, [eax + ecx + 4]
jmp 0x631c6b30
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x140], 0xffff
setg al
movzx eax, al
lea eax, [eax + eax + 6]
jmp 0x631c6b30
mov ecx, dword [ebp - 0x20]
xor eax, eax
cmp dword [ecx + 0x38], 0xffff
setg al
cmp dword [ecx + 0xc8], 0xffff
lea eax, [eax + eax + 4]
jle 0x631c6b30
jmp 0x631c7008
mov eax, dword [ebp - 0x20]
mov ebx, dword [eax + 0x68]
cmp dword [eax + 0x48], ebx
cmovge ebx, dword [eax + 0x48]
cmp dword [eax + 0xe0], ebx
cmovge ebx, dword [eax + 0xe0]
jmp 0x631c71da
mov edx, dword [eax + 0x14]
mov eax, edx
sub eax, ecx
add eax, ebx
test edx, edx
cmovne ebx, eax
jmp 0x631c6956
mov eax, dword [ebp - 0x4c]
mov dword [esp + 4], str.Strings
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_lstrcmpA]
sub esp, 8
test eax, eax
je 0x631c70bf
mov eax, dword [ebp - 0x4c]
mov dword [esp + 4], 0x631cc734
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_lstrcmpA]
sub esp, 8
test eax, eax
jne 0x631c7387
mov eax, dword [ebp - 0x44]
add ebx, dword [eax + 0xc]
mov dword [eax + 0x238], ebx
jmp 0x631c70cb
mov ebx, 0x80004005
jmp 0x631c6bee
mov eax, dword [ebp - 0x4c]
mov dword [esp + 4], str.Blob
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_lstrcmpA]
sub esp, 8
test eax, eax
je 0x631c736c
jmp 0x631c70cb
mov ebx, 0x8007000e
jmp 0x631c6c3f