Function at 0x439cb8
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4cba21
mov eax, dword fs:[0]
push eax
sub esp, 0x38
push ebx
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x48]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x20], ebx
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.004738a6
mov eax, dword [ebx + 0x8c]
lea esi, [ebx + 0x90]
mov edi, 0x4ef644
mov dword [esp + 0x1c], esi
test eax, eax
mov ecx, edi
push 0xffffffffffffffff
cmovne ecx, eax
push ecx
lea ecx, [esp + 0x3c]
call fcn.004b9d49
and dword [esp + 0x50], 0
lea eax, [esp + 0x34]
push ecx
push eax
lea ecx, [esi + 4]
call fcn.0043afd1
or dword [esp + 0x50], 0xffffffff
lea ecx, [esp + 0x34]
mov dword [esp + 0x34], vtable.micro::utils::QString.0
call fcn.004b9e50
mov ecx, dword [esi + 0x1c]
test ecx, ecx
je 0x43a407
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], ecx
mov eax, dword [ecx + 0x3c]
add eax, ecx
mov dword [esi + 0x2c], eax
mov dword [esi + 0x30], eax
add eax, 4
mov dword [esi + 0x28], eax
mov eax, ecx
mov ecx, 0x5a4d
cmp word [eax], cx
jne 0x43a407
mov eax, dword [esi + 0x2c]
cmp dword [eax], 0x4550
jne 0x43a407
and dword [esp + 0x30], 0
mov eax, vtable.micro::utils::QString.0
mov dword [esp + 0x2c], eax
mov dword [esp + 0x50], 1
and dword [esp + 0x38], 0
mov dword [esp + 0x34], eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x50], 2
call fcn.004c146a
mov eax, dword [ebx + 0x8c]
mov ecx, edi
test eax, eax
cmovne ecx, eax
cmp dword [esp + 0x38], 0
mov eax, edi
cmovne eax, dword [esp + 0x38]
push ecx
push eax
lea eax, [esp + 0x34]
push eax
call fcn.004ba5ae
and dword [esp + 0x34], 0
add esp, 0xc
mov dword [esp + 0x24], vtable.micro::utils::QString.0
mov byte [esp + 0x50], 3
xor edx, edx
mov eax, dword [ebx + 0xb8]
movzx eax, word [eax]
mov ecx, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
xor eax, eax
mov cx, word [0x50f1c0]
test cx, cx
je 0x439e35
movzx ecx, cx
cmp cx, word [esp + 0x18]
je 0x439e2e
movzx ecx, word [eax*8 + 0x50f1c8]
inc eax
test cx, cx
jne 0x439e17
jmp 0x439e35
mov edx, dword [eax*8 + 0x50f1c4]
mov eax, dword [esp + 0x14]
push edx
movzx eax, ax
push eax
lea eax, [esp + 0x2c]
push str.0x_X___b__s__b__
push eax
call fcn.004ba5ae
add esp, 0x10
mov eax, edi
cmp dword [esp + 0x28], 0
cmovne eax, dword [esp + 0x28]
push eax
push str.Machine:
lea eax, [esp + 0x34]
push eax
call fcn.0043a41e
lea eax, [esp + 0x3c]
mov ecx, esi
push eax
call fcn.0043a559
mov byte [esp + 0x50], 4
mov ecx, edi
cmp dword [eax + 4], 0
cmovne ecx, dword [eax + 4]
lea eax, [esp + 0x2c]
push ecx
push str.Timestamp:
push eax
call fcn.0043a41e
mov byte [esp + 0x50], 3
lea ecx, [esp + 0x3c]
mov dword [esp + 0x3c], vtable.micro::utils::QString.0
call fcn.004b9e50
mov eax, dword [ebx + 0xb8]
movzx eax, word [eax + 0x12]
mov dword [esp + 0x14], eax
movzx eax, ax
push eax
lea eax, [esp + 0x28]
push str.0x_X
push eax
call fcn.004ba5ae
add esp, 0xc
mov eax, edi
cmp dword [esp + 0x28], 0
cmovne eax, dword [esp + 0x28]
push eax
push str.Characteristics:
lea eax, [esp + 0x34]
push eax
call fcn.0043a41e
lea ecx, [esp + 0x24]
call fcn.004b9ea3
mov dx, word [0x50f140]
xor ebx, ebx
mov ecx, dword [esp + 0x14]
inc ebx
push 0x10
pop esi
mov dword [esp + 0x18], 0xffff
mov eax, ebx
and eax, ecx
test ax, ax
je 0x439f69
xor eax, eax
cmp dx, word [esp + 0x18]
je 0x439f69
movzx ecx, dx
cmp cx, bx
je 0x439f3b
movzx ecx, word [eax*8 + 0x50f148]
inc eax
cmp cx, word [esp + 0x18]
jne 0x439f24
jmp 0x439f65
mov eax, dword [eax*8 + 0x50f144]
test eax, eax
je 0x439f65
push eax
lea ecx, [esp + 0x28]
call fcn.004ba7f0
push 0x4e0b74
lea ecx, [esp + 0x28]
call fcn.004ba7f0
mov dx, word [0x50f140]
mov ecx, dword [esp + 0x14]
add ebx, ebx
dec esi
jne 0x439f0f
cmp dword [esp + 0x28], esi
mov eax, edi
cmovne eax, dword [esp + 0x28]
push eax
push str.Details:
lea eax, [esp + 0x34]
push eax
call fcn.0043a41e
mov ecx, dword [esp + 0x20]
mov edx, str.32_bit_PE
mov eax, dword [ecx + 0xbc]
mov ecx, 0x20b
cmp word [eax + 0x18], cx
mov ecx, str.64_bit_PE
sete al
test al, al
lea eax, [esp + 0x2c]
cmove ecx, edx
push ecx
push 0x4e0bb8
push eax
call fcn.0043a41e
mov esi, dword [esp + 0x1c]
mov ecx, 0x20b
push 0x18
pop ebx
mov eax, dword [esi + 0x2c]
cmp word [eax + 0x18], cx
jne 0x439fe2
mov eax, dword [esi + 0x30]
movzx ecx, word [eax + ebx + 0x28]
movzx eax, word [eax + ebx + 0x2a]
jmp 0x439fea
movzx ecx, word [eax + 0x40]
movzx eax, word [eax + 0x42]
movzx ecx, cx
movzx eax, ax
shl ecx, 0x10
or ecx, eax
movzx eax, cx
push eax
shr ecx, 0x10
lea eax, [esp + 0x28]
push ecx
push str._u._02u
push eax
call fcn.004ba5ae
add esp, 0x10
mov eax, edi
cmp dword [esp + 0x28], 0
cmovne eax, dword [esp + 0x28]
push eax
push str.Required_OS_ver:
lea eax, [esp + 0x34]
push eax
call fcn.0043a41e
mov eax, dword [esi + 0x2c]
mov ecx, 0x20b
cmp word [eax + 0x18], cx
jne 0x43a048
mov eax, dword [esi + 0x30]
movzx ecx, word [eax + ebx + 0x2c]
movzx eax, word [eax + ebx + 0x2e]
jmp 0x43a050
movzx ecx, word [eax + 0x44]
movzx eax, word [eax + 0x46]
movzx ecx, cx
movzx eax, ax
shl ecx, 0x10
or ecx, eax
movzx eax, cx
push eax
shr ecx, 0x10
lea eax, [esp + 0x28]
push ecx
push str._u._02u
push eax
call fcn.004ba5ae
add esp, 0x10
mov eax, edi
cmp dword [esp + 0x28], 0
cmovne eax, dword [esp + 0x28]
push eax
push str.Image_ver:
lea eax, [esp + 0x34]
push eax
call fcn.0043a41e
mov eax, dword [esi + 0x2c]
mov ecx, 0x20b
cmp word [eax + 0x18], cx
jne 0x43a0ae
mov eax, dword [esi + 0x30]
movzx ecx, word [eax + ebx + 0x30]
movzx eax, word [eax + ebx + 0x32]
jmp 0x43a0b6
movzx ecx, word [eax + 0x48]
movzx eax, word [eax + 0x4a]
movzx ecx, cx
movzx eax, ax
shl ecx, 0x10
or ecx, eax
movzx eax, cx
push eax
shr ecx, 0x10
lea eax, [esp + 0x28]
push ecx
push str._u._02u
push eax
call fcn.004ba5ae
add esp, 0x10
mov eax, edi
cmp dword [esp + 0x28], 0
cmovne eax, dword [esp + 0x28]
push eax
push str.Subsystem_version:
lea eax, [esp + 0x34]
push eax
call fcn.0043a41e
mov eax, dword [esi + 0x2c]
mov ecx, 0x20b
cmp word [eax + 0x18], cx
jne 0x43a10e
mov eax, dword [esi + 0x30]
mov eax, dword [eax + ebx + 0x40]
jmp 0x43a111
mov eax, dword [eax + 0x58]
push eax
lea eax, [esp + 0x28]
push 0x4e0c38
push eax
call fcn.004ba5ae
add esp, 0xc
mov eax, edi
cmp dword [esp + 0x28], 0
cmovne eax, dword [esp + 0x28]
push eax
push str.Checksum:
lea eax, [esp + 0x34]
push eax
call fcn.0043a41e
mov eax, dword [esi + 0x2c]
mov ecx, 0x20b
cmp word [eax + 0x18], cx
jne 0x43a158
mov eax, dword [esi + 0x30]
movzx edx, word [eax + ebx + 0x44]
jmp 0x43a15c
movzx edx, word [eax + 0x5c]
mov eax, dword [esi + 0x2c]
mov ebx, 0x20b
xor ecx, ecx
push 0x18
cmp word [eax + 0x18], bx
pop ebx
jne 0x43a179
mov eax, dword [esi + 0x30]
movzx eax, word [eax + ebx + 0x44]
jmp 0x43a17d
movzx eax, word [eax + 0x5c]
cmp ax, 0x11
jae 0x43a18d
movzx eax, ax
mov ecx, dword [eax*4 + 0x4d5318]
push ecx
movzx eax, dx
push eax
lea eax, [esp + 0x2c]
push str._u___s_
push eax
call fcn.004ba5ae
add esp, 0x10
mov eax, edi
cmp dword [esp + 0x28], 0
cmovne eax, dword [esp + 0x28]
push eax
push str.Subsystem:
lea eax, [esp + 0x34]
push eax
call fcn.0043a41e
mov eax, dword [esi + 0x2c]
mov ecx, 0x20b
cmp word [eax + 0x18], cx
jne 0x43a1d8
mov eax, dword [esi + 0x30]
movzx eax, word [eax + ebx + 0x46]
jmp 0x43a1dc
movzx eax, word [eax + 0x5e]
mov dword [esp + 0x14], eax
movzx eax, ax
push eax
lea eax, [esp + 0x28]
push str._0x_X
push eax
call fcn.004ba5ae
add esp, 0xc
mov eax, edi
cmp dword [esp + 0x28], 0
cmovne eax, dword [esp + 0x28]
push eax
push str.Dll_characteristics:
lea eax, [esp + 0x34]
push eax
call fcn.0043a41e
lea ecx, [esp + 0x24]
call fcn.004b9ea3
mov dx, word [0x50f0f0]
xor ebx, ebx
mov esi, dword [esp + 0x14]
inc ebx
push 0x10
pop edi
mov eax, esi
and eax, ebx
test ax, ax
je 0x43a27e
mov ecx, 0xffff
xor eax, eax
cmp dx, cx
je 0x43a259
movzx ecx, dx
cmp cx, bx
je 0x43a2c3
movzx ecx, word [eax*8 + 0x50f0f8]
inc eax
cmp cx, word [esp + 0x18]
jne 0x43a244
xor eax, eax
test eax, eax
je 0x43a27e
push eax
lea ecx, [esp + 0x28]
call fcn.004ba7f0
push 0x4e0b74
lea ecx, [esp + 0x28]
call fcn.004ba7f0
mov dx, word [0x50f0f0]
add ebx, ebx
dec edi
jne 0x43a22c
cmp dword [esp + 0x28], 0
mov edi, 0x4ef644
mov eax, edi
cmovne eax, dword [esp + 0x28]
push eax
push str.Details:
lea eax, [esp + 0x34]
push eax
call fcn.0043a41e
mov esi, dword [esp + 0x1c]
mov eax, 0x20b
mov ecx, dword [esi + 0x2c]
mov edx, dword [esi + 0x20]
cmp word [ecx + 0x18], ax
jne 0x43a2cc
mov ecx, dword [esi + 0x30]
call fcn.0043ae83
jmp 0x43a2d1
mov eax, dword [eax*8 + 0x50f0f4]
jmp 0x43a25b
call fcn.0043aef9
mov cl, al
mov edx, 0x4e0cbc
test cl, cl
mov eax, 0x4e0cb4
cmove eax, edx
push eax
push str.Debug_info:
lea eax, [esp + 0x34]
push eax
call fcn.0043a41e
mov ecx, esi
call fcn.0043a584
push eax
lea eax, [esp + 0x28]
push 0x4ddd5c
push eax
call fcn.004ba5ae
add esp, 0xc
mov eax, edi
cmp dword [esp + 0x28], 0
cmovne eax, dword [esp + 0x28]
push eax
push str.Certificates:
lea eax, [esp + 0x34]
push eax
call fcn.0043a41e
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.0043a5a4
test al, al
je 0x43a354
cmp dword [esp + 0x28], 0
mov eax, edi
cmovne eax, dword [esp + 0x28]
push eax
push str.Import
lea eax, [esp + 0x34]
push eax
call fcn.0043a41e
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.0043a945
test al, al
je 0x43a380
cmp dword [esp + 0x28], 0
mov eax, edi
cmovne eax, dword [esp + 0x28]
push eax
push str.Export
lea eax, [esp + 0x34]
push eax
call fcn.0043a41e
push str.__table_
lea ecx, [esp + 0x30]
call fcn.004ba7f0
push str.__body_
lea ecx, [esp + 0x30]
call fcn.004ba7f0
push str.__html_
lea ecx, [esp + 0x30]
call fcn.004ba7f0
mov ebx, dword [esp + 0x20]
lea ecx, [ebx + 0x10]
call fcn.004c295c
cmp dword [esp + 0x30], 0
mov ecx, ebx
cmovne edi, dword [esp + 0x30]
push edi
call fcn.004c2d2c
mov byte [esp + 0x50], 2
lea ecx, [esp + 0x24]
mov ebx, vtable.micro::utils::QString.0
mov dword [esp + 0x24], ebx
call fcn.004b9e50
mov byte [esp + 0x50], 1
lea ecx, [esp + 0x34]
mov dword [esp + 0x34], ebx
call fcn.004b9e50
or dword [esp + 0x50], 0xffffffff
lea ecx, [esp + 0x2c]
mov dword [esp + 0x2c], ebx
call fcn.004b9e50
mov al, 1
jmp 0x43a409
xor al, al
mov ecx, dword [esp + 0x48]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc