Function at 0x401c70
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xfc
mov eax, 0xb92
mov word [ebp - 0x44], ax
movzx ecx, word [ebp - 0x44]
mov dword [ebp - 0xe8], ecx
cmp dword [ebp - 0xe8], 0x6b4
je 0x401c9d
jmp 0x401d97
movzx edx, word [ebp - 0x44]
cmp edx, 0xd13
jge 0x401d68
movzx eax, word [ebp - 0x44]
sub eax, 0xbbe
mov word [ebp - 0x44], ax
movzx ecx, word [ebp - 0x44]
and ecx, 0xce6
mov word [ebp - 0x44], cx
mov dword [ebp + 0x10], 0xe63a
lea edx, [ebp - 0xc0]
push edx
mov eax, dword [ebp - 0xbc]
push eax
lea ecx, [ebp - 0xd4]
push ecx
lea edx, [ebp - 0x98]
push edx
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xd4]
push ecx
push str.C:legroomAnthropoidEnglishopened
push 0x28
call sub.VERSION.dll_VerFindFileA
mov dword [ebp - 0xc0], eax
mov edx, dword [ebp - 0xc0]
push edx
movzx eax, byte [0x56f204]
push eax
call fcn.00566370
add esp, 8
mov ecx, dword [ebp - 0xc0]
mov dword [ebp + 0x10], ecx
lea edx, [ebp - 0x98]
push edx
mov eax, dword [ebp - 0x20]
push eax
lea ecx, [ebp - 0xd4]
push ecx
lea edx, [ebp - 0x74]
push edx
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0xd4]
push ecx
push str.C:_tugsditty_redefines
push 6
call sub.VERSION.dll_VerFindFileA
mov dword [ebp - 0xd8], eax
movzx edx, word [ebp - 0x44]
sar edx, 7
mov word [ebp - 0x44], dx
jmp 0x401d95
movzx eax, word [ebp - 0x44]
add eax, 0x90d
cmp eax, 0xdd7
jl 0x401d95
movzx ecx, byte [0x56f204]
push ecx
movzx edx, byte [0x56f204]
push edx
movzx eax, byte [0x56f204]
push eax
call fcn.005668b0
jmp 0x401e05
mov edx, dword [ebp - 0xc0]
mov ecx, dword [ebp + 0x10]
shl edx, cl
cmp edx, dword [ebp - 0xd8]
jb 0x401dcc
mov al, byte [0x56f204]
mov byte [ebp - 0xc1], al
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0x78], ecx
mov dx, word [ebp + 8]
mov word [ebp - 0x1c], dx
mov byte [ebp - 0x35], 0x49
jmp 0x401e05
movsx eax, byte [0x56f204]
cmp eax, 3
jle 0x401e05
movsx ecx, byte [0x56f204]
or ecx, 0xd
mov byte [ebp - 0xc1], cl
lea edx, [ebp - 0x44]
push edx
push 0x88
push 0x53
mov eax, dword [ebp - 0xbc]
push eax
call sub.VERSION.dll_GetFileVersionInfoA
mov dword [ebp - 0xa4], eax
movzx ecx, word [ebp - 0x44]
cmp ecx, 0xf4d
jge 0x401e2d
lea edx, [ebp + 0x10]
mov dword [ebp - 0xe4], edx
mov dword [ebp - 0xdc], 0x3c0
mov al, byte [ebp - 0x35]
mov byte [ebp - 0x9d], al
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0xec], ecx
cmp dword [ebp - 0xec], 0x39ab
je 0x401e47
jmp 0x401efb
movsx edx, word [ebp + 0xc]
movsx eax, word [ebp - 0x1c]
sub edx, eax
movsx ecx, word [ebp + 8]
cmp edx, ecx
je 0x401e97
mov dx, word [ebp + 8]
mov word [ebp + 0xc], dx
movsx eax, word [ebp + 8]
movsx ecx, word [ebp + 0xc]
and eax, ecx
mov word [ebp - 0x1c], ax
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx]
sub eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x78]
mov dword [ecx], eax
call fcn.00401740
movzx edx, byte [ebp - 0x9d]
add edx, 0x94
mov byte [ebp - 0x35], dl
movzx eax, word [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0xd8]
push ecx
mov edx, dword [ebp - 0x78]
mov eax, dword [edx]
push eax
mov dl, byte [ebp - 0xc1]
mov cl, byte [ebp - 0x35]
call fcn.005663b0
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x78]
mov dword [ecx], eax
push 0xfb
lea edx, [ebp - 0xd0]
push edx
push fcn.00566370
mov eax, dword [ebp - 0xd0]
push eax
call sub.COMCTL32.dll_SetWindowSubclass
mov dword [ebp - 0x14], eax
jmp 0x4022c6
lea ecx, [ebp + 0x10]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xc0]
add edx, dword [ecx]
mov eax, dword [ebp - 0x78]
mov dword [eax], edx
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], ecx
mov dl, byte [ebp - 0x9d]
mov byte [ebp - 0xf0], dl
cmp byte [ebp - 0xf0], 0x49
je 0x401f55
cmp byte [ebp - 0xf0], 0xa9
je 0x401fbe
jmp 0x402066
mov al, byte [ebp - 0x9d]
mov byte [ebp - 0xd], al
movsx ecx, byte [ebp - 0xc1]
sub ecx, 0x3d
movsx edx, byte [0x56f204]
cmp ecx, edx
jle 0x401fb9
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0xc1]
push ecx
mov edx, dword [ebp - 0xbc]
push edx
lea eax, [ebp - 0xc1]
push eax
call sub.VERSION.dll_VerQueryValueA
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xd8]
shr edx, cl
mov eax, dword [ebp - 0xe4]
mov dword [eax], edx
mov ecx, dword [ebp - 0xa8]
xor ecx, dword [ebp - 0x18]
mov dword [ebp - 0xe0], ecx
jmp 0x402066
movzx edx, byte [ebp - 0xc1]
push edx
movzx eax, byte [ebp - 0xc1]
push eax
movzx ecx, byte [ebp - 0xc1]
push ecx
call fcn.005668b0
mov edx, dword [ebp - 0xd8]
or edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x78]
mov dword [eax], edx
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ecx]
shl edx, cl
mov eax, dword [ebp - 0xc0]
and eax, dword [ebp + 0x10]
cmp edx, eax
jb 0x402023
push 0x7a
lea ecx, [ebp - 0x30]
push ecx
push fcn.005663b0
mov edx, dword [ebp - 0x30]
push edx
call sub.COMCTL32.dll_SetWindowSubclass
mov dword [ebp - 0xc8], eax
mov al, byte [ebp - 0x9d]
mov byte [ebp - 0xf4], al
cmp byte [ebp - 0xf4], 0xb
je 0x402043
cmp byte [ebp - 0xf4], 0xce
je 0x402054
jmp 0x402066
mov ecx, dword [ebp - 0xa8]
push ecx
call fcn.004016d0
add esp, 4
jmp 0x402066
mov edx, dword [ebp - 0xa8]
sub edx, dword [ebp - 0xe0]
mov dword [ebp - 0xdc], edx
lea eax, [ebp - 0xa8]
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x35]
mov dword [ebp - 0xb0], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [edx]
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0xf8], 0x3cb6
je 0x402091
jmp 0x4020bc
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.004016d0
add esp, 4
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x78]
add eax, dword [ecx]
mov edx, dword [ebp - 8]
mov dword [edx], eax
mov ax, word [ebp - 0x1c]
mov word [ebp + 8], ax
jmp 0x4020e2
lea ecx, [ebp - 0xc1]
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0x78]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xe4]
add eax, dword [ecx]
mov edx, dword [ebp - 8]
mov dword [edx], eax
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax]
mov dword [ebp - 0xc], ecx
mov dx, word [ebp - 0x44]
mov word [ebp - 0x9c], dx
mov eax, dword [ebp - 0xb0]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x35]
sub ecx, edx
mov byte [ebp - 0x9d], cl
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xac], eax
lea ecx, [ebp - 0x18]
mov dword [ebp - 4], ecx
movsx edx, word [ebp + 8]
mov dword [ebp - 0xfc], edx
cmp dword [ebp - 0xfc], 0
je 0x40212c
jmp 0x40223c
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax]
and ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx]
add eax, dword [ebp - 0xc0]
cmp ecx, eax
ja 0x402209
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x18]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax]
or ecx, dword [ebp - 0xa8]
cmp edx, ecx
jg 0x4021b9
movzx edx, byte [ebp - 0x9d]
mov eax, dword [ebp - 0xb0]
movzx ecx, byte [eax]
shl edx, cl
movzx eax, byte [ebp - 0x35]
movzx ecx, byte [ebp - 0xd]
sar eax, cl
cmp edx, eax
jg 0x4021aa
mov ecx, dword [ebp - 0xdc]
imul ecx, dword [ebp - 0xa8]
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp - 0x78]
mov eax, dword [edx]
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0xd]
mov dword [ebp - 0x34], ecx
jmp 0x4021b7
mov edx, dword [ebp - 0x28]
push edx
call dword [sym.imp.COMCTL32.dll_MakeDragList]
mov dword [ebp - 0x14], eax
jmp 0x402207
mov eax, dword [ebp - 0xcc]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0xc1]
xor ecx, edx
movsx eax, byte [0x56f204]
cmp ecx, eax
jge 0x402207
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0xa8]
sub edx, dword [ecx]
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 0xc0]
push ecx
movzx edx, word [ebp + 0xc]
push edx
movzx eax, word [ebp - 0x1c]
push eax
call fcn.00401c70
add esp, 0xc
mov cx, word [ebp - 0x1c]
mov word [ebp + 8], cx
jmp 0x402237
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xc0]
add eax, dword [edx]
cmp ecx, eax
jae 0x402237
mov ecx, dword [ebp - 0xdc]
add ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xc], ecx
jmp 0x4022c6
movzx edx, byte [ebp - 0xd]
movzx eax, byte [ebp - 0x35]
add edx, eax
mov ecx, dword [ebp - 0xb0]
movzx eax, byte [ecx]
movzx ecx, byte [ebp - 0x9d]
sub eax, ecx
cmp edx, eax
je 0x402290
push 1
mov edx, dword [ebp - 0xb4]
push edx
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
call dword [sym.imp.COMCTL32.dll_LBItemFromPt]
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0xd8]
add edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xac]
mov dword [eax], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x40]
mov eax, dword [ecx]
and eax, dword [edx]
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0xc]
sub ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x40]
mov dword [edx], ecx
mov eax, dword [ebp - 0xcc]
movsx ecx, byte [eax]
movsx edx, byte [0x56f204]
sub ecx, edx
mov byte [ebp - 0xc1], cl
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [eax]
xor edx, dword [ecx]
mov eax, dword [ebp - 0x78]
mov dword [eax], edx
movsx eax, byte [0x56f204]
mov esp, ebp
pop ebp
ret