Function at 0x59d8f0
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x430
mov eax, dword [0x7b7fc0]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x428], ecx
cmp dword [ebp + 8], 2
jb 0x59d916
xor eax, eax
jmp 0x59dd36
mov eax, dword [0x805ea4]
mov dword [ebp - 0x410], eax
mov ecx, dword [0x807bd8]
cmp ecx, dword [ebp - 0x410]
jne 0x59d93e
mov edx, dword [ebp + 8]
mov eax, dword [edx*4 + 0x805f58]
jmp 0x59dd36
mov eax, dword [ebp - 0x410]
mov dword [0x807bd8], eax
mov ecx, dword [ebp - 0x410]
and ecx, 0xffff
mov dword [ebp - 0x42c], ecx
movzx edx, byte [0x805e9a]
test edx, edx
je 0x59d9b2
mov eax, dword [0x805ea4]
and eax, 0xffff
movzx ecx, ax
cmp ecx, 0x404
jne 0x59d9b2
mov edx, 4
imul eax, edx, 0
mov dword [eax + 0x805f58], 0x7000404
mov ecx, 4
shl ecx, 0
mov dword [ecx + 0x805f58], 0
mov edx, 4
imul eax, edx, 0
mov eax, dword [eax + 0x805f58]
jmp 0x59dd36
cmp dword [0x805ea4], 0xe0080404
je 0x59da19
cmp dword [0x805ea4], 0xe0090404
je 0x59da19
cmp dword [0x805ea4], 0xe00a0404
je 0x59da19
cmp dword [0x805ea4], 0xe00b0404
je 0x59da19
cmp dword [0x805ea4], 0xe00e0804
je 0x59da19
mov ecx, 4
shl ecx, 0
mov dword [ecx + 0x805f58], 0
mov edx, 4
imul eax, edx, 0
mov dword [eax + 0x805f58], 0
xor eax, eax
jmp 0x59dd36
push 0x3ff
lea ecx, [ebp - 0x404]
push ecx
mov edx, dword [0x805ea4]
push edx
call sub.IMM32.dll_ImmGetIMEFileNameA
test eax, eax
jne 0x59da60
mov eax, 4
shl eax, 0
mov dword [eax + 0x805f58], 0
mov ecx, 4
imul edx, ecx, 0
mov dword [edx + 0x805f58], 0
xor eax, eax
jmp 0x59dd36
cmp dword [0x805e90], 0
jne 0x59db4a
push 0xffffffffffffffff
push str.TINTLGNT.IME
push 0xffffffffffffffff
lea eax, [ebp - 0x404]
push eax
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringA]
cmp eax, 2
je 0x59db4a
push 0xffffffffffffffff
push str.CINTLGNT.IME
push 0xffffffffffffffff
lea ecx, [ebp - 0x404]
push ecx
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringA]
cmp eax, 2
je 0x59db4a
push 0xffffffffffffffff
push str.MSTCIPHA.IME
push 0xffffffffffffffff
lea edx, [ebp - 0x404]
push edx
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringA]
cmp eax, 2
je 0x59db4a
push 0xffffffffffffffff
push str.PINTLGNT.IME
push 0xffffffffffffffff
lea eax, [ebp - 0x404]
push eax
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringA]
cmp eax, 2
je 0x59db4a
push 0xffffffffffffffff
push str.MSSCIPYA.IME
push 0xffffffffffffffff
lea ecx, [ebp - 0x404]
push ecx
push 1
push 0x409
call dword [sym.imp.KERNEL32.dll_CompareStringA]
cmp eax, 2
je 0x59db4a
mov edx, 4
shl edx, 0
mov dword [edx + 0x805f58], 0
mov eax, 4
imul ecx, eax, 0
mov dword [ecx + 0x805f58], 0
xor eax, eax
jmp 0x59dd36
lea edx, [ebp - 0x424]
push edx
lea eax, [ebp - 0x404]
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov dword [ebp - 0x414], eax
mov ecx, dword [0x805ea4]
and ecx, 0xffff
mov word [ebp - 0x40c], cx
cmp dword [ebp - 0x414], 0
je 0x59dd04
mov eax, dword [ebp - 0x414]
call fcn.0065de50
mov dword [ebp - 0x420], esp
mov edx, dword [ebp - 0x420]
mov dword [ebp - 0x418], edx
mov eax, dword [ebp - 0x418]
push eax
mov ecx, dword [ebp - 0x414]
push ecx
mov edx, dword [ebp - 0x424]
push edx
lea eax, [ebp - 0x404]
push eax
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x59dd04
lea ecx, [ebp - 0x430]
push ecx
lea edx, [ebp - 0x41c]
push edx
push 0x73e82c
mov eax, dword [ebp - 0x418]
push eax
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x59dd04
mov ecx, dword [ebp - 0x41c]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x408], edx
mov eax, dword [ebp - 0x408]
and eax, 0xff0000
shl eax, 8
mov ecx, dword [ebp - 0x408]
and ecx, 0xff
shl ecx, 0x10
or eax, ecx
mov dword [ebp - 0x408], eax
cmp dword [0x805e90], 0
jne 0x59dcc6
movzx edx, word [ebp - 0x40c]
cmp edx, 0x404
jne 0x59dc94
cmp dword [ebp - 0x408], 0x4020000
je 0x59dcc6
cmp dword [ebp - 0x408], 0x4030000
je 0x59dcc6
cmp dword [ebp - 0x408], 0x4040000
je 0x59dcc6
cmp dword [ebp - 0x408], 0x5000000
je 0x59dcc6
cmp dword [ebp - 0x408], 0x5010000
je 0x59dcc6
cmp dword [ebp - 0x408], 0x5020000
je 0x59dcc6
cmp dword [ebp - 0x408], 0x6000000
je 0x59dcc6
movzx eax, word [ebp - 0x40c]
cmp eax, 0x804
jne 0x59dd04
cmp dword [ebp - 0x408], 0x4010000
je 0x59dcc6
cmp dword [ebp - 0x408], 0x4020000
je 0x59dcc6
cmp dword [ebp - 0x408], 0x5030000
jne 0x59dd04
movzx ecx, word [ebp - 0x40c]
or ecx, dword [ebp - 0x408]
mov edx, 4
imul eax, edx, 0
mov dword [eax + 0x805f58], ecx
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 0x41c]
mov eax, dword [edx + 0xc]
mov dword [ecx + 0x805f58], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx*4 + 0x805f58]
jmp 0x59dd36
mov edx, 4
shl edx, 0
mov dword [edx + 0x805f58], 0
mov eax, 4
imul ecx, eax, 0
mov dword [ecx + 0x805f58], 0
mov edx, 4
imul eax, edx, 0
mov eax, dword [eax + 0x805f58]
lea esp, [ebp - 0x430]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0065d40e
mov esp, ebp
pop ebp
ret 4